标签:style class blog code java http
刚刚学习JS的菜鸟,游戏没有实现滑动效果。希望有前辈能指点一下······
定义的主要方法:
1.fuzhi()生成一对随机数,然后根据这对随机数取得一个随机单元格,先判断其是否为空,不为空,对其进行赋值为2的操作;为空,则再次调用fuzhi()。
2.secai()遍历表格,根据单元格的数值改变单元格的背景颜色。
3.score()遍历单元格,计算实时总得分。
4.keyDown()主要方法,根据用户按上下左右键来进行不同的数值相加、消除动作。这一段代码写得很冗余·····
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>1024</title> 6 <style type="text/css"> 7 table{ 8 width: 400px; 9 height: 400px; 10 position: relative; 11 left: 50%; 12 margin-left: -200px; 13 } 14 p{ 15 text-align: center; 16 font-weight: bolder; 17 } 18 tr td{ 19 width: 100px; 20 height: 100px; 21 font-size: 25px; 22 text-align: center; 23 font-weight: bold; 24 border:2px solid #ffbbcc; 25 } 26 </style> 27 </head> 28 <body> 29 <table id="table" style="border:1px solid #ffccee;background-color:#ffccee"> 30 <p>SCORE:<span id="score">0</span></p> 31 <tbody id="tbody"></tbody> 32 </table> 33 <script type="text/javascript"> 34 for(i=1;i<=4;i++) 35 { 36 var row=document.createElement("tr"); 37 for(var j=1;j<=4;j++) 38 { 39 var cell=document.createElement("td"); 40 //cell.appendChild(); 41 row.appendChild(cell); 42 } 43 document.getElementById("tbody").appendChild(row); 44 } 45 function score() 46 { 47 var score=0; 48 for(i=0;i<=3;i++) 49 { 50 for(j=0;j<=3;j++) 51 { 52 if(document.all("table").rows[i].cells[j].innerHTML!="") 53 score+=parseInt(document.all("table").rows[i].cells[j].innerHTML); 54 } 55 } 56 document.getElementById("score").innerHTML=score; 57 } 58 function secai() 59 { 60 for (var i = 0;i<=3;i++) 61 { 62 for (var j=0; j <= 3; j++) { 63 if (parseInt(document.all("table").rows[i].cells[j].innerHTML)>=64) 64 {document.all("table").rows[i].cells[j].style.backgroundColor="#ffeedd";} 65 else if (parseInt(document.all("table").rows[i].cells[j].innerHTML)>=32) 66 {document.all("table").rows[i].cells[j].style.backgroundColor="#ffbcbc";} 67 else if (parseInt(document.all("table").rows[i].cells[j].innerHTML)>=16) {document.all("table").rows[i].cells[j].style.backgroundColor="#ffbbbb";} 68 else if (parseInt(document.all("table").rows[i].cells[j].innerHTML)>=8) {document.all("table").rows[i].cells[j].style.backgroundColor="#ffeedd";} 69 else 70 {document.all("table").rows[i].cells[j].style.backgroundColor="#ffccee";} 71 }; 72 }; 73 } 74 75 function fuzhi() 76 { 77 var a=2; 78 var i=Math.floor(Math.random()*4);//取得0到3随机整数 79 var j=Math.floor(Math.random()*4); 80 if(document.all("table").rows[i].cells[j].innerHTML=="")//如果单元格值为空 81 {document.all("table").rows[i].cells[j].innerText=a; 82 return; } 83 if(document.all("table").rows[i].cells[j].innerHTML!="")//如果单元格不为空 84 fuzhi(); 85 } 86 document.onkeydown=keyDown; 87 function keyDown(e) 88 { 89 90 var keycode = event.keyCode; 91 92 93 if(keycode==37)//如果按左边箭头 94 { 95 96 for(i=3;i>=0;i--) 97 { 98 for(j=3;j>=1;j--) 99 { 100 if (document.all("table").rows[i].cells[j].innerHTML==document.all("table").rows[i].cells[j-1].innerHTML) 101 { 102 if(document.all("table").rows[i].cells[j].innerHTML!="") 103 { 104 document.all("table").rows[i].cells[j-1].innerHTML=parseInt(document.all("table").rows[i].cells[j].innerHTML)+parseInt(document.all("table").rows[i].cells[j-1].innerHTML); 105 document.all("table").rows[i].cells[j].innerHTML=""; 106 } 107 } 108 else if (document.all("table").rows[i].cells[j].innerHTML!=document.all("table").rows[i].cells[j-1].innerHTML) 109 { 110 if (document.all("table").rows[i].cells[j-1].innerHTML==""&&document.all("table").rows[i].cells[j].innerHTML!="") 111 { 112 if(j==3) 113 { 114 document.all("table").rows[i].cells[j-1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 115 document.all("table").rows[i].cells[j].innerHTML=""; 116 } 117 else if(j==2) 118 { 119 document.all("table").rows[i].cells[j-1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 120 121 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i].cells[j+1].innerHTML; 122 document.all("table").rows[i].cells[j+1].innerHTML=""; 123 124 } 125 else if(j==1) 126 { 127 document.all("table").rows[i].cells[j-1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 128 129 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i].cells[j+1].innerHTML; 130 131 document.all("table").rows[i].cells[j+1].innerHTML=document.all("table").rows[i].cells[j+2].innerHTML; 132 document.all("table").rows[i].cells[j+2].innerHTML=""; 133 134 } 135 }; 136 137 }; 138 139 } 140 141 } 142 } 143 else if (keycode==38) 144 { 145 for(i=3;i>=1;i--) 146 { 147 for(j=3;j>=0;j--) 148 { 149 if (document.all("table").rows[i].cells[j].innerHTML==document.all("table").rows[i-1].cells[j].innerHTML) 150 { 151 if(document.all("table").rows[i].cells[j].innerHTML!="") 152 { 153 document.all("table").rows[i-1].cells[j].innerHTML=parseInt(document.all("table").rows[i].cells[j].innerHTML)+parseInt(document.all("table").rows[i-1].cells[j].innerHTML); 154 document.all("table").rows[i].cells[j].innerHTML=""; 155 } 156 } 157 else if (document.all("table").rows[i].cells[j].innerHTML!=document.all("table").rows[i-1].cells[j].innerHTML) 158 { 159 if (document.all("table").rows[i-1].cells[j].innerHTML==""&&document.all("table").rows[i].cells[j].innerHTML!="") 160 { 161 if(i==3) 162 { 163 document.all("table").rows[i-1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 164 document.all("table").rows[i].cells[j].innerHTML=""; 165 } 166 else if(i==2) 167 { 168 document.all("table").rows[i-1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 169 170 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i+1].cells[j].innerHTML; 171 document.all("table").rows[i+1].cells[j].innerHTML=""; 172 173 } 174 else if(i==1) 175 { 176 document.all("table").rows[i-1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 177 178 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i+1].cells[j].innerHTML; 179 180 document.all("table").rows[i+1].cells[j].innerHTML=document.all("table").rows[i+2].cells[j].innerHTML; 181 document.all("table").rows[i+2].cells[j].innerHTML=""; 182 183 } 184 }; 185 186 }; 187 188 } 189 190 } 191 192 } 193 else if(keycode==39)//如果按you边箭头 194 { 195 196 for(i=0;i<=3;i++) 197 { 198 for(j=0;j<=2;j++) 199 { 200 if (document.all("table").rows[i].cells[j+1].innerHTML==document.all("table").rows[i].cells[j].innerHTML) 201 { 202 if(document.all("table").rows[i].cells[j+1].innerHTML!="") 203 { 204 document.all("table").rows[i].cells[j+1].innerHTML=parseInt(document.all("table").rows[i].cells[j+1].innerHTML)+parseInt(document.all("table").rows[i].cells[j].innerHTML); 205 document.all("table").rows[i].cells[j].innerHTML=""; 206 } 207 } 208 else if (document.all("table").rows[i].cells[j+1].innerHTML!=document.all("table").rows[i].cells[j].innerHTML) 209 { 210 if (document.all("table").rows[i].cells[j+1].innerHTML==""&&document.all("table").rows[i].cells[j].innerHTML!="") 211 { 212 if(j==0) 213 { 214 document.all("table").rows[i].cells[j+1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 215 document.all("table").rows[i].cells[j].innerHTML=""; 216 } 217 else if(j==1) 218 { 219 document.all("table").rows[i].cells[j+1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 220 221 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i].cells[j-1].innerHTML; 222 document.all("table").rows[i].cells[j-1].innerHTML=""; 223 224 } 225 else if(j==2) 226 { 227 document.all("table").rows[i].cells[j+1].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 228 229 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i].cells[j-1].innerHTML; 230 231 document.all("table").rows[i].cells[j-1].innerHTML=document.all("table").rows[i].cells[j-2].innerHTML; 232 document.all("table").rows[i].cells[j-2].innerHTML=""; 233 234 } 235 }; 236 237 }; 238 239 } 240 241 } 242 } 243 else if (keycode==40) 244 { 245 for(i=0;i<=2;i++) 246 { 247 for(j=0;j<=3;j++) 248 { 249 if (document.all("table").rows[i+1].cells[j].innerHTML==document.all("table").rows[i].cells[j].innerHTML) 250 { 251 if(document.all("table").rows[i+1].cells[j].innerHTML!="") 252 { 253 document.all("table").rows[i+1].cells[j].innerHTML=parseInt(document.all("table").rows[i+1].cells[j].innerHTML)+parseInt(document.all("table").rows[i].cells[j].innerHTML); 254 document.all("table").rows[i].cells[j].innerHTML=""; 255 } 256 } 257 else if (document.all("table").rows[i+1].cells[j].innerHTML!=document.all("table").rows[i].cells[j].innerHTML) 258 { 259 if (document.all("table").rows[i+1].cells[j].innerHTML==""&&document.all("table").rows[i].cells[j].innerHTML!="") 260 { 261 if(i==0) 262 { 263 document.all("table").rows[i+1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 264 document.all("table").rows[i].cells[j].innerHTML=""; 265 } 266 else if(i==1) 267 { 268 document.all("table").rows[i+1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 269 270 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i-1].cells[j].innerHTML; 271 document.all("table").rows[i-1].cells[j].innerHTML=""; 272 273 } 274 else if(i==2) 275 { 276 document.all("table").rows[i+1].cells[j].innerHTML=document.all("table").rows[i].cells[j].innerHTML; 277 278 document.all("table").rows[i].cells[j].innerHTML=document.all("table").rows[i-1].cells[j].innerHTML; 279 280 document.all("table").rows[i-1].cells[j].innerHTML=document.all("table").rows[i-2].cells[j].innerHTML; 281 document.all("table").rows[i-2].cells[j].innerHTML=""; 282 283 } 284 }; 285 286 }; 287 288 } 289 290 } 291 292 } 293 294 fuzhi(); 295 secai(); 296 score(); 297 } 298 </script> 299 </body> 300 </html>
2048小游戏-JS实现(BUG调试中),布布扣,bubuko.com
标签:style class blog code java http
原文地址:http://www.cnblogs.com/twobrothers/p/3796353.html