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