📄 game.as
字号:
class Game {
private var mySnake:Snake;
public var moveabc:Boolean;
private var GameOver:Boolean;
private var titleNum:Number;
private var titArray:Array;
private var idyValue:Number;
private var idxValue:Number;
private var scroe:Number;
private var fensu:TextField;
private var msgMc:MovieClip;
private var shi:Number = 0;
function Game(startx:Number, starty:Number, frameNum:Number) {
titleNum = frameNum;
initTitle(startx, starty, titleNum);
initSnake();
fensu = _root.txt;
scroe = 0;
fensu.text = String(scroe);
idyValue = 1;
idxValue = 0;
moveabc = false;
GameOver = true;
msg(1);
Procdfoot();
}
public function get idxV():Number {
return idxValue;
}
public function set idxV(dumy:Number):Void {
idxValue = dumy;
}
public function get idyV():Number {
return idyValue;
}
public function set idyV(dumy:Number):Void {
idyValue = dumy;
}
public function get checkGame():Boolean {
return GameOver;
}
public function set moveA(dum:Boolean):Void {
moveabc = dum;
}
public function get moveA():Boolean {
return moveabc;
}
private function initTitle(x:Number, y:Number, titleNum:Number):Void {
var temx:Number;
var temy:Number;
titArray = new Array();
for (var i = 0; i<titleNum; i++) {
for (var j = 0; j<titleNum; j++) {
temx = x+Title.widthValue*i;
temy = y+Title.widthValue*j;
titArray.push(new Title(temx, temy, 1, i, j));
}
}
}
private function initSnake():Void {
mySnake = new Snake();
mySnake.pushtitle(titArray[titleNum*8+8]);
mySnake.pushtitle(titArray[titleNum*8+9]);
mySnake.pushtitle(titArray[titleNum*8+10]);
mySnake.head.changehead(5);
}
public function snakeMove(idxV:Number, idyV:Number):Void {
mySnake.head.changehead(1);
var timx:Number;
var timy:Number;
var time:Title;
timx = mySnake.head.idx+idxV;
timy = mySnake.head.idy+idyV;
if (timx == -1 || timx == 23 || timy == 23 || timy == -1) {
GameOver = true;
msg(2);
} else {
time = titArray[titleNum*timx+timy];
if (time.num == 1) {
mySnake.pushtitle(time);
mySnake.shifttitle();
} else if (time.num == 2) {
GameOver = true;
msg(2);
} else if (time.num == 3) {
scroe++;
fensu.text = String(scroe);
mySnake.pushtitle(time);
Procdfoot();
}
if (idxV == 1) {
mySnake.head.changehead(4);
} else if (idxV == -1) {
mySnake.head.changehead(2);
} else if (idyV == 1) {
mySnake.head.changehead(5);
} else if (idyV == -1) {
mySnake.head.changehead(3);
}
moveabc = true;
}
shi++;
_root.shijian = shi;
if (shi>9999) {
msg(3);
moveabc = false;
}
if (scroe>=500) {
moveabc = false;
msg(4);
}
}
private function Procdfoot():Void {
var temNum:Number;
do {
temNum = Math.floor(Math.random()*titArray.length);
if (titArray[temNum].num != 2) {
break;
}
} while (true);
titArray[temNum].changepread(3);
}
private function ready():Void {
for (var i in _root) {
if (typeof _root[i] == "movieclip") {
_root[i].removeMovieClip();
}
}
_root.myGame = new Game(15, 18, 23);
shi = 0;
scroe=0;
}
private function initgame():Void {
//trace("od gameove");
_root.myGame.GameOver = false;
_root.msgMc.removeMovieClip();
}
private function msg(frame:Number):Void {
var demp:Number = _root.getNextHighestDepth();
msgMc = _root.attachMovie("msgbox", "msgMc", demp, {_x:280, _y:280});
msgMc.startbtn.onRelease = initgame;
msgMc.overbtn.onRelease = readygame;
msgMc.gotoAndStop(frame);
}
private function readygame():Void {
_root.myGame.ready();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -