console
window.onload=init();
var result=false,ys=true;
function GetRandom(Min,Max){
return Min+Math.round((Max-Min)*Math.random());
}
function RandomNum(){
var num=GetRandom(1,16);
if(document.getElementById(num).innerHTML==""){
document.getElementById(num).innerHTML=GetRandom(1,2)*2;
}else{
RandomNum();
}
}
function init(){
var tab=document.getElementById("tab"),text="",id=1;
for(var i=1;i<5;i++){
text+="<tr>";
for(var j=i;j<=i+12;j+=4){
text+="<td id="+id+"></td>";
id++;
}
text+="</tr>"
}
tab.innerHTML=text;
for(var i=0;i<2;i++){
RandomNum();
}
Result();
}
function Top(){
for(var i=1;i<5;i++){
ys=true;
for(var j=i;j<=i+12;j+=4){
for(var x=j;x>4;x-=4){
var test1=document.getElementById(x-4);
var test2=document.getElementById(x);
Change(test1,test2);
}
}
}
}
function But(){
for(var i=1;i<5;i++){
ys=true;
for(var j=i+12;j>=i;j-=4){
for(var x=j;x<13;x+=4){
var test1=document.getElementById(x+4);
var test2=document.getElementById(x);
Change(test1,test2);
}
}
}
}
function Left(){
for(var i=1;i<=13;i+=4){
ys=true;
for(var j=i;j<=i+3;j+=1){
for(var x=j;x>i;x-=1){
var test1=document.getElementById(x-1);
var test2=document.getElementById(x);
Change(test1,test2);
}
}
}
}
function Right(){
for(var i=1;i<=13;i+=4){
ys=true;
for(var j=i+4;j>=i;j-=1){
for(var x=j;x<i+3;x+=1){
var test1=document.getElementById(x+1);
var test2=document.getElementById(x);
Change(test1,test2);
}
}
}
}
function test(){
result=false;
if(event.keyCode==37) Left();
if(event.keyCode==38) Top()
if(event.keyCode==39) Right();
if(event.keyCode==40) But();
if(result) RandomNum();
Result();
}
function Change(test1,test2){
if(test1.innerHTML==""&&test2.innerHTML!=""){
result=true;
test1.innerHTML=test2.innerHTML;
test2.innerHTML="";
}else if(test1.innerHTML!=""&&test1.innerHTML==test2.innerHTML&&ys){
test1.innerHTML=parseInt(test1.innerHTML)+parseInt(test2.innerHTML);
test2.innerHTML="";
result=true;
ys=false;
}
}
function Result(){
var result=0,colors=colors = {
"": "#d3d3d3",
"2": "#fef4f2",
"4": "#fed9a2",
"8": "#fc8c5e",
"16": "#f8692f",
"32": "#f8563d",
"64": "#ff3936",
"128": "#00c3dd",
"256": "#00a4be",
"512": "#00abcb",
"1024": "#00abcb",
"2048": "#00abcb",
"4096": "#005d6e"
};
for(var i=1;i<=16;i++){
var text=document.getElementById(i);
text.style.backgroundColor=colors[text.innerHTML];
if(text.innerHTML>=8){
text.style.color="#FFF";
}else{
text.style.color="#6e6f71"
}
if(text.innerHTML!=""){
result+=parseInt(text.innerHTML)*10;
}
}
document.getElementById("show").innerHTML=result;
}
<body onkeydown="test()" bgcolor="#f8fefe">
<table id="tab" cellspacing="8" bgcolor="#bfc0bb"></table>
<div style="font-size:12px; margin-top:20px;">(温馨提示:按上下左右键进行操作,如按键无效,请用IE内核的浏览器打开!)</div>
<div style="font-size:16px;">总积分:<span id="show"></span> 分</div>
</body>
body {
text-align: center;
font-size: 36px;
font-weight: bold;
font-family: "Microsoft YaHei" ! important;
}
table {
margin: 0px auto;
margin-top: 100px;
border-radius: 10px;
}
td {
width: 80px;
height: 80px;
border-radius: 10px;
}
span {
color: #f8563d;
font-size: 36px;
}