Skip to content
Snippets Groups Projects
Commit 4b95a9bb authored by SAOUDI SALEM's avatar SAOUDI SALEM
Browse files

test

Merge branch 'master' of git.unistra.fr:fergui/snake
parents 710b3f08 c4829e57
Branches
No related merge requests found
......@@ -459,7 +459,7 @@ jal updateGameStatus
jal conditionFinJeu
bnez $v0 gameOver
jal printGame
li $a0 200 #500
li $a0 500 #500
jal sleepMillisec
j mainloop
......@@ -510,13 +510,16 @@ majDirection:
# En haut, ... en bas, ... à gauche, ... à droite, ... ces soirées là ...
lw $s5 snakePosX #pour ne pas ecraser les anciennes cordonnées de la tete !
lw $s6 snakePosY
lw $t4 snakeDir
case:
beq $v0 0 haut
beq $v0 1 droit
beq $v0 2 bas
beq $v0 3 gauche
beq $v0 4 default
beq $a0 0 haut
beq $a0 1 droit
beq $a0 2 bas
beq $a0 3 gauche
beq $a0 4 default
haut:
beq $t4 2 default
......@@ -543,10 +546,10 @@ sub $t0 $t0 1
sw $t0 snakePosY($s0)
j fin
default:
lw $v0 snakeDir
lw $a0 snakeDir
j case
fin:
sw $v0 snakeDir
sw $a0 snakeDir
jr $ra
############################### updateGameStatus ###############################
......@@ -560,10 +563,9 @@ jr $ra
updateGameStatus:
# jal hiddenCheatFunctionDoingEverythingTheProjectDemandsWithoutHavingToWorkOnIt
sw $ra ($sp)
lw $t0 candy
#position de la tete
lw $t1 snakePosX($0)
......@@ -572,19 +574,14 @@ lw $t2 snakePosY($0)
bne $t0 $t1 finu
lw $t0 candy + 4
bne $t0 $t2 finu
#nouveau bonbon
jal newRandomObjectPosition
sw $v0 candy
sw $v1 candy + 4
lw $t0 tailleSnake
add $t0 $t0 1
sw $t0 tailleSnake
#lw $a1 snakePosX
#sw $a1 lastSnakePiece
#sw $a2 lastSnakePiece + 4
#nouveau obstacle
jal newRandomObjectPosition
lw $t3 numObstacles
add $t3 $t3 1
......@@ -595,6 +592,44 @@ sw $v0 obstaclesPosX($t3)
sw $v1 obstaclesPosY($t3)
finu:
#decalage
move $t1 $s5 #$t0 contient la taille de serpent - 1
move $t2 $s6
lw $t0 tailleSnake
sub $t0 $t0 1
li $t3 1
decal: bgt $t3 $t0 erase
mul $t3 $t3 4
lw $t4 snakePosX($t3) #position X de debut de corps (tete non incluse)
lw $t5 snakePosY($t3) #position Y de debut de corps (tete non incluse)
#move $t6 $t4
#move $t7 $t5
sw $t1 snakePosX($t3)
sw $t2 snakePosY($t3)
move $t1 $t4
move $t2 $t5
div $t3 $t3 4
add $t3 $t3 1
j decal
#mettre a jour lastsnakepiece
erase:
#jal eraseLastSnakePiece
#lw $t0 tailleSnake
#sub $t0 $t0 1
#mul $t0 $t0 4
#lw $t1 snakePosX($t0) #$t0 contient la taille de serpent - 1
#lw $t2 snakePosY($t0)
#sw $t1 lastSnakePiece
#sw $t2 lastSnakePiece + 4
lw $ra ($sp)
jr $ra
......@@ -606,7 +641,7 @@ jr $ra
conditionFinJeu:
li $t0 0 #simple initialisation
li $t0 1 #simple initialisation
#la tete de serpent ne doit pas depasser la bordure de la grille
li $t3 16
......@@ -617,9 +652,20 @@ beq $t1 $t3 finf
beq $t2 $t3 finf
beq $t1 $t4 finf
beq $t2 $t4 finf
#la tete de serpent touche une partie de corps
lw $t5 tailleSnake
loopc: bge $t0 $t5 obstacle
mul $t0 $t0 4
lw $t3 snakePosX($t0)
lw $t4 snakePosY($t0)
div $t0 $t0 4
add $t0 $t0 1
bne $t3 $t1 loopc
bne $t4 $t2 loopc
j finf
#la tete de serpent ne doit pas rentrer en contacte avec un obstacle
obstacle:
li $t0 0 #simple initialisation
lw $t3 numObstacles
li $s4 0
loopf:
......
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