Пример #1
0
def ressusciteSnake(snake,joueur,jeu):
    """
    ressuscite snake apres collision
    """
    assert type(snake) is list
    assert type(joueur) is list

    for j in reversed(range(10)):        
        mMap.setCaseC(mJeu.getMap(jeu),snake[j][0],snake[j][1],"vide")
        snake.remove(snake[j])
    mJoueur.setSnakeJ(joueur,snake)
    return snake
Пример #2
0
def imprimerSnake(carte, snake, numjoueur):
    """
    Affichage du snake dans la map non graphique
    """
    assert type(snake) is list
    assert type(carte) is list
    assert type(numjoueur) is int
    for case in snake:
        etat = "vide"
        if numjoueur == 1:
            etat = "snake1"
        elif numjoueur == 2:
            etat = "snake2"
    for i in range (len(snake)):
        x=snake[i][0]
        y=snake[i][1]
        mMap.setCaseC(carte, x,y, etat)
Пример #3
0
def jouer(depSnake,jeu,screen,numJ,carte):               
        #Mise en mouvement du Snake1
        snake=mJoueur.getSnake(mJeu.getJoueur(jeu,numJ))
        joueur=mJeu.getJoueur(jeu,numJ)
        xd,yd=mSnake.getxSnake(snake,0),mSnake.getySnake(snake,0)
        mMap.setCaseC(mJeu.getMap(jeu),xd,yd,"vide")#Suprime état précedent du snake
        if numJ==1:
                depSnake=mSnake.deplacerSnake1(depSnake,snake,joueur)
        if numJ==2:
                depSnake=mSnake.deplacerSnake2(depSnake,snake,joueur)
        x=mSnake.getxSnake(snake,len(snake)-1)
        y=mSnake.getySnake(snake,len(snake)-1)

        #Delimitation du terrain
        snake,joueur1=mMap.sortiCarte(mJoueur.getSnake(mJeu.getJoueur(jeu,numJ)),depSnake,mJeu.getJoueur(jeu,numJ),carte,x,y)
        
        # Affichage et actualisation de la map
        mSnake.imprimerSnake(mJeu.getMap(jeu),mJoueur.getSnake(mJeu.getJoueur(jeu,numJ)),numJ)
        mGraphique.afficherMap(jeu, screen) # Affiche la map graphique
        # Décomenter pour afficher la carte non graphique et les joueurs
        #mMap.affichageMap(mJeu.getMap(jeu),jeu) 
        x=mSnake.getxSnake(snake,len(snake)-1)
        y=mSnake.getySnake(snake,len(snake)-1)
        return depSnake,x,y,snake,joueur
Пример #4
0
def creerPartie(para):
        vitesse = mParametre.getVitesseJeu(para)
        formeCarte = mParametre.getForme(para)
        carte = []
        if formeCarte == "rectangulaire":
                coordonnes = mParametre.getTailleRect(para)
                carte = mMap.creerRectangulaire(coordonnes[0], coordonnes[1])
        elif formeCarte == "triangulaire":
                coordonnes = mParametre.getTailleTrian(para)
                carte = mMap.creerTriangulaire(coordonnes[0][0], coordonnes[0][1],coordonnes[1][0], coordonnes[1][1], coordonnes[2][0], coordonnes[2][1])
        elif formeCarte == "croix":
                carte = mMap.creerCroix(mParametre.getTailleCroix(para))
        #positionnement initiale des deux snakes et du bonbon
        lcarte, hcarte = mMap.getTailleEcran(carte)
        y1init = int(hcarte/2+1)
        y2init = int(hcarte/2-1)
        x1init,x2init=0,0
        
        xb = random.randint(1,lcarte-1)
        yb = random.randint(1,hcarte-1)
        mMap.getEtatCase(carte,xb,yb)
        while carte[xb][yb] !=1:
                xb = random.randint(1,lcarte-1)
                yb = random.randint(1,hcarte-1)

        for i in range(len(carte[0])-1) : #Recherche d'une case "vide" sur l'axe x
                xi=carte[i][y1init]     # Positionne le point sur la map par rapport a (x,y)
                etatxr = mCase.getCase(xi) # Recupere etat de la case
                if etatxr=="vide":
                        x1init=i
                        break # On arrete la boucle quand on a trouvé une case vide
        for j in range(len(carte[0])-1) : 
                xi=carte[j][y2init]
                etatxr = mCase.getCase(xi)
                if etatxr=="vide":
                        x2init=j
                        break # On arrete la boucle quand on a trouvé une case vide
           
        #creation des deux snakes initiaux de longeur 10
        snake1 = mSnake.creerSnakeInit(int(x1init), int(y1init))
        joueur1 = mJoueur.creerJoueur(mParametre.getCouleurJoueur(para,1), mParametre.getNomJoueur(para, 1), snake1)
        snake2 = mSnake.creerSnakeInit(int(x2init), int(y2init))
        joueur2 = mJoueur.creerJoueur(mParametre.getCouleurJoueur(para,2), mParametre.getNomJoueur(para, 2), snake2)
        bonbon = mMap.setCaseC(carte,xb,yb,"bonbon")

        jeu = mJeu.creer(vitesse, carte, joueur1, joueur2)
        return jeu,xb,yb,lcarte,hcarte