j'ai créé un jeu avec Pygame, mais je n'arrive pas a récupérer mes objets dans le jeu
je vois pas comment ne plus les afficher une fois que je suis passé dessus après je ne sais combien de tentative de code ....
pour ceux qui ne veulent pas tous lire les lignes les plus importante sont de la ligne 40 a 51 et 100 a 102
les lignes 110 a 112 c'est ma dernière tentative
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
110
111
112
113
114
115
116
117
118 # -*-coding:Utf-8 -* import os from map import * from image import * import pygame from pygame.locals import * import random pygame.init() window = pygame.display.set_mode((sizeWindow, sizeWindow), RESIZABLE) floor = pygame.image.load(image_floor) window.blit(floor, (0, 0)) pygame.display.flip() pygame.event.pump() myMap = Map() myMap.chooseMap() myMap.readMap() proceed = 6 enter = pygame.image.load(image_start).convert_alpha() wall = pygame.image.load(image_wall).convert_alpha() guardian = pygame.image.load(image_guardian).convert_alpha() macGyver = pygame.image.load(image_macGyver).convert_alpha() macGyver = pygame.transform.scale(macGyver, (30, 30)) position_macGyver = macGyver.get_rect() start = myMap.start_position position_macGyver.x = start[0].x position_macGyver.y = start[0].y window.blit(macGyver, position_macGyver) oldPosition = position_macGyver position_object = myMap.position_object randomobject = random.choice(position_object) myListObject = [] myListPosition = [] for h in object1: objectA = pygame.image.load(h).convert_alpha() myListObject.append(objectA) randomPosition = random.choice(position_object) myListPosition.append(randomPosition) while proceed != 0: pygame.time.Clock().tick(30) for event in pygame.event.get(): if event.type == QUIT: proceed = 0 if event.type == KEYDOWN and event.key == K_ESCAPE: proceed = 0 if not position_macGyver.collidelistall(myMap.list_position_wall): if event.type == KEYDOWN: oldPosition = position_macGyver if event.key == K_DOWN: position_macGyver = position_macGyver.move(0, 15) if event.key == K_UP: position_macGyver = position_macGyver.move(0, -15) if event.key == K_RIGHT: position_macGyver = position_macGyver.move(15, 0) if event.key == K_LEFT: position_macGyver = position_macGyver.move(-15, 0) else: position_macGyver = oldPosition window.blit(floor, (0, 0)) for position_wall in myMap.list_position_wall: window.blit(wall, position_wall) for start_position in myMap.start_position: window.blit(enter, start_position) for finish_position in myMap.finish_position: window.blit(guardian, finish_position) for f, g in zip(myListObject, myListPosition): window.blit(f, g) window.blit(macGyver, position_macGyver) pygame.display.flip() if position_macGyver == myListPosition: myListObject[0] -= 1 proceed -= 1 if position_macGyver.collidelistall(myMap.finish_position): proceed -=1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 # -*-coding:Utf-8 -* import os from image import* from pygame.locals import* class Map: def __repr__(self): return "<Map {}>".format(self.name) def chooseMap(self): map = os.listdir("map") mapFile = open("./Map/"+map[0], "r") #print(mapFile.read()) self.save = mapFile.read().splitlines() def readMap(self): self.list_position_wall = [] self.start_position = [] self.finish_position = [] self.position_object = [] for i, line in enumerate(self.save): for j, case in enumerate(line): if case == "O": wall = pygame.image.load(image_wall).convert_alpha() position_wall = wall.get_rect() position_wall.x = i * sizeSprite position_wall.y = j * sizeSprite self.list_position_wall.append(position_wall) if case == "X": start = pygame.image.load(image_start).convert_alpha() start_position = start.get_rect() start_position.x = i * sizeSprite start_position.y = j * sizeSprite self.start_position.append(start_position) if case == "G": guardian = pygame.image.load(image_guardian).convert_alpha() finish_position = guardian.get_rect() finish_position.x = i * sizeSprite finish_position.y = j * sizeSprite self.finish_position.append(finish_position) if case == " ": coin = pygame.image.load(object1[0]).convert_alpha() position_object = coin.get_rect() position_object.x = i * sizeSprite position_object.y = j * sizeSprite self. position_object.append(position_object)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 # -*-coding:Utf-8 -* import os import pygame pygame.init() size = 15 sizeSprite = 30 sizeWindow = size * sizeSprite image_start = "ressource/depart.png" image_macGyver = "ressource/MacGyver.png" image_guardian = "ressource/Gardien.png" image_floor = "ressource/sol.png" image_wall = "ressource/mur.png" object1 = ["ressource/coin1.png", "ressource/coin2.png", "ressource/coin3.png", "ressource/argent.png", "ressource/tresor.png"]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 OOOOOOOOOOOOOOOO O O XO O O O OOO O O O O O O O O OO O O O OOOO O O O O O O O O OOOOOOOO OOOO O. O O O O O O OOOOOOOO OOOO. O O O O O OOOOO OOOOOOO O. O O O O O O O OOOOOOOO OO. O G O O. O OOOOOOOOOOOOOOOO
Partager