-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGame.py
109 lines (85 loc) · 4.52 KB
/
Game.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import pyglet
from pyglet.window import key
from Ground import Ground
from Character import Character
from Character import sprite_type
import time
class Game(pyglet.window.Window):
def __init__(self, path, window_width, window_height):
self.w = False
self.a = False
self.s = False
self.d = False
self.space = False
self.dist = 10
self.path = path
self.grass =pyglet.image.load(self.path+'grass.png')
self.background = pyglet.image.load(self.path+'Green_Hill_Zone.png')
pyglet.window.Window.__init__(self, width = window_width, height = window_height)
self.ground, self.x_min, self.y_min = Ground(self.path + 'ground2.png',
sprite_width=50,
sprite_height=50,
window_width=500,
window_height=500).generate_ground()
self.x = 0
self.y = self.y_min
self.Player = Character(sprite_type(), self.x, self.y)
self.Player.update(self.x, self.y)
self.Player.scale = 0.5
self.schedule = pyglet.clock.schedule_interval(func = self.move, interval = 0.01/60.)
def on_draw(self):
self.clear()
self.background.blit(0,0)
self.Player.draw()
self.ground.blit(0,0)
self.grass.blit(0,self.y_min-50)
def on_key_press(self, symbol, modifiers):
if symbol == key.SPACE:
self.space = True
self.Player.update(self.x, self.y)
self.Player = Character(sprite_type(self.path, 'jumping_'+self.Player.get_orientation()),
self.x, self.y)
pyglet.clock.unschedule(self.jump)
pyglet.clock.schedule_interval(func = self.jump, interval = 0.001/60)
self.Player.update(self.x, self.y)
self.Player.scale = 0.3
elif symbol == key.A:
self.a = True
self.Player = Character(sprite_type(self.path, 'running_left'), self.x, self.y)
self.Player.update(self.x, self.y)
self.Player.scale = 0.4
elif symbol == key.D:
self.d = True
self.Player = Character(sprite_type(self.path, 'running_right'), self.x, self.y)
self.Player.update(self.x, self.y)
self.Player.scale = 0.4
def on_key_release(self, symbol, modifiers):
if symbol == key.SPACE:
self.Player = Character(sprite_type(self.path, 'jumping_'+self.Player.get_orientation()), self.x, self.y)
self.Player.scale = 0.3
self.Player.update(self.x, self.y)
elif symbol == key.A:
self.Player = Character(sprite_type(self.path, 'standing_left'), self.x, self.y)
self.Player.update(self.x, self.y)
self.Player.scale = 0.5
self.a = False
elif symbol == key.D:
self.d = False
self.Player = Character(sprite_type(self.path, 'standing_right'), self.x, self.y)
self.Player.update(self.x, self.y)
self.Player.scale = 0.5
def move(self, dt):
if self.a == True:
self.x -= self.dist
self.Player.x -= self.dist
elif self.d:
self.x += self.dist
self.Player.x += self.dist
elif self.space:
self.y += 400
self.Player.y += 400
self.space = False
def jump(self, dt):
if self.Player.y > self.y_min:
self.Player.y -=20
self.y-=20