五子棋java毕业设计论文(java游戏五子棋论文)

1.java游戏五子棋论文

<%@ page contentType="text/html;charset=utf-8"%><html><head><title>;五子棋</title><meta ; charset=utf-8"><style type="text/css"> body{ word-break:break-word;}#aboutstep{ position:absolute; right:45px; top:300px; width:200px; vertical-align:bottom;}</style><script language="javascript">//五子棋棋子亦称“棋石”分黑、白两色,形状为扁圆形,有一面凸起或两面凸起等形状,厚度不超过0.8厘米,直径为2.0~2.3厘米;//一副棋子总数为225枚,其中黑子113枚,白子112枚。

var presentperson=false; //true表示人先下,否则表示机器先下//谁先只需要改为true或false就可以了,不需要改其它东西var maxsize=15;var personstep=0;var machinestep=0;var _stack=new Array();//needn't to allocate spacevar chese=new Array(maxsize*maxsize);var chesevalue=new Array(maxsize*maxsize);for(var i=0;i<maxsize*maxsize;i++)//初始化棋盘 { chese[i]=0; }</script></head><body onl oad="startup()"><table id="chesetable" border="1px" width="auto" align="center" height="600px" style="background-color:#EED090;text-align:center;"><% for(int i=0;i<15;i++) {out.print("<tr>"); for(int j=0;j<15;j++) {out.print("<td onclick='putone(this,"+i+","+j+")' style='width:45px;height:45px;cursor:pointer;'> </td>"); } out.print("</tr>"); }%></table><div id="aboutstep"><;!-- 加计时器会降低速度,这里就不加了 --> 人 <img src="images/white_.gif" alt="white" width="50px" height="50px" style="vertical-align:middle;"/><span id="aboutsteppeople" style="position:inline;">0</span><span style="display:inline;"><input type="text" id="peopleusedtime" size=4 maxlength="8" /></span><br />机器 <img src="images/black_.gif" alt="black" width="50px" height="50px" style="vertical-align:middle;"s/><span id="aboutstepmachine" style="position:inline;">0</span><span style="display:inline;"><input type="text" id="machineusedtime" size=4 maxlength="8" /></span></div><div align="center"><input type="button" name="restart" value=";重新开始" onclick="reload()"/><input type="button" name="turnout" value=";交换顺序" /><input type="button" name="undo" value=";悔棋" onclick="popstack()"/></div><script language="JavaScript">function startup(){ if(!presentperson)//机器先下 { var obj=document.getElementById("chesetable").rows[7].cells[7]; putone(obj,7,7); }}function putone(obj,i,j){ //if(obj.firstChild.nodeValue==";◎"||obj.firstChild.nodeValue==";●") if(obj.firstChild.nodeType==1) //表示放了棋子 { return false;} var node=null; if(presentperson) { //node=document.createTextNode(";◎";); //人的棋子颜色 if(document.uniqueID) //IE node=document.createElement("<img src='images/white_.gif' alt='white' width='40px' height='40px' />"); else { //for Firefox,Opera node=document.createElement("img"); node.setAttribute("src","images/white_.gif"); node.setAttribute("alt","white"); node.setAttribute("width","40px"); node.setAttribute("height","40px"); } presentperson=!presentperson; chese[maxsize*i+j]=1; personstep++; document.getElementById("aboutsteppeople").innerHTML=personstep; } else {//node=document.createTextNode(";●";); //机器的棋子颜色 if(document.uniqueID) //IE node=document.createElement("<img src='images/black_.gif' alt='black' width='40px' height='40px' />")。

2.java 五子棋 课程设计

