aide récupérer objet Pygame
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:
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:
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:
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:
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 |