Add individual movement
This commit is contained in:
parent
0472d8ea59
commit
de85e5cbea
@ -19,16 +19,60 @@ screen = pygame.display.set_mode((screen_width,screen_height))
|
|||||||
pygame.display.set_caption('monster-masher-clone')
|
pygame.display.set_caption('monster-masher-clone')
|
||||||
|
|
||||||
class Player:
|
class Player:
|
||||||
def __init__(self, x, y, color):
|
def __init__(self, x, y, color, keys):
|
||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
self.color = color
|
self.color = color
|
||||||
|
self.keys = keys
|
||||||
self.sprite = pygame.Rect((tile*x)+2,(tile*y)+2,tile-2,tile-2)
|
self.sprite = pygame.Rect((tile*x)+2,(tile*y)+2,tile-2,tile-2)
|
||||||
|
|
||||||
|
def move(self, x, y):
|
||||||
|
self.x += x
|
||||||
|
self.y += y
|
||||||
|
|
||||||
|
def keyPress(self, key):
|
||||||
|
try:
|
||||||
|
command = self.keys[key]
|
||||||
|
if command == "n":
|
||||||
|
self.move(0,-1)
|
||||||
|
if command == "ne":
|
||||||
|
self.move(1,-1)
|
||||||
|
if command == "e":
|
||||||
|
self.move(1,0)
|
||||||
|
if command == "se":
|
||||||
|
self.move(1,1)
|
||||||
|
if command == "s":
|
||||||
|
self.move(0,1)
|
||||||
|
if command == "sw":
|
||||||
|
self.move(-1,1)
|
||||||
|
if command == "w":
|
||||||
|
self.move(-1,0)
|
||||||
|
if command == "nw":
|
||||||
|
self.move(-1,-1)
|
||||||
|
finally:
|
||||||
|
return True
|
||||||
|
|
||||||
players = []
|
players = []
|
||||||
players.append(Player(25, 20, red))
|
players.append(Player(25, 20, red, {
|
||||||
players.append(Player(20, 15, blue))
|
pygame.K_w: "n",
|
||||||
players.append(Player(30, 15, green))
|
pygame.K_e: "ne",
|
||||||
|
pygame.K_d: "e",
|
||||||
|
pygame.K_c: "se",
|
||||||
|
pygame.K_x: "s",
|
||||||
|
pygame.K_z: "sw",
|
||||||
|
pygame.K_a: "w",
|
||||||
|
pygame.K_q: "nw"
|
||||||
|
}))
|
||||||
|
players.append(Player(25, 20, green, {
|
||||||
|
pygame.K_KP_8: "n",
|
||||||
|
pygame.K_KP_9: "ne",
|
||||||
|
pygame.K_KP_6: "e",
|
||||||
|
pygame.K_KP_3: "se",
|
||||||
|
pygame.K_KP_2: "s",
|
||||||
|
pygame.K_KP_1: "sw",
|
||||||
|
pygame.K_KP_4: "w",
|
||||||
|
pygame.K_KP_7: "nw"
|
||||||
|
}))
|
||||||
|
|
||||||
game_font = pygame.font.Font("freesansbold.ttf",32)
|
game_font = pygame.font.Font("freesansbold.ttf",32)
|
||||||
|
|
||||||
@ -42,16 +86,11 @@ while True:
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
if event.type == pygame.KEYDOWN:
|
if event.type == pygame.KEYDOWN:
|
||||||
|
print(event)
|
||||||
for player in players:
|
for player in players:
|
||||||
if event.key == pygame.K_s:
|
player.keyPress(event.key)
|
||||||
player.y += 1
|
|
||||||
if event.key == pygame.K_w:
|
|
||||||
player.y -= 1
|
|
||||||
if event.key == pygame.K_a:
|
|
||||||
player.x -= 1
|
|
||||||
if event.key == pygame.K_d:
|
|
||||||
player.x += 1
|
|
||||||
|
|
||||||
|
keys = pygame.key.get_pressed()
|
||||||
# Rendering
|
# Rendering
|
||||||
screen.fill(bg_color)
|
screen.fill(bg_color)
|
||||||
for player in players:
|
for player in players:
|
||||||
|
Loading…
Reference in New Issue
Block a user