`
kongzimengsheng1
  • 浏览: 68526 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js 五子棋 BUG 可不少,小心哈 :)

阅读更多
为了练习js 写五子棋。。。算法上有点问题,,

1:必须只能水平,或垂直点,五个子,必须连继

<!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>五子棋</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<style type="text/css">

 #gobang{
  width:460px;
  height:480px;
  background:#fff;
 }
</style>
</head>

<body>
<div id="gobang">
</div>

<!--html xhtml-->

<script type="text/javascript">
  //主类
  function Gobang(){
   this.x;
   this.y;
   this.hand;
   this.count = 0;
   this.color;
  }


  //创建棋盘
  Gobang.prototype.createBoard = function(){
    var table = document.createElement("table");
	table.border = "1px";

   //18行
   for(var i = 0 ; i < 18;i++){
	 var tr = table.insertRow(i);
	 //18列
	 for(var j = 0 ; j < 18;j++){
	   var td = tr.insertCell(j);
	   td.border = "1px";
       td.width = "20px";
	   td.height = "20px";

       var x;
	   var y;

	   if(i < 10){
	    x = "0"+i;
	   }else{
	    x = i;
	   }

	   if(j < 10){
	    y = "0"+j;
	   }else{
	   y = j;
	   }


	   //创建空白图片对象;;
	   var pic = document.createElement("<img id="+ y +""+ x +" src='0.jpg' />")
       pic.attachEvent("onclick",this.point);
	   pic.style.width = "20px";
	   pic.style.height = "20px";
	   td.appendChild(pic);
	  
	 }
   }
    document.getElementById("gobang").appendChild(table);
  }

 
  
  //落子..??
 Gobang.prototype.point = function(){
  var p = event.srcElement;
  var pic = document.getElementById(p.id);
   if(pic.src.indexOf("0.jpg",0)== -1){
       alert("此处己落子,请重新选择");
	   return;
   }
  var map;
   if(this.hand == 1){
     map = "1.gif";
	 this.hand = 2;
   }else{
     map = "2.gif";
	 this.hand = 1;
   }
  
   pic.src = map;


   //======================================
   //判断羸输;
   var yy = ""+pic.id.substring(2,4);
   var xx = ""+pic.id.substring(0,2);

   //说来奇怪,
   //原来 08 parseInt(08)---结果是0
   //原来 09 parseInt(09)---结果是0
   //网上搜了结果  parseFloat()正常
   var count = 0;
   //=======================================================
   //x加方向判断
   //向右点
   var x = parseFloat(xx);
   for(var i = 1 ; i < 5;i++){
   x = parseFloat(x) + 1;


   if(x < 10){
    x = "0"+x;
   }

   var p = document.getElementById(x+yy);
   if(p == null){
    break;
   }
   if(p.src.substring(59,65) == pic.src.substring(59,65)){
     count++;
   }
   }//for
   //清空
   if(count == 4){
    alert("赢了");
   }
   //
   //===========================================================
   //x减方向判断
   //向左点
   count = 0;
   var x_ = parseFloat(xx);
   for(var i = 1 ; i < 5;i++){
   x_ = parseFloat(x_) - 1;


   if(x_ < 10){
    x_ = "0"+x_;
   }
   var p_ = document.getElementById(x_+yy);
    if(p == null){
    break;
   }
   if(p_.src.substring(59,65) == pic.src.substring(59,65)){
     count++;
   }
   }//for
   //清空
   if(count == 4){
    alert("赢了");
   }
   
   //
   //===========================================================

   //y减方向判断
   //向下
   count = 0;
   var y = parseFloat(yy);
   for(var i = 1 ; i < 5;i++){
   y = parseFloat(y) - 1;


   if(y < 10){
    y = "0"+y;
   }
   var p = document.getElementById(xx+y);
   if(p == null){
    break;
   }
   if(p.src.substring(59,65) == pic.src.substring(59,65)){
     count++;
   }
   }//for
   //清空


   if(count == 4){
    alert("赢了");
   }
  

  //================================
  //   
  //y减方向判断
  //向上
   count = 0;
   var y_ = parseFloat(yy);
   for(var i = 1 ; i < 5;i++){
   y_ = parseFloat(y_) + 1;


   if(y_ < 10){
    y_ = "0"+y_;
   }
   var p = document.getElementById(xx+y_);

    if(p == null){
    break;
   }
   if(p.src.substring(59,65) == pic.src.substring(59,65)){
     count++;
   }
   }//for
   //清空


   //===========================================================
   //对角线下

   count = 0;
   var y__ = parseFloat(yy);
   var x__ = parseFloat(xx);

   for(var i = 1 ; i < 5;i++){
   y__ = parseFloat(y__) + 1;
   x__ = parseFloat(x__) + 1;

   if(y__ < 10){
    y__ = "0"+y__;
   }

   if(x__ < 10){
    x__ = "0"+x__;
   }

   var p = document.getElementById(x__+y__);

    if(p == null){
    break;
   }
   if(p.src.substring(59,65) == pic.src.substring(59,65)){
     count++;
   }
   alert(count);
   }//for
   //清空



//========================================


   if(count == 4){
    alert("赢了");
   }
  //
  //================================
 }

 var gobang = new Gobang();
 gobang.createBoard();
</script>
</body>
</html>
  • 大小: 74.5 KB
  • tom.rar (4.3 KB)
  • 下载次数: 10
分享到:
评论

相关推荐

    原生js实现单机五子棋游戏

    在本项目中,“原生js实现单机五子棋游戏”是一个基于JavaScript的简单游戏开发实例,主要展示了如何使用纯JavaScript编程语言来构建一个功能完备的五子棋游戏。五子棋是一种双人对弈的策略型棋类游戏,目标是在棋盘...

    JavaScript五子棋

    JavaScript五子棋是一款利用JavaScript语言和HTML5的canvas元素实现的双人对战游戏。在这个游戏中,两位玩家可以通过网络或在同一设备上轮流在棋盘上下棋,目标是先连成五子的一方获胜。下面我们将深入探讨这个项目...

    有bug五子棋人机对战源码算法的设计有点意思值得学习一下.rar

    《有bug五子棋人机对战源码算法解析与学习》 五子棋作为一种深受人们喜爱的智力游戏,其人机对战模式在计算机科学领域具有很高的研究价值。源码中的“有bug五子棋人机对战”算法设计,尽管存在一些问题,但其独特的...

    软件工程毕业设计-网络五子棋设计.doc

    "软件工程毕业设计-网络五子棋设计" 本文旨在设计和实现一个基于网络的五子棋游戏系统,使用Java语言和eclipse平台,实现客户端和服务器之间的链接和数据传输。该系统的设计和实现 proceso涉及到软件工程的多个方面...

    单机五子棋(eclipse+java)

    本五子棋游戏小程序仅为简单的单机五子棋,基本功能需求:可两人对下(用鼠标操作),能判断输赢。 1、下棋操作功能需求: (1)实现鼠标可操作黑白子轮流生成并落子。 (2)当相同颜色的棋子连成五子时,能弹出判断...

    五子棋课程设计

    五子棋游戏描述:在一个方阵上通过两人对弈的形式,依次在棋盘上放置两种颜色的棋子,哪一方先让五个棋子形成一条直线(包括横、竖、对角线3个方向),即为获胜,本程序实现用键盘控制的五子棋游戏。 【功能要求】 ...

    js实现五子棋

    在这里,JavaScript将承担五子棋游戏的主要逻辑,包括棋盘的初始化、落子判断、胜负检测等。 **HTML5 Canvas** HTML5的Canvas是一个二维绘图API,允许开发者在网页上动态绘制图形。在这个五子棋项目中,我们将利用...

    js五子棋js五子棋

    非常好的游戏源代码js五子棋

    js写的五子棋(js写的五子棋)

    js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的...

    javascript五子棋

    JavaScript五子棋是一种基于Web的在线游戏,利用JavaScript编程语言实现。这种技术使得用户无需下载安装客户端,只需在浏览器中打开网页即可进行游戏。Wispeeder五子棋3.1版是这一系列游戏的一个更新版本,它提升了...

    javascript五子棋人机对战

    【javascript五子棋人机对战】项目是一个利用JavaScript实现的在线五子棋游戏,它包含人工智能(AI)模块,让玩家可以与计算机进行对战。这个项目可能是一个半成品,开发者试图通过不同的计算策略来优化游戏性能,...

    js五子棋小游戏

    【js五子棋小游戏】是一款基于JavaScript和HTML技术开发的小型在线游戏,旨在提供一个轻松娱乐的环境,同时也为编程爱好者提供了一个学习实践JavaScript和HTML交互的实例。在这个项目中,我们将探讨如何利用这两种...

    JS实现五子棋源码全

    【JS实现五子棋源码全】是一个适合初学者研究的项目,主要涉及JavaScript编程语言,特别是关于游戏开发和搜索算法的应用。这个项目的核心在于利用JS编写一个完整的五子棋游戏,让玩家可以在网页上进行对弈。通过分析...

    javascript 五子棋

    【JavaScript五子棋游戏详解】 JavaScript五子棋是一款基于网页的互动游戏,它利用JavaScript语言进行编程,结合HTML和CSS来构建用户界面和实现游戏逻辑。这款游戏不仅展示了JavaScript的动态特性,还体现了前端...

    javascript五子棋, javascript网络五子棋

    2010.5.29 Wispeeder Gobang 3.0完整版发布,...完整版具备QQ五子棋所有游戏所需功能,并且免下载,注册即玩。新版编程内核架构全部推翻重写,采用部分设计模式实现 游戏演示,请见:http://www.wushen.biz/wispeeder

    javascript五子棋小游戏,基于div+canvas的五子棋小游戏

    javascript五子棋小游戏, 基于div+canvas的五子棋小游戏 示例:https://www.cwgj.xyz/m/wzq/index.html 可点击在线试用

    python实现AI五子棋

    【Python实现AI五子棋】项目是一个利用深度学习技术,特别是卷积神经网络(CNN)构建的智能五子棋游戏。这个程序的核心是通过训练神经网络来模拟对手的行为,从而实现人工智能在五子棋游戏中的智能决策。下面将详细...

    javascript五子棋源码

    JavaScript五子棋源码是一个基于Web的五子棋游戏实现,使用了JavaScript这门流行的客户端编程语言。在本文中,我们将深入探讨JavaScript五子棋源码的各个方面,包括基本概念、核心逻辑、用户交互以及可能涉及的技术...

    五子棋游戏C语言版本(比较简单)

    C语言写的五子棋 直接编译运行 功能比较简单

    js实现五子棋游戏

    在本文中,我们将深入探讨如何使用JavaScript(JS)来实现一个五子棋游戏。五子棋,又称为连珠、黑白棋,是一种简单而有趣的双人对弈游戏,目标是通过在棋盘上连接五个同色棋子来赢得比赛。在JavaScript中实现这个...

Global site tag (gtag.js) - Google Analytics