-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame.py
66 lines (56 loc) · 2.19 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
from character import Character
import levelparser, mapobject, pygame, sys, character
from pygame.locals import *
def mouse():
pos = pygame.mouse.get_pos()
cords = pos[0] - (pos[0]-8) % 16, pos[1] - (pos[1]-8) % 16
return cords
def mousetocords():
pos = mouse()
pos = int(pos[0] / 16), int(pos[1] / 16)
return pos
size = width, height = 800, 800
level = levelparser.Level('level.map', size, (16, 16))
mapp = level.mapobj()
mappdic = {}
for m in mapp:
mappdic[m.get_cords()] = m
red = pygame.image.load('red.png').convert_alpha()
charsprite = pygame.image.load('chara16.png').convert_alpha()
char = character.Character('Pej', 'Pej', (26,26), 'backpackobject', level.get_gsize(), level.get_screen(), charsprite)
screen = level.get_screen()
clock = pygame.time.Clock()
while 1:
clock.tick(150)
for event in pygame.event.get():
if event.type == pygame.QUIT: sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN:
print('boom', char.get_AbsoluteCordOfMouse())
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
sys.exit()
elif event.key == pygame.K_w:
if not mappdic[char.get_fcords((0, -1))].is_block():
char.changecord((0, -1))
char.rotate(0)
elif event.key == pygame.K_a:
if not mappdic[char.get_fcords((-1, 0))].is_block():
char.changecord((-1, 0))
char.rotate(3)
elif event.key == pygame.K_d:
if not mappdic[char.get_fcords((1, 0))].is_block():
char.changecord((1, 0))
char.rotate(1)
elif event.key == pygame.K_s:
if not mappdic[char.get_fcords((0, 1))].is_block():
char.changecord((0, 1))
char.rotate(2)
screen.fill((0, 0, 0))
for obj in mapp:
tempcords = obj.get_cords()
temptuple = char.poscalc(tempcords)
tempsprite = obj.get_sprite()
screen.blit(tempsprite, (temptuple[0], temptuple[1]))
screen.blit(char.get_sprite(), char.chposcalc())
screen.blit(red, mouse())
pygame.display.flip()