bonjour a tous,

je fais un jeu labyrinthe , mais j'ai un problème tout bête, quand je n'arrive pas a positionner mon personnage sur le point de départ
je précise que j'ai un fichier.txt pour mon labyrinthe

j'ai essayé de faire plusieurs solution sans réussite

fichier dk.py :
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
119
120
121
122
123
 
"""
Jeu Donkey Kong Labyrinthe
Jeu dans lequel on doit déplacer DK jusqu'aux bananes à travers un labyrinthe.
 
Script Python
Fichiers : dklabyrinthe.py, classes.py, constantes.py, n1, n2 + images
"""
# -*-coding:Utf-8 -*
from pygame.locals import *
import os
from const import *
from classs import * 
import pygame
pygame.init()
 
fenetre = pygame.display.set_mode((tailleFenetre, tailleFenetre), RESIZABLE)
 
pygame.event.pump()
 
maCarte = Niveau()
maCarte.niveau()
maCarte.carte()
 
 
 
continuer = 1
continuer_accueil = 1
continuer_partie = 1
while continuer:
 
	pygame.time.Clock().tick(30)
 
	accueil = pygame.image.load(image_accueil).convert()
	fenetre.blit(accueil, (0, 0))
	pygame.display.flip()
 
 
	while continuer_accueil:
 
 
		for event in pygame.event.get():
			if event.type == KEYDOWN and event.key == K_ESCAPE:
				continuer_accueil = 0
				continuer = 0
				continuer_partie = 0
 
 
			if event.type == KEYDOWN:
 
				if event.key == K_F1:
					num = 0
					continuer_accueil = 0
 
				if event.key == K_F2:
					num = 1
					continuer_accueil = 0
 
 
 
 
		fond = pygame.image.load(image_fond).convert_alpha()
 
		fenetre.blit(fond, (0, 0))
 
 
		print(maCarte.position_depart)
 
		dk = pygame.image.load(dk_bas).convert_alpha()
		mur = pygame.image.load(image_mur).convert_alpha()
		depart = pygame.image.load(image_depart).convert_alpha()
		arrivee = pygame.image.load(image_arrivee).convert_alpha()
		position_perso = dk.get_rect()
		fenetre.blit(dk, position_perso)
		pygame.key.set_repeat(300, 20)
		sortie = maCarte.position_arrivee
	while continuer_partie:
 
 
		for event in pygame.event.get():
			if event.type == QUIT: 
				continuer = 0
 
			if event.type == KEYDOWN and event.key == K_ESCAPE:
 
				continuer_partie = 0
 
 
			if event.type == KEYDOWN:
 
				if event.key == K_DOWN:
					position_perso = position_perso.move(0, 1)
					dk = pygame.image.load(dk_bas).convert_alpha()
 
				if event.key == K_UP:
					position_perso = position_perso.move(0, -1)
					dk = pygame.image.load(dk_haut).convert_alpha()
 
				if event.key == K_LEFT:
					position_perso = position_perso.move(-1, 0)
					dk = pygame.image.load(dk_gauche).convert_alpha()
 
				if event.key == K_RIGHT:
					position_perso = position_perso.move(1, 0)
					dk = pygame.image.load(dk_droite).convert_alpha()
 
 
 
 
		fenetre.blit(fond, (0, 0))
 
 
		for position_mur in maCarte.liste_position_mur:
			fenetre.blit(mur, position_mur)
 
		for position_depart in maCarte.position_depart:
			fenetre.blit(depart, position_depart)
 
 
		for position_arrivee in maCarte.position_arrivee:
			fenetre.blit(arrivee, position_arrivee)
		fenetre.blit(dk, position_perso)
		pygame.display.flip()
fichier const.py:

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
 
# -*-coding:Utf-8 -*
import os
import pygame
pygame.init()
 
 
# fenetre
 
nbCote = 15
tailleSprite = 30
tailleFenetre = nbCote * tailleSprite
 
 
# image du jeu 
 
image_accueil = "images/accueil.jpg"
image_arrivee = "images/arrivee.png"
image_depart = "images/depart.png"
dk_bas = "images/dk_bas.png"
dk_haut = "images/dk_haut.png"
dk_gauche = "images/dk_gauche.png"
dk_droite = "images/dk_droite.png"
image_fond = "images/fond.jpg"
image_mur = "images/mur.png"

fichier classs.py :

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
 
# -*-coding:Utf-8 -*
import os 
from const import *
from pygame.locals import *
 
class Niveau: 
 
	def __init__(self):
		self.liste_position_mur = []
		self.position_depart = []
		self.position_arrivee = []
 
	def niveau(self):
 
		niveau = os.listdir("niveau")
		num = 0
 
 
 
		niveauFile = open("./niveau/"+niveau[num], "r")
		self.enregistrement = niveauFile.read().splitlines()
 
 
 
 
	def carte(self):
 
		self.liste_position_mur = []
		self.position_depart = []
		self.position_arrivee = []
 
		for i, ligne in  enumerate(self.enregistrement):
			for j, case in enumerate(ligne):
 
				if case == "O":
					mur = pygame.image.load(image_mur).convert_alpha()
					position_mur = mur.get_rect()
					position_mur.x = i * tailleSprite
					position_mur.y = j * tailleSprite
 
					self.liste_position_mur.append(position_mur)
 
 
				if case == "X":
					depart = pygame.image.load(image_depart).convert_alpha()
					position_depart = depart.get_rect()
					position_depart.x = i * tailleSprite
					position_depart.y = j * tailleSprite
 
					self.position_depart.append(position_depart)
 
				if case == "G":
					arrivee = pygame.image.load(image_arrivee).convert_alpha()
					position_arrivee = arrivee.get_rect()
					position_arrivee.x = i * tailleSprite
					position_arrivee.y = j * tailleSprite
 
					self.position_arrivee.append(position_arrivee)
 
 
	def passage(self, depart, arrive, mur):
 
		self.depart = pygame.image.load(depart).convert_alpha()
		self.arrivee = pygame.image.load(arrivee).convert_alpha()
		self.mur = pygame.image.load(mur).convert_alpha()
 
	def personnage(self, haut, bas, gauche, droite):
 
 
		self.haut = pygame.image.load(dk_droite).convert_alpha()
		self.bas = pygame.image.load(dk_bas).convert_alpha()
		self.gauche = pygame.image.load(dk_gauche).convert_alpha()
		self.droite = pygame.image.load(dk_droite).convert_alpha()