【散分】又花了一晚上更改了前个晚上写的JavaScript小游戏(高难度版)

wujinjian2008n 2009-12-03 11:53:48
加精
简单版的地址:http://topic.csdn.net/u/20091202/23/74982b63-3c53-47e3-9c0b-c30d1707bb80_5.html?seed=757890125&r=61637173#r_61637173
简单版的只要围成这样就赢了:

高难度版要围成这样才能赢:
游戏连接https://forum.csdn.net/Game1.html
代码如下:延伸至1-3楼,4、5楼为老代码


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>wujinjian</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//11 个单元格,每个单元格的大小就 等于 地图的大小(mapWH)/mapSize
var mapSize=17; //一定要奇数
//地图的大小
var mapWH=500;
//记录对方的ID
var computerID;
//这个方向是否可走
var isPath=true;
//记录八方位上距离对方的距离
var up=0;
var left=0;
var right=0;
var down=0;
var leftup=0;
var rightup=0;
var leftdown=0;
var rightdown=0;
//障碍物的最多个数(可重叠)
var za=17;

var isFirst=true;

function createMap()
{
var x=(mapSize-1)/2;
var y=(mapSize-1)/2;

computerID=x+"_"+y;

var tabobj=document.createElement("table");
tabobj.style.width=mapWH+"px";
tabobj.style.height=mapWH+"px";

tabobj.border="1";

var tbodyobj=document.createElement("tbody");

for(var i=0;i<mapSize;i++)
{
var trobj=document.createElement("tr");

for(var j=0;j<mapSize;j++)
{
var tdobj=document.createElement("td");
tdobj.style.border="rgb(128,128,255) solid 1px";
tdobj.id=i+"_"+j
tdobj.onclick=tdClick;

if(i+"_"+j==computerID)
{
tdobj.style.backgroundColor="red";
}

var txt=document.createTextNode(" ");
tdobj.appendChild(txt);

trobj.appendChild(tdobj);
}

tbodyobj.appendChild(trobj);
}

tabobj.appendChild(tbodyobj);

document.getElementById("map_div").appendChild(tabobj);

//默认随机障碍物
for(var i=0;i<za;i++)
{
var _id=Math.round(Math.random()*(mapSize-1)) +"_"+ Math.round(Math.random()*(mapSize-1));
if(document.getElementById(_id).style.backgroundColor=="")
document.getElementById(_id).style.backgroundColor="gray";
}

for(var i=0;i<mapSize;i++)
{
document.getElementById(i+"_"+(mapSize-1)).style.border="rgb(223,223,223) solid 1px";
document.getElementById((mapSize-1)+"_"+i).style.border="rgb(223,223,223) solid 1px";
document.getElementById(i+"_0").style.border="rgb(223,223,223) solid 1px";
document.getElementById("0_"+i).style.border="rgb(223,223,223) solid 1px";
}

setMessageDivSize();
}

function setMessageDivSize()
{
document.getElementById("message_div").style.width="180px";
document.getElementById("message_div").style.height=document.getElementById("map_div").offsetHeight-2+"px";
}

function startDate()
{
document.getElementById("startDate").value=new Date().toLocaleTimeString();
}

function nowDate()
{
document.getElementById("nowDate").value=new Date().toLocaleTimeString();

setTimeout("nowDate()",1000);
}

function yxbs()
{
document.getElementById("yxbs").value=document.getElementById("yxbs").value-0+1;
}

function tdClick()
{
if(isFirst)
{
startDate();
nowDate();
isFirst=false;
}
if(this.style.backgroundColor=="")
{
this.style.backgroundColor="gray";

up=0;
left=0;
right=0;
down=0;
leftup=0;
rightup=0;
leftdown=0;
rightdown=0;

computerXZ();

yxbs();
}
}
...全文
19700 555 打赏 收藏 转发到动态 举报
写回复
用AI写文章
555 条回复
切换为时间正序
请发表友善的回复…
发表回复
Smile_Tiger 2012-10-22
  • 打赏
  • 举报
回复
这个。。。。。。其实是玩家和lz制作的人工智能之间的博弈。。。。。。。
灵魂火焰 2012-10-10
  • 打赏
  • 举报
回复

光顾着玩儿了。。。结果:
甲小蛙 2012-09-27
  • 打赏
  • 举报
回复
乱码的有木有啊。。。
wangkexue 2012-09-10
  • 打赏
  • 举报
回复
玩了7、8回,没看源码。我的理解是关键是四个角,因为在四个角处方块有三种逃出的可能,把四个交封住基本上就必胜了。
yinchengshuai 2012-09-06
  • 打赏
  • 举报
回复
快一百步才逮住~~~
kis龍 2012-09-03
  • 打赏
  • 举报
回复
图越大越容易,因为往边上走的步数多,有4个边,可以优先堵他向哪个方向走的那条边
kis龍 2012-09-03
  • 打赏
  • 举报
回复
楼主,我想知道这东西怎么才能赢,以我的理解,要用8个才能围住,这个是赢不了的,除非他傻
jasamjasam 2012-08-28
  • 打赏
  • 举报
回复
烂,超级烂!!!简单!
foxlovw0813 2012-08-27
  • 打赏
  • 举报
回复
貌似赢不了饿哦。
paul烂熊 2012-08-26
  • 打赏
  • 举报
回复
终于赢了
lovesmil6789 2012-08-24
  • 打赏
  • 举报
回复
16步就赢了,太简单了,有技巧的。
lovesmil6789 2012-08-24
  • 打赏
  • 举报
回复
23步搞定,我想厉害的十几步就好了,我试下
wrmfw9 2012-08-22
  • 打赏
  • 举报
回复
很好,值得发扬光大!
suhuizhang 2012-07-02
  • 打赏
  • 举报
回复
我也赢了诶!嘿嘿……
imbian 2012-05-31
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]

据说以后CSDN抽筋儿时就玩这个了...
[/Quote]又在抽筋,又在玩围堵。。。
foxdo 2012-05-09
  • 打赏
  • 举报
回复
我发现可以直接堵最外层,就是红色进去就输的那一层,高难度这样玩就问题不大了……嘿嘿。
_hug 2012-05-08
  • 打赏
  • 举报
回复
我下了一个Eclipse Version: 3.7.1,也装了jdk 然后怎么把楼主的html代码弄进Eclipse并且跑出游戏呢
H_Hao 2012-05-08
  • 打赏
  • 举报
回复
有小bug 当他能斜着往左右走的时候 我堵了一个 他居然没往列一个地方走 而是返回往上了
曹胜欢 2012-04-28
  • 打赏
  • 举报
回复
楼主牛人。。。
cnfixit 2012-04-09
  • 打赏
  • 举报
回复
挺好,好不容易玩过一盘
加载更多回复(535)

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