|
|
@ -1,17 +1,20 @@ |
|
|
|
""" |
|
|
|
Jeu cars and run 2D |
|
|
|
|
|
|
|
Script python: |
|
|
|
lien du tuto http://sdz.tdct.org/sdz/interface-graphique-pygame-pour-python.html |
|
|
|
lien pour faire des images pixeliser : pixilart.com |
|
|
|
Script python:main, classes, constantes |
|
|
|
""" |
|
|
|
import pygame |
|
|
|
from pygame.locals import * |
|
|
|
from constantes import * |
|
|
|
from classes import * |
|
|
|
from random import randint |
|
|
|
|
|
|
|
pygame.init() |
|
|
|
|
|
|
|
#ouverture de la fenetre |
|
|
|
fenetre = pygame.display.set_mode((largeur_fenetre, hauteur_fenetre)) |
|
|
|
fenetre.fill((0,128,255)) |
|
|
|
fenetre.fill((0,0,0)) |
|
|
|
|
|
|
|
#Icone |
|
|
|
icone = pygame.image.load(image_icone) |
|
|
@ -20,27 +23,94 @@ pygame.display.set_icon(icone) |
|
|
|
#Titre |
|
|
|
pygame.display.set_caption(titre_fenetre) |
|
|
|
|
|
|
|
lst_elements = [] |
|
|
|
|
|
|
|
|
|
|
|
#BOUCLE PRINCIPALE |
|
|
|
continuer = 1 |
|
|
|
|
|
|
|
while continuer: |
|
|
|
for event in pygame.event.get(): #Attente des événements |
|
|
|
if event.type == QUIT: |
|
|
|
continuer = 0 |
|
|
|
|
|
|
|
#BOUCLE DE JEU: |
|
|
|
if event.type == KEYDOWN: |
|
|
|
|
|
|
|
|
|
|
|
accueil = Image(fenetre, image_acceuil, 0, 0) |
|
|
|
#lst_elements.append(accueil)#il me semble quepas besoin de ca |
|
|
|
|
|
|
|
#Rafraichissement |
|
|
|
pygame.display.flip() |
|
|
|
|
|
|
|
continuer_jeu, continuer_accueil = 1, 1 #On remet ces variables à 1 à chaque tour de boucle |
|
|
|
|
|
|
|
#BOUCLE D'ACCUEIL |
|
|
|
while continuer_accueil: |
|
|
|
pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle |
|
|
|
|
|
|
|
for event in pygame.event.get(): |
|
|
|
|
|
|
|
if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE: |
|
|
|
continuer_accueil,continuer_jeu,continuer = 0,0,0#Si l'utilisateur quitte, on met les variables de boucle à 0 pour n'en parcourir aucune et fermer |
|
|
|
|
|
|
|
choix = 0 #Variable de choix du niveau |
|
|
|
|
|
|
|
elif event.type == KEYDOWN: |
|
|
|
|
|
|
|
if event.key == K_F1: #Lancement du niveau 1 |
|
|
|
continuer_accueil = 0#On quitte l'accueil |
|
|
|
choix = 'n1'#On définit le niveau à charger |
|
|
|
|
|
|
|
elif event.key == K_F2: #Lancement du niveau 2 |
|
|
|
continuer_accueil = 0 |
|
|
|
choix = 'n2' |
|
|
|
|
|
|
|
|
|
|
|
if choix == 'n1': #on vérifie que le joueur a bien fait un choix de niveau pour ne pas charger s'il quitte |
|
|
|
accueil = Image(fenetre, image_acceuil, 0, 0) |
|
|
|
lst_elements.append(accueil) |
|
|
|
|
|
|
|
for i in range (5): |
|
|
|
b, c = randint(0,1280), randint(0,300) |
|
|
|
print(b,c) |
|
|
|
nuage = Image(fenetre, img_n1, b, c) |
|
|
|
lst_elements.append(nuage) |
|
|
|
|
|
|
|
lst_goudron, a = [],0 |
|
|
|
for i in range (2): |
|
|
|
goudron = Image(fenetre, img_goudron, a, 720/2) |
|
|
|
lst_elements.append(goudron) |
|
|
|
lst_goudron.append(goudron) |
|
|
|
a = a + 2163 |
|
|
|
|
|
|
|
if event.key == K_F1: |
|
|
|
#boucle acceuil |
|
|
|
fenetre.fill((0,0,0)) |
|
|
|
if event.key == K_F1: |
|
|
|
#boucle niveau |
|
|
|
pass |
|
|
|
lst_barriere, a = [],0 |
|
|
|
for i in range (3): |
|
|
|
barriere = Image(fenetre, img_barriere, a, 720/2) |
|
|
|
lst_elements.append(barriere) |
|
|
|
a = a + 844 |
|
|
|
|
|
|
|
voiture = Image(fenetre, img_e30,0 ,0 ) |
|
|
|
lst_elements.append(voiture) |
|
|
|
|
|
|
|
pygame.display.flip() |
|
|
|
#BOUCLE DE JEU |
|
|
|
while continuer_jeu: |
|
|
|
pygame.time.Clock().tick(30) #Limitation de vitesse de la boucle |
|
|
|
|
|
|
|
for event in pygame.event.get(): |
|
|
|
|
|
|
|
if event.type == QUIT: |
|
|
|
continuer_jeu = 0 #Si l'utilisateur quitte, on met la variable qui continue le jeu |
|
|
|
continuer = 0 #ET la variable générale à 0 pour fermer la fenêtre |
|
|
|
|
|
|
|
elif event.type == KEYDOWN: |
|
|
|
if event.key == K_ESCAPE: |
|
|
|
continuer_jeu = 0 #Si l'utilisateur presse Echap ici, on revient seulement au menu |
|
|
|
|
|
|
|
elif event.key == K_UP: #Touches de déplacement de voiture |
|
|
|
lst_elements[2].translater('y',"haut",10)#deplace pas la voiture |
|
|
|
elif event.key == K_DOWN: |
|
|
|
lst_elements[2].translater('y',"bas",10) |
|
|
|
|
|
|
|
for i in range(1,6): |
|
|
|
print(i) |
|
|
|
lst_elements[i].translater("x", "gauche", 5) |
|
|
|
|
|
|
|
for element in lst_elements: |
|
|
|
element.maj() |
|
|
|
pygame.display.flip() |
|
|
|
|
|
|
|
pygame.display.flip() |
|
|
|
pygame.quit() |