为了练习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
分享到:
相关推荐
在本项目中,“原生js实现单机五子棋游戏”是一个基于JavaScript的简单游戏开发实例,主要展示了如何使用纯JavaScript编程语言来构建一个功能完备的五子棋游戏。五子棋是一种双人对弈的策略型棋类游戏,目标是在棋盘...
JavaScript五子棋是一款利用JavaScript语言和HTML5的canvas元素实现的双人对战游戏。在这个游戏中,两位玩家可以通过网络或在同一设备上轮流在棋盘上下棋,目标是先连成五子的一方获胜。下面我们将深入探讨这个项目...
《有bug五子棋人机对战源码算法解析与学习》 五子棋作为一种深受人们喜爱的智力游戏,其人机对战模式在计算机科学领域具有很高的研究价值。源码中的“有bug五子棋人机对战”算法设计,尽管存在一些问题,但其独特的...
"软件工程毕业设计-网络五子棋设计" 本文旨在设计和实现一个基于网络的五子棋游戏系统,使用Java语言和eclipse平台,实现客户端和服务器之间的链接和数据传输。该系统的设计和实现 proceso涉及到软件工程的多个方面...
本五子棋游戏小程序仅为简单的单机五子棋,基本功能需求:可两人对下(用鼠标操作),能判断输赢。 1、下棋操作功能需求: (1)实现鼠标可操作黑白子轮流生成并落子。 (2)当相同颜色的棋子连成五子时,能弹出判断...
五子棋游戏描述:在一个方阵上通过两人对弈的形式,依次在棋盘上放置两种颜色的棋子,哪一方先让五个棋子形成一条直线(包括横、竖、对角线3个方向),即为获胜,本程序实现用键盘控制的五子棋游戏。 【功能要求】 ...
在这里,JavaScript将承担五子棋游戏的主要逻辑,包括棋盘的初始化、落子判断、胜负检测等。 **HTML5 Canvas** HTML5的Canvas是一个二维绘图API,允许开发者在网页上动态绘制图形。在这个五子棋项目中,我们将利用...
非常好的游戏源代码js五子棋
js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的五子棋js写的...
JavaScript五子棋是一种基于Web的在线游戏,利用JavaScript编程语言实现。这种技术使得用户无需下载安装客户端,只需在浏览器中打开网页即可进行游戏。Wispeeder五子棋3.1版是这一系列游戏的一个更新版本,它提升了...
【javascript五子棋人机对战】项目是一个利用JavaScript实现的在线五子棋游戏,它包含人工智能(AI)模块,让玩家可以与计算机进行对战。这个项目可能是一个半成品,开发者试图通过不同的计算策略来优化游戏性能,...
【js五子棋小游戏】是一款基于JavaScript和HTML技术开发的小型在线游戏,旨在提供一个轻松娱乐的环境,同时也为编程爱好者提供了一个学习实践JavaScript和HTML交互的实例。在这个项目中,我们将探讨如何利用这两种...
【JS实现五子棋源码全】是一个适合初学者研究的项目,主要涉及JavaScript编程语言,特别是关于游戏开发和搜索算法的应用。这个项目的核心在于利用JS编写一个完整的五子棋游戏,让玩家可以在网页上进行对弈。通过分析...
【JavaScript五子棋游戏详解】 JavaScript五子棋是一款基于网页的互动游戏,它利用JavaScript语言进行编程,结合HTML和CSS来构建用户界面和实现游戏逻辑。这款游戏不仅展示了JavaScript的动态特性,还体现了前端...
2010.5.29 Wispeeder Gobang 3.0完整版发布,...完整版具备QQ五子棋所有游戏所需功能,并且免下载,注册即玩。新版编程内核架构全部推翻重写,采用部分设计模式实现 游戏演示,请见:http://www.wushen.biz/wispeeder
javascript五子棋小游戏, 基于div+canvas的五子棋小游戏 示例:https://www.cwgj.xyz/m/wzq/index.html 可点击在线试用
【Python实现AI五子棋】项目是一个利用深度学习技术,特别是卷积神经网络(CNN)构建的智能五子棋游戏。这个程序的核心是通过训练神经网络来模拟对手的行为,从而实现人工智能在五子棋游戏中的智能决策。下面将详细...
JavaScript五子棋源码是一个基于Web的五子棋游戏实现,使用了JavaScript这门流行的客户端编程语言。在本文中,我们将深入探讨JavaScript五子棋源码的各个方面,包括基本概念、核心逻辑、用户交互以及可能涉及的技术...
C语言写的五子棋 直接编译运行 功能比较简单
在本文中,我们将深入探讨如何使用JavaScript(JS)来实现一个五子棋游戏。五子棋,又称为连珠、黑白棋,是一种简单而有趣的双人对弈游戏,目标是通过在棋盘上连接五个同色棋子来赢得比赛。在JavaScript中实现这个...