Commit 2926cfc0 authored by Vincent BRULE's avatar Vincent BRULE
Browse files

gros up bis

parent 80b75d77
......@@ -255,260 +255,3 @@ def ecran_principal(ecran, j1, j2):
display.flip()
# -*- encoding: utf-8 -*-
from pygame import *
import time
import os
from carteStruct import *
from constante import Constante
#Jeu Fonctionne que sur un ratio 16:9
#ctrl+Q utile pour commenter
def son_fond(verif):
mixer.init()
son_fond = mixer.Sound("projet_jeux_video.wav")
if verif == 1:
son_fond.play(loops = -1)
son_fond.set_volume(1.0)
elif verif == 2:
mixer.pause()
elif verif == 3:
mixer.unpause()
def fond_depart(ecran):
image_depart = image.load("ecran_depart.jpg")
image_depart = transform.scale(image_depart,(Constante.largeur, Constante.hauteur))
ecran.blit(image_depart, (0 ,0))
def saut_ligne(texte, ecran):
bulle = Rect(Constante.largeur/5, Constante.hauteur/4, 500,500)
x,y = bulle.topleft
for ligne in texte.splitlines():
x,y = ecran.blit(Constante.type_ecriture_titre.render(ligne , 1, Constante.ORANGE),(x,y)).bottomleft
def ecran_depart(ecran):
fond_depart(ecran)
titre_jeu = """ Bienvenue dans \n\n POLYDENFENSE \n\n\nAppuyez sur "Entrer" pour commencer le Jeu"""
saut_ligne(titre_jeu, ecran)
display.flip()
while True:
for evenement_joueur in event.get():
if evenement_joueur.type == KEYDOWN:
if evenement_joueur.key == K_RETURN:
continuer = 0
return
def lecture_carte (fichier, carte): # Permet de lire le .txt contenant la carte
dico = open(fichier, "r")
numLigne = 0
for ligne in dico :
numColonne = 0
for trouve_lettre in ligne :
if trouve_lettre == "X":
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "O":
carte.liste_route.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "A":
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
carte.liste_arbre.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "C":
carte.liste_contour.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "B":
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
carte.liste_base.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "D":
carte.liste_contour_sortie_ennemie.append((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "E":
carte.liste_contour_sortie_ennemie_2.append((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
if trouve_lettre == "S":
carte.liste_herbe.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
carte.liste_sortie_ennemie.append ((numColonne*Constante.taille_rel, numLigne*Constante.taille_rel))
numColonne = numColonne + 1
numLigne = numLigne + 1
dico.close()
def titre_nom(n_joueur, ecran):
titre = "Entrer le nom du joueur" + " " + str(n_joueur) + " :"
texte_titre = Constante.type_ecriture.render(titre, 1, Constante.ORANGE)
#texte_titre = Constante.type_ecriture.render(titre, 1, Constante.ORANGE, (204, 204, 255)) permet de mettre un fond de couleur
ecran.blit(texte_titre, (Constante.largeur/4, Constante.hauteur/4))
display.flip()
def nom_joueur (n_joueur, ecran, joueur):
nom = ''
fond_depart(ecran)
titre_nom(n_joueur, ecran)
while True:
for evenement_joueur in event.get():
if evenement_joueur.type == KEYDOWN:
if evenement_joueur.unicode.isalpha():
nom = nom + evenement_joueur.unicode
texte = Constante.type_ecriture.render(nom, True, Constante.ORANGE)
ecran.blit(texte, (float(Constante.largeur)/2.5, float(Constante.hauteur)/2.5))
if evenement_joueur.key == K_RETURN:
joueur.modifier_nom(nom)
joueur.modifier_numero(n_joueur)
return
if evenement_joueur.key == K_BACKSPACE:
nom = nom[:-1]
texte = Constante.type_ecriture.render(nom, True, Constante.ORANGE)
fond_depart(ecran)
titre_nom(n_joueur, ecran)
ecran.blit(texte, (float(Constante.largeur)/2.5, float(Constante.hauteur)/2.5))
display.flip()
def ecran_accueil(ecran):
accueil = image.load("accueil.jpg")
bouton_jouer = image.load("bouton_jouer.png")
bouton_regle = image.load("bouton_regle.png")
accueil = transform.scale(accueil,(Constante.largeur, Constante.hauteur))
bouton_jouer = transform.scale(bouton_jouer,(Constante.hauteur/5, Constante.hauteur/5))
bouton_regle = transform.scale(bouton_regle,(Constante.hauteur/3, Constante.hauteur/3))
while True:
for evenement_joueur in event.get():
if evenement_joueur.type == KEYDOWN:
if evenement_joueur.key == K_SPACE:
return
if evenement_joueur.type == MOUSEBUTTONDOWN :
x, y = evenement_joueur.pos
if Constante.hauteur/5 <= x <= (2*Constante.hauteur)/5 and Constante.hauteur/5 <= y <= (2*Constante.hauteur)/5:
return
elif 6*Constante.hauteur/5 <= x <= (23*Constante.hauteur)/15 and 3*Constante.hauteur/5 <= y <= (14*Constante.hauteur)/15:
ecran_regle(ecran)
ecran.blit(accueil, (0, 0))
ecran.blit(bouton_jouer, (Constante.hauteur/5, Constante.hauteur/5))
ecran.blit(bouton_regle, (6*Constante.hauteur/5, 3*Constante.hauteur/5))
display.flip()
def ecran_regle (ecran):
fond_regle = image.load("ecran_regle.jpg")
fond_regle = transform.scale(fond_regle,(Constante.largeur, Constante.hauteur))
ecran.blit(fond_regle, (0, 0))
display.flip()
while True:
for evenement_joueur in event.get():
if evenement_joueur.type == KEYDOWN:
if evenement_joueur.key == K_SPACE:
return
if evenement_joueur.type == MOUSEBUTTONDOWN :
x, y = evenement_joueur.pos
if Constante.largeur/2.3 <= x <= Constante.largeur/1.8 and Constante.hauteur/2.6 <= y <= Constante.hauteur/1.6:
return
def ecran_principal(ecran, j1, j2):
son_fond(1)
verif_son = 0
verif_base = 0
draw.rect(ecran, (0, 0, 0), (0, 0, Constante.largeur, Constante.hauteur))
contour_milieu_soldat_image = image.load("contour_milieu_soldat.png")
contour_milieu_soldat_image_2 = image.load("contour_milieu_soldat_2.png")
terre_image = image.load("herbe.png") # Charge l'image de la pelouse
route_image = image.load("route.png")# Charge l'image de la route
arbre_image = image.load("arbre.png").convert_alpha() # Charge l'image des arbres
contour_image = image.load("contour.png")
sortie_ennemie_image = image.load("milieu_soldat.png").convert_alpha()
base_image = image.load("base.png").convert_alpha()
base2_image = image.load("base2.png").convert_alpha()
contour_milieu_soldat_finale = transform.scale(contour_milieu_soldat_image,(Constante.taille_rel, Constante.taille_rel))
contour_milieu_soldat_finale_2 = transform.scale(contour_milieu_soldat_image_2,(Constante.taille_rel, Constante.taille_rel))
terre_finale = transform.scale(terre_image,(Constante.taille_rel, Constante.taille_rel))
route_finale = transform.scale(route_image,(Constante.taille_rel, Constante.taille_rel))
arbre_finale = transform.scale(arbre_image,(2*Constante.taille_rel, 2*Constante.taille_rel))
contour_finale = transform.scale(contour_image,(Constante.taille_rel, Constante.taille_rel))
base_finale = transform.scale(base_image,(3*Constante.taille_rel, 3*Constante.taille_rel))
base2_finale = transform.scale(base2_image,(3*Constante.taille_rel, 3*Constante.taille_rel))
sortie_ennemie_finale = transform.scale(sortie_ennemie_image,(Constante.taille_rel, Constante.taille_rel))
carte = Carte()
lecture_carte("dico_carte.txt", carte) # Lis le dictionnaire contenant la carte
for i in carte.liste_herbe : # Parcours la liste comportant la position de l'herbe
ecran.blit(terre_finale, i) # Met l'image dans le fond
for v in carte.liste_route : # Parcours la liste comportant la position de la route
ecran.blit(route_finale, v) # Met l'image dans le fond
for p in carte.liste_arbre : # Parcours la liste comportant la position des arbres
ecran.blit(arbre_finale, p) # Met l'image dans le fond
for c in carte.liste_contour :
ecran.blit(contour_finale, c)
for d in carte.liste_contour_sortie_ennemie:
ecran.blit(contour_milieu_soldat_finale, d)
for e in carte.liste_contour_sortie_ennemie_2:
ecran.blit(contour_milieu_soldat_finale_2, e)
for b in carte.liste_base :
if verif_base == 0 :
ecran.blit(base_finale, b)
verif_base = verif_base + 1
else :
ecran.blit(base2_finale, b)
for s in carte.liste_sortie_ennemie :
ecran.blit(sortie_ennemie_finale, s)
texte_joueur = Constante.type_ecriture.render(j1.nom, True, Constante.ORANGE, (255, 255, 255))
texte_joueur2 = Constante.type_ecriture.render(j2.nom, True, Constante.ORANGE, (255, 255, 255))
ecran.blit(texte_joueur, (Constante.taille_rel, ((Constante.largeur)/Constante.largeur_ref)))
ecran.blit(texte_joueur2, (7*Constante.largeur / 8, ((Constante.largeur)/Constante.largeur_ref)))
display.flip() # Fais apparatre les diffrents lments chargs
while True:
for evenement_joueur in event.get():
if evenement_joueur.type == KEYDOWN:
if evenement_joueur.key == K_ESCAPE:
return
if evenement_joueur.key == K_s:
if verif_son % 2 == 0:
verif_son = verif_son + 1
son_fond(2)
elif verif_son % 2 == 1:
verif_son = verif_son + 1
son_fond(3)
if evenement_joueur.type == MOUSEBUTTONDOWN :
x, y = evenement_joueur.pos
for (i, u) in carte.liste_route:
if x >= i and y >= u:
if x <= (i+(Constante.taille_tuile*(Constante.largeur/Constante.largeur_ref))) and y <= (u+(Constante.taille_tuile*Constante.largeur/Constante.largeur_ref)):
ecran.blit(sortie_ennemie_finale, (i, u))
display.flip()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment