<html>
<head>
<meta charset='utf-8'>
<title>翻块</title>
<script src="./lufylegend.js" type="text/javascript"></script>
</head>
<body>
<div id='mylegent'>loading...</div>
<script type='text/javascript'>
//感谢lufylegend框架,使我对html5产生了兴趣,我的QQ:745197233,欢迎交流技术.
var firstLoad = true;
var count = 2;
if (localStorage.count){
count = localStorage.count;
}
var width = 400;
init(40,"mylegent",width,width,main);
var w = width/count;
var dataArr;
function main(){
if(LGlobal.canTouch){
LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
LSystem.screen(LStage.FULL_SCREEN);
}
if(firstLoad){
var overLayer = new LSprite();
addChild(overLayer);
for(var i=0;i<4;i++){
for(var j=0;j<4;j++){
if(i*j%2==0){
overLayer.graphics.drawRect(1, "#000000", [100*i, 100*j, 100, 100], true, "#880088");
}else{
overLayer.graphics.drawRect(1, "#000000", [100*i, 100*j, 100, 100], true, "#008800");
}
}
}
overLayer.graphics.drawRect(2, "#000000", [10, 110, 380, 100], true, "#FDFDFD");
var overText = new LTextField();
overText.weight = "bold";
overText.color = "dimgray";
overText.font = "黑体";
overText.text = '玩法:点击色块,本块和相接的块会变色,全变绿进级.';
overText.size = 12;
overText.x = 12;
overText.y = 120;
overLayer.addChild(overText);
var overText2 = new LTextField();
overText2.weight = "bold";
overText2.color = "#FF0000";
overText2.font = "黑体";
overText2.text = '点击开始';
overText2.size = 30;
overText2.x = 120;
overText2.y = 150;
overLayer.addChild(overText2);
overLayer.addEventListener(LMouseEvent.MOUSE_DOWN,function(){
removeChild(overLayer);
overLayer=null;
initGame();
firstLoad = false;
});
}else{
initGame()
}
}
function initGame(){
dataArr = new Array();
for(var i=0;i<count;i++){
dataArr[i] = new Array();
}
for(var i=0;i<count;i++){
for(var j=0;j<count;j++){
var layer = new LSprite();
addChild(layer);
layer.graphics.drawRect(1, "#000000", [w*i, w*j, w, w], true, "#880088");
dataArr[i][j] = layer;
layer.pij = i+'-'+j;
layer.c = 1;
layer.addEventListener(LMouseEvent.MOUSE_DOWN, changeColor);
}
}
var fps = new FPS();
addChild(fps);
}
function changeColor(event){
var i = parseInt(event.currentTarget.pij.substr(0,1));
var j = parseInt(event.currentTarget.pij.substr(2,1));
var layer = dataArr[i][j];
huanColor(layer);
if(i>0){
huanColor(dataArr[i-1][j]);
}
if(j>0){
huanColor(dataArr[i][j-1]);
}
if(i<count-1){
huanColor(dataArr[i+1][j]);
}
if(j<count-1){
huanColor(dataArr[i][j+1]);
}
var over = true;
_break:
for(var h=0;h<count;h++){
for(var k=0;k<count;k++){
var layer2 = dataArr[h][k];
if(layer2.c == 1){
over = false;
break _break;
}
}
}
if(over){
var overLayer = new LSprite();
addChild(overLayer);
var shape = new LShape();
overLayer.addChild(shape);
shape.graphics.drawRect(5,"dimgray",[0,0,400,400],true,"lightgray");
shape.alpha = 0.5;
shape = new LShape();
overLayer.addChild(shape);
shape.graphics.drawRect(2,"dimgray",[50,100,300,50],true,"lightgray");
shape.alpha = 1;
var overText = new LTextField();
overText.color = "dimgray";
overText.font = "黑体";
overText.text = '恭喜,过了第'+(count-1)+'关.点击闯下关.';
overText.x = 110;
overText.y = 120;
overLayer.addChild(overText);
overLayer.addEventListener(LMouseEvent.MOUSE_DOWN,function(){
removeChild(overLayer);
overLayer=null;
countAdd();
});
}
}
function huanColor(layer){
var i = parseInt(layer.pij.substr(0,1));
var j = parseInt(layer.pij.substr(2,1));
if(layer.c){
layer.graphics.clear();
layer.graphics.drawRect(1, "#000000", [w*i, w*j, w, w], true, "#008800");
layer.c=0;
}else{
layer.graphics.clear();
layer.graphics.drawRect(1, "#000000", [w*i, w*j, w, w], true, "#880088");
layer.c=1;
}
}
function countAdd(){
for(var i=0;i<count;i++){
for(var j=0;j<count;j++){
var layer = new LSprite();
removeChild(layer);
layer = null;
}
}
count++;
localStorage.count = count;
w = width/count;
main();
}
</script>
</body>
</html>