五子棋代码如下:package day17.gobang; import java.util.arrays; public class gobanggame { public static final char blank='*'; public static final char black='@'; public static final char white='o'; public static final int max = 16; private static final int count = 5; //棋盘 private char[][] board; public gobanggame() { } //开始游戏 public void start() { board = new char[max][max]; //把二维数组都填充‘*’ for(char[] ary: board){ arrays.fill(ary, blank); } } public char[][] getchessboard(){ return board; } public void addblack(int x, int y) throws chessexistexception{ //@ //char blank = '*'; //system.out.println( x +"," + y + ":" + board[y][x] + "," + blank); if(board[y][x] == blank){// x, y 位置上必须是空的才可以添棋子 board[y][x] = black; return; } throw new chessexistexception("已经有棋子了!"); } public void addwhite(int x, int y) throws chessexistexception{ if(board[y][x] == blank){// x, y 位置上必须是空的才可以添棋子 board[y][x] = white; return; } throw new chessexistexception("已经有棋子了!"); } //chess 棋子:'@'/'o' public boolean winony(char chess, int x, int y){ //先找到y方向第一个不是 blank的棋子 int top = y; while(true){ if(y==0 || board[y-1][x]!=chess){ //如果y已经是棋盘的边缘, 或者的前一个不是chess //就不再继续查找了 break; } y--; top = y; } //向回统计所有chess的个数,如果是count个就赢了 int count = 0; y = top; while(true){ if(y==max || board[y][x]!=chess){ //如果找到头 或者 下一个子不是chess 就不再继续统计了 break; } count++; y++; } return count==count; } //chess 棋子:'@'/'o' public boolean winonx(char chess, int x, int y){ //先找到x方向第一个不是 blank的棋子 int top = x; while(true){ if(x==0 || board[y][x-1]!=chess){ //如果x已经是棋盘的边缘, 或者的前一个不是chess //就不再继续查找了 break; } x--; top = x; } //向回统计所有chess的个数,如果是count个就赢了 int count = 0; x = top; while(true){ if(x==max || board[y][x]!=chess){ //如果找到头 或者 下一个子不是chess 就不再继续统计了 break; } count++; x++; } return count==count; } //chess 棋子:'@'/'o' public boolean winonxy(char chess, int x, int y){ //先找max向第一个不是 blank的棋子 int top = y; int left = x; while(true){ if(x==0 || y==0 || board[y-1][x-1]!=chess){ //如果x已经是棋盘的边缘, 或者的前一个不是chess //就不再继续查找了 break; } x--; y--; top = y; left=x; } //向回统计所有chess的个数,如果是count个就赢了 int count = 0; x = left; y = top; while(true){ if(x==max || y==max || board[y][x]!=chess){ //如果找到头 或者 下一个子不是chess 就不再继续统计了 break; } count++; x++; y++; } return count==count; } //chess 棋子:'@'/'o' public boolean winonyx(char chess, int x, int y){ //先找到x方向第一个不是 blank的棋子 int top = y; int left = x; while(true){ if(x==max-1 || y==0 || board[y-1][x+1]!=chess){ //如果x已经是棋盘的边缘, 或者的前一个不是chess //就不再继续查找了 break; } x++; y--; top = y; left=x; } //向回统计所有chess的个数,如果是count个就赢了 int count = 0; x = left; y = top; while(true){ if(x==0 || y==max || board[y][x]!=chess){ //如果找到头 或者 下一个子不是chess 就不再继续统计了 break; } count++; x--; y++; } return count==count; } public boolean whiteiswin(int x, int y) { //在任何一个方向上赢了,都算赢 return winony(white, x, y) || winonx(white, x, y) || winonxy(white, x, y) || winonyx(white, x, y); } public boolean blackiswin(int x, int y) { return winony(black, x, y) || winonx(black, x, y) || winonxy(black, x, y) || winonyx(black, x, y); } }。

3.关于五子棋的开发与实现的计算机毕业设计

关于五子棋的毕业设计, 电脑已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。

Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了花样繁多的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。

Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。通过系统的学习,人们就可以使用它开发出功能齐全,满足特殊需求的应用程序。

Java语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。我作为一名学生,在系统的学习了Java语言之后,经常用它搞一些小程序。

这次课程设计,我就想将学过的Java语言中的各种技术综合起来,编写一个小游戏,既对自己学过的技能进行一次检验,也能系统地将学过的知识复习巩固,具体的还是去三七论文网看看.occo.j2me.game.gobang;import javax.microedition.lcdui.Display;import javax.microedition.midlet.MIDlet;public class Gobang extends MIDlet { GobangCanvas gobang;//定义游戏界面的Canvas类GobangCanvas的对象gobang public Gobang() { super(); gobang=new GobangCanvas(this);//生成GobangCanvas类的对象gobang } protected void startApp(){ Display.getDisplay(this).setCurrent(gobang); //在屏幕上绘出游戏见面gobang } protected void pauseApp(){ } protected void destroyApp(boolean arg0){ }} 游戏界面类:GobangCanvas.javaGobangCanvas类是游戏的核心类,继承自Canvas,此类将完成游戏的逻辑、绘图、控制、互动等所有功能,此类的框架代码如下:package com.occo.j2me.game.gobang;import javax.microedition.lcdui.Canvas;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Displayable;import javax.microedition.lcdui.Graphics;public class GobangCanvas extends Canvas implements CommandListener{ protected Gobang gobang; public GobangCanvas(){ } public GobangCanvas(Gobang gobang){ this.gobang=gobang; } protected void paint(Graphics g) { }} 棋子类:Chesses.java此类定义了一个棋子,棋盘上的每一个棋子都对应着一个Chesses的对象,整个棋盘是一个Chesses类型的二维数组,源代码如下:package com.occo.j2me.game.gobang; public class Chesses { boolean isPlayer1; public Chesses() { } public Chesses(boolean isPlayer1) { this.isPlayer1=isPlayer1; }} 添加图形图像到现在,我们已经完成了游戏的一个基本框架,接下来,我们就可以来绘制游戏的每一个部件了首先是五子棋的一些初始设置,添加如下代码到GobangCanvas.java 。 int empty;//游戏界面到屏幕边缘的留空 int canvasW,canvasH;//画布的长和宽 int chessLength;//棋子的直径 int chessMapLength,chessMapGrid,chessGridLength; //棋盘的边长,棋盘一边格子数,每格宽度 int chessMapX,chessMapY;//棋盘左上角x,y坐标 int selectedX,selectedY;//选择框在棋盘格局上的x,y位置 boolean isPlayer1;//是否是玩家1 Chesses[][] chesses;//棋子数组 boolean newGame;//是否是新的游戏 public GobangCanvas(Gobang gobang){ newGame=true; empty=10; canvasW=getWidth()-empty;canvasH=getHeight()-empty; chessMapGrid=15; chesses=new Chesses[chessMapGrid+1][chessMapGrid+1]; if(canvasW>canvasH){ chessMapLength=canvasH-canvasH%chessMapGrid; chessMapX=(canvasW-chessMapLength)/2+empty/2; chessMapY=(canvasH。

五子棋java毕业设计论文

转载请注明出处众文网 » 五子棋java毕业设计论文(java游戏五子棋论文)

资讯

居住空间设计毕业论文网(求一篇室内设计毕业论文3000字)

阅读(89)

本文主要为您介绍居住空间设计毕业论文网,内容包括求一篇室内设计毕业论文3000字,有好的居住空间设计网站,求一篇室内设计毕业论文范文。求一篇室内设计毕业论文 3000 字 根据我搜集的一些网站来看,建议看看这个,要做毕业论文以及毕业设计的,

资讯

专科毕业生论文要查重(专科需要论文查重吗)

阅读(96)

本文主要为您介绍专科毕业生论文要查重,内容包括专科需要论文查重吗,大专毕业论文查重率标准是多少,大专学校学生毕业论文需要通过中国知网检测吗。专科论文也是需要查重的,只要是有规定要撰写毕业论文的专科论文,那么学校通常也是会对毕业生

资讯

合成的毕业论文(谁有药物合成方面的毕业论文)

阅读(103)

本文主要为您介绍合成的毕业论文,内容包括谁有药物合成方面的毕业论文,聚乳酸的合成毕业论文要形状记忆的只要个开题报告就OK了,跪求,要写毕业论文了,关于甲醇合成的愁啊帮帮忙。·《手性药物右雷佐生合成工艺的改进及质量控制》 ·《硅烷

资讯

哈工大本科毕业论文规定(大学本科毕业论文的具体格式要求)

阅读(104)

本文主要为您介绍哈工大本科毕业论文规定,内容包括大学本科毕业论文的具体格式要求,本科毕业论文的标准是什么,我是学理工科的,大学毕业论文怎么写有没有什么规定的格式的。原发布者:thinkvoyage毕业论文(设计)题目:基于UML的电厂信息管理系统

资讯

试论毕业论文写作意义(写毕业论文的目的与意义)

阅读(102)

本文主要为您介绍试论毕业论文写作意义,内容包括写毕业论文的目的与意义,论文写作的意义,毕业论文的撰写意义。撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申

资讯

供热系统与设备检测毕业论文(毕业设计《供暖系统流量检测与控制》开题报告中的意义和内容求教)

阅读(122)

本文主要为您介绍供热系统与设备检测毕业论文,内容包括毕业设计《供暖系统流量检测与控制》开题报告中的意义和内容求教,论文:集中供热热能量消耗系统的设计,基于PLC的供热系统监控软件设计的论文。楼主,找了很久,就只有这资料了:(232字)随着资源

资讯

毕业论文在档案里(请问大学本科毕业生档案里都包括哪些资料)

阅读(92)

本文主要为您介绍毕业论文在档案里,内容包括毕业论文进档案吗,本科毕业论文会放到档案里吗,大学本科毕业论文会放入档案中吗。一般而言,档案袋里主要装着高中阶段和大学阶段的经历,具体包括个人简历、工作履历表、学生档案(包括学历档案)、单位

资讯

硕士毕业论文写不来(硕士毕业论文写不出来怎么办)

阅读(77)

本文主要为您介绍硕士毕业论文写不来,内容包括硕士毕业论文写不出来怎么办,作为一名今年毕业的研究生,写不出来论文怎么办,研究生毕业论文写不出来那咋办啊。原因可能有以下几点:1.动力不足。写论文完全靠自己的自主自觉,如果没有几分好奇心

资讯

员工考试系统毕业论文(关于企业员工考核标准的毕业论文)

阅读(90)

本文主要为您介绍员工考试系统毕业论文,内容包括关于企业员工考核标准的毕业论文,有关公司员工管理的毕业论文,jsp在线考试系统毕业设计。第一章 总则第一条 定义 本行考核是指对员工工作行为、表现及其结果是否符合管理者期望的评估管理活

资讯

书吧毕业设计论文目录(论文排版那个目录怎么弄啊)

阅读(73)

本文主要为您介绍书吧毕业设计论文目录,内容包括毕业论文的目录怎么写,论文排版那个目录怎么弄啊,毕业论文一般应该包含哪几个部分。假如文章中标题格式为 第一节……大标题(一级) 1.1……小标题(二级) 1.1.1……小标题下的小标题(三级) …… 第N

资讯

本科毕业论文批改语(毕业论文设计指导教师评语)

阅读(71)

本文主要为您介绍本科毕业论文批改语,内容包括毕业论文(设计)指导教师评语,毕业论文指导教师评语,谁有比较好的本科毕业论文评语。评语:本文研究了会计信息失真,对处理会计信息失真有较强的实用价值,提供了新的依据。作者思路清晰,论述过程严谨,分

资讯

居住空间设计毕业论文网(求一篇室内设计毕业论文3000字)

阅读(89)

本文主要为您介绍居住空间设计毕业论文网,内容包括求一篇室内设计毕业论文3000字,有好的居住空间设计网站,求一篇室内设计毕业论文范文。求一篇室内设计毕业论文 3000 字 根据我搜集的一些网站来看,建议看看这个,要做毕业论文以及毕业设计的,

资讯

专科毕业生论文要查重(专科需要论文查重吗)

阅读(96)

本文主要为您介绍专科毕业生论文要查重,内容包括专科需要论文查重吗,大专毕业论文查重率标准是多少,大专学校学生毕业论文需要通过中国知网检测吗。专科论文也是需要查重的,只要是有规定要撰写毕业论文的专科论文,那么学校通常也是会对毕业生

资讯

合成的毕业论文(谁有药物合成方面的毕业论文)

阅读(103)

本文主要为您介绍合成的毕业论文,内容包括谁有药物合成方面的毕业论文,聚乳酸的合成毕业论文要形状记忆的只要个开题报告就OK了,跪求,要写毕业论文了,关于甲醇合成的愁啊帮帮忙。·《手性药物右雷佐生合成工艺的改进及质量控制》 ·《硅烷

资讯

哈工大本科毕业论文规定(大学本科毕业论文的具体格式要求)

阅读(104)

本文主要为您介绍哈工大本科毕业论文规定,内容包括大学本科毕业论文的具体格式要求,本科毕业论文的标准是什么,我是学理工科的,大学毕业论文怎么写有没有什么规定的格式的。原发布者:thinkvoyage毕业论文(设计)题目:基于UML的电厂信息管理系统

资讯

试论毕业论文写作意义(写毕业论文的目的与意义)

阅读(102)

本文主要为您介绍试论毕业论文写作意义,内容包括写毕业论文的目的与意义,论文写作的意义,毕业论文的撰写意义。撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申

资讯

供热系统与设备检测毕业论文(毕业设计《供暖系统流量检测与控制》开题报告中的意义和内容求教)

阅读(122)

本文主要为您介绍供热系统与设备检测毕业论文,内容包括毕业设计《供暖系统流量检测与控制》开题报告中的意义和内容求教,论文:集中供热热能量消耗系统的设计,基于PLC的供热系统监控软件设计的论文。楼主,找了很久,就只有这资料了:(232字)随着资源

资讯

现代农业毕业论文开题报告(农业推广论文开题报告怎么写)

阅读(100)

本文主要为您介绍现代农业毕业论文开题报告,内容包括农业推广论文开题报告怎么写,农业推广论文开题报告怎么写,求文档:农学开题报告例文。如何选择问题 我一直萦绕于怀的,是在写博士论文开题报告的一年多时间里,导师薛澜教授反复追问的一个问