Exemplo n.º 1
0
def sortiCarte(snake,depSnake,joueur,carte,x,y):
    
    # "Capteurs" de sorti
    etatSortie = getEtatCase(carte,x,y)    
    if etatSortie == "rien" :
        if depSnake[1]=="VD":# Sort par la droite
            for i in range(len(carte[1])) : #Recherche d'une case "vide" sur l'axe x dans le sens du snake
                xr=carte[i][y]
                etatxr = mCase.getCase(xr)
                if etatxr=="vide" :
                    mSnake.setSnake(snake,i,y,len(snake)-1) # Replace le snake sur la carte
                    mJoueur.setSnakeJ(joueur,snake)
                    x,y=mSnake.getxSnake(snake,len(snake)-1),mSnake.getySnake(snake,len(snake)-1)
                    break # on arrete la boucle

        if depSnake[1]=="VH":# Sort par le haut
            for i in range(len(carte)-1) :
                yr=carte[x][i]
                etatyr = mCase.getCase(yr)
                if etatyr=="vide" :                                                
                    mSnake.setSnake(snake,x,i,len(snake)-1)
                    mJoueur.setSnakeJ(joueur,snake)
                    x,y=mSnake.getxSnake(snake,len(snake)-1),mSnake.getySnake(snake,len(snake)-1)
                    break

        if depSnake[1]=="VG":# Sort par la Gauche
          for i in reversed(range(len(carte)-1)) :
            xr=carte[i][y]
            etatxr = mCase.getCase(xr)
            if etatxr=="vide":                                                
                mSnake.setSnake(snake,i,y,len(snake)-1)
                mJoueur.setSnakeJ(joueur,snake)
                x,y=mSnake.getxSnake(snake,len(snake)-1),mSnake.getySnake(snake,len(snake)-1)
                break

        if depSnake[1]=="VB":# Sort par le bas
            for i in reversed(range(len(carte[0])-1)) :
                yr=carte[x][i]
                etatyr = mCase.getCase(yr)
                if etatyr=="vide":
                    mSnake.setSnake(snake,x,i,len(snake)-1)
                    mJoueur.setSnakeJ(joueur,snake)
                    x,y=mSnake.getxSnake(snake,len(snake)-1),mSnake.getySnake(snake,len(snake)-1)
                    break
    return snake,joueur
Exemplo n.º 2
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