1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
var i:int = 0;
var tailleCase:int = 10; // Taille en px de la case
var dir:String = new String("l");// Direction du serpent left,right,up,down
var tete:Tete = new Tete();// Position de la tete
var maxLarg:int = tailleCase*49;
var maxHaut:int = tailleCase*49;
var score:int = 0;
var pomme:Pomme = new Pomme();
pomme.x = Math.round(Math.random()*50)*tailleCase;
pomme.y = Math.round(Math.random()*50)*tailleCase;
addChild(pomme);
tete.x = tailleCase*25;
tete.y = tailleCase*25
addChild(tete);
var corps:Array = new Array();
while(i <= 1){
corps[i] = new Corps();
if(i == 0){
corps[i].x = tete.x+10;
corps[i].y = tete.y;
}
else{
corps[i].x = corps[i-1].x+10;
corps[i].y = corps[i-1].y;
}
addChild(corps[i]);
i++;
}
stage.addEventListener(Event.ENTER_FRAME, bouge);
stage.addEventListener(KeyboardEvent.KEY_DOWN, changeDir);
function bouge(evt:Event):void {
var i:int = 0;
var j:int = 0;
var continu:Boolean = true;
while(j <= score){
if(j == 0){
corps[j].x = tete.x;
corps[j].y = tete.y;
}
else{
corps[j].y = corps[j-1].y;
corps[j].x = corps[j-1].x;
}
j++;
}
switch (dir) {
case "l" :// Gauche
if(tete.x >= tailleCase) // On ne touche pas le bord
tete.x -= 10;
else
continu = false;
break;
case "r" :// Droite
if(tete.x <= maxLarg) // On ne touche pas le bord
tete.x += 10;
else
continu = false;
break;
case "u" :// Haut
if(tete.y <= maxHaut) // On ne touche pas le bord
tete.y += 10;
else
continu = false;
break;
case "d" :// Bas
if(tete.x >= tailleCase) // On ne touche pas le bord
tete.y -= 10;
else
continu = false;
break;
}
if(continu == false){
trace("Game Over");
trace("Score : "+score);
stage.removeEventListener(Event.ENTER_FRAME,bouge);
}
else if(tete.hitTestObject(pomme)){
pomme.x = Math.round(Math.random()*50)*tailleCase;
pomme.y = Math.round(Math.random()*50)*tailleCase;
corps[score] = new Corps();
corps[score].x = corps[score-1].x;
corps[score].y = corps[score-1].x;
addChild(corps[score]);
score++;
}
}
function changeDir(evt:KeyboardEvent):void{
if(evt.keyCode == 37 && dir != "r") // Left Arrow
dir = "l";
else if(evt.keyCode == 40 && dir != "d") // Up Arrow
dir = "u";
else if(evt.keyCode == 39 && dir != "l") // Right Arrow
dir = "r";
else if(evt.keyCode == 38 && dir != "u") // Down Arrow
dir = "d";
} |
Partager