<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 一个无聊的游戏 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"> </HEAD>
<style type="text/css">
tr td{cursor: pointer;transition: all ease .3s;color: #fff;font-weight: 600;box-shadow: 0 0 5px 1px #000;}
tr:last-child td:last-child{color: #000}
.bd{margin: 0 auto;width: 300px;}
</style>
<BODY style="background-color:#eee">
<div class="bd">
<h4 style="margin:15px 15px;">全部换色即为过关!</h4>
<table width="300" height="180" border="0" cellpadding="0" cellspacing="3">
<tr align="center">
<td bgcolor="#4599cc" width="25%" id="0-0" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="0-1" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="0-2" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="0-3" onclick="ct(this)"></td>
</tr>
<tr align="center">
<td bgcolor="#4599cc" width="25%" id="1-0" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="1-1" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="1-2" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="1-3" onclick="ct(this)"></td>
</tr>
<tr align="center">
<td bgcolor="#4599cc" width="25%" id="2-0" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="2-1" onclick="ct(this)"></td>
<td bgcolor="#4599cc" width="25%" id="2-2" onclick="ct(this)"></td>
<td bgcolor="#f5f5d5" id="2-3" onclick="resetBox(this)"></td>
</tr>
</table>
<h4 id="mm"></h4>
</div>
</BODY>
</HTML>
<script type="text/javascript">
console.log("E H J I F C D H C")
var $ = function(ele){return document.getElementById(ele);}
var box = [
[1,1,1,1],
[1,1,1,1],
[1,1,1,0]
];
var maxX = 2; //最大行
var maxY = 3; //最大列
var count = 0;
function ct(ele){
var p = ele.id.split("-");
if(box[p[0]][p[1]] == 1){ //能点击
box[p[0]][p[1]] = -1; var sum = 0;
var aX = parseInt(p[0])-1,
bX = parseInt(p[0])+1,
cY = parseInt(p[1])-1,
dY = parseInt(p[1])+1;
if ( aX >= 0 ){
if(box[aX][p[1]] == -1){
box[aX][p[1]] = 1;
}else{
box[aX][p[1]] = -1;
}
}
if ( bX <= maxX ) {
if(box[bX][p[1]] == -1){
box[bX][p[1]] = 1;
}else{
box[bX][p[1]] = -1;
}
}
if( cY >= 0 ){
if(box[p[0]][cY] == -1){
box[p[0]][cY] = 1;
}else{
box[p[0]][cY] = -1;
}
}
if( dY <= maxY ){
if(box[p[0]][dY] == -1){
box[p[0]][dY] = 1;
}else{
box[p[0]][dY] = -1;
}
}
box[2][3] = 0;
$("mm").innerHTML = "第"+(++count)+"次尝试";
for(var i = 0; i<3 ; i++){
for(var j =0 ;j <4 ; j++){
sum += box[i][j];
if(box[i][j] == 1){
$(i+"-"+j).bgColor = "#4599cc";
$(i+"-"+j).style.color = "#fff"; }else if(box[i][j] == -1){
$(i+"-"+j).bgColor = "#d8cb59";
$(i+"-"+j).style.color = "#074d6d"; }else{
$(i+"-"+j).bgColor = "#f5f5d5";
};
}
};
if(sum == -11){ //
$("mm").innerHTML = "恭喜过关!尝试总次数:"+count;
$("mm").style.color = "#960000";
}
}
}
function resetBox(){
for(var i=0; i<3; i++){
for(var j=0; j<4; j++){
box[i][j] = 1;
$(i + '-' + j).bgColor = '#4599cc';
$(i + '-' + j).style.color = '#fff';
}
}
box[2][3] = 0;
count = 0;
$(2 + '-' + 3).bgColor = '#f5f5d5';
$('mm').innerHTML = '';
$("mm").style.color = "#000";
}
</script>

这里主要运用的技术就是数组了,逻辑很简单,让点击的元素四周元素全部变色,所有元素换色成功后即为过关

js小游戏---智力游戏的更多相关文章

  1. 一个js小游戏----总结

    花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...

  2. html+css+js实现网页拼图游戏

    代码地址如下:http://www.demodashi.com/demo/14449.html 项目描述 使用 html+js+css 实现一个网页拼图游戏,可支持简单,中等,困难三种难度. 演示效果 ...

  3. BZOJ_1022_[SHOI2008]_小约翰的游戏John_(博弈论_反Nim游戏)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1022 反Nim游戏裸题.详见论文<组合游戏略述——浅谈SG游戏的若干拓展及变形>. ...

  4. SHOI2008小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1139  Solved: 701[Submit][ ...

  5. BZOJ2464: 中山市选[2009]小明的游戏

    2464: 中山市选[2009]小明的游戏 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 280  Solved: 124[Submit][Statu ...

  6. bzoj 1022: [SHOI2008]小约翰的游戏John anti_nim游戏

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1189  Solved: 734[Submit][ ...

  7. BZOJ 1022 [SHOI2008]小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1635  Solved: 1036[Submit] ...

  8. 6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你 ...

  9. 1022: [SHOI2008]小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1322  Solved: 829[Submit][ ...

随机推荐

  1. 详解AsyncTask的使用

    转载自:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask. ...

  2. zookeeper系列之通信模型(转)

    本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型. Zookeeper的通信架构 在Zookeeper整个系统中,有3中角色的服务,client.F ...

  3. COGS729. [网络流24题] 圆桌聚餐

    «问题描述:假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri(i=1,2,3...m), .会议餐厅共有n张餐桌,每张餐桌可容纳c i(i=1,2...n) 个代表就餐.为了 ...

  4. WKWebView与JS交互,UIWebView+JavascriptCore和JS交互

    最近一直在做有关Swift和JavaScript交互的程序,所以有关UIWebView和WKWebView在使用上的差别在此总结下: UIWebView: (1)创建 var webView: UIW ...

  5. RabbitMQ Topic exchange

    Topic exchange topic与之前的每个类型都不同(ps:废话每个都是不同的).Topic解决了我们另一个需求.举个例子,有一个做资讯的公司,他们会收集各种科技公司的动态并且第一时间转发出 ...

  6. python更新后yum问题

    How to switch between Python versions on Fedora Linux Currently, the default python version on Fedor ...

  7. mysql免安装使用(win7 64位系统)

    一.解压 二.以管理员身份运行cmd 三.cmd命令进入到解压后的mysql文件bin目录下 四.将mysql服务添加到windows服务中.cmd在bin目录下输入:mysqld -install  ...

  8. ADMM与one-pass multi-view learning

    现在终于开始看论文了,机器学习基础部分的更新可能以后会慢一点了,当然还是那句话宁愿慢点,也做自己原创的,自己思考的东西.现在开辟一个新的模块----多视图学习相关论文笔记,就是分享大牛的paper,然 ...

  9. JS复习--更新结束

    js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...

  10. 修改Excel2013默认模版(启动模版和新建Sheet模版)

    1.  C:\Windows\ShellNew\EXCEL12.XLSX 设置好格式后另存为, 然后复制过来覆盖掉,如果覆盖不了,注意修改所有者权限 2. 新建文件保存为模版文件Sheet.xltx, ...