关键词不能为空

当前您在: 首页 > 育儿 >

java 含类图 五子棋小游戏

作者:陕西保健网
来源:http://www.xapfxb.com/yuer
更新日期:2021-01-27 06:06

儿童帽子的编织方法-

2021年1月27日发(作者:邹瑜)







Java






























课程名称:





JA
V
A
语言程序设计
















设计题目:





五子棋小游戏



























:





计算机科学与信息工程系










学生姓名:



































号:































专业班级:





























指导教师:






























































2010



12


31







一、题目描述
.......................... .................................................. ................................
3

二、设 计思路
........................................... .................................................. ...............
3

三、运行结果
.......... .................................................. ................................................
8

四、源代码

.
................. .................................................. ............................................
9

五、总结

.
.................. .................................................. .............................................
2
1

六、参考文献
:
................ .................................................. ......................................
2
1


一、题目描述:

五子棋是一种两人对弈 的纯策略型棋类游戏,
是起源于中国,
传统五子棋的棋
具与围棋相同,棋子分为黑白两 色,棋盘为
17×10,棋子放置于棋盘线交叉点
上。两人对局,各执一色,轮流下一子,先将 横、竖或斜线的
5
个或
5
个以上
同色棋子连成不间断的一排者为胜。
本课题的功能就是能按照五子棋的规则实
现人机对战,并能顺利结束棋局。

二、设计思路:

1
类图












2
说明:


1.1

java
源文件及其功能




1
2
文件名

Chess
Autoplay
主要功能

本程序的主函数

实现电脑可以自动下棋




初始化棋盘

分为
8
种情况

3
Scan
4
5
6

Sort
Judge
Evaluate
扫描整个棋盘记录连在一起的黑白
为判断胜负服务

棋子数

实现人与电脑有次序的下棋

黑棋白棋有序的下

判断人与电脑的胜负

电脑估计

可以在文本框中显示
胜负结果

为电脑下棋提供帮助


2.1

Chess


员变
量描












int


重新



Button

黑棋下子

TextField

白棋下子

TextField




TextField





2.2


Chess

方法名

ChessPad()
Void paint (Graphics g)
功能







i
Button
text_1
text_2
text_3
初始化棋



置棋
盘颜
色,

对棋子等图像进行初
设置棋子大小,颜色等

始化

public
void
mousePressed(MouseEve
nt e)
public void paint(Graphics
g)
public
void
mousePressed(MouseEve
nt e)
public
void
mouseReleased(MouseEv
ent e)
public
void
mouseExited(MouseEvent
e)
public
void
mouseClicked(MouseEve
nt e)




实践监







单击实践

控制

像的大小范


处理按下鼠标的事件

选中下棋的位置

处理鼠标离开的事件

本步下棋结束

鼠标离开组件不实现任何事


处理鼠标离开棋盘时

处理发生单击的事件

实现下棋以及重新开始游戏


2.3
Autoplay


员变
量描述

统计
玩家的



的棋子
int


电脑
玩家的



的棋子
Int




2.4

Autoplay

方法名

功能









X
Y



void
autoPlay(int
分情
况实现电脑


使用
switch

句分
8


chesspad[][],int a,int b)
下棋

况来
下棋



2.5
Scan

员变
量描述

统计

盘种

个连



数组

棋子


控制行


int
控制列




2.6
Scan
int








int shape[][][]
i
j
方法名

功能









void
scan(int






在一起
chesspad[][],int

的黑白棋子
个数


colour){


2.7

Sort


员变
量描述

保存
临时变





2.8

Sort

方法名

public
void
shape[][][])


2.9

Judge

员变
量描述

控制行


int





i
j
flag



功能









int



temp
sort(int
实现
黑白棋子的交替
数组为参数



控制列


int
记录连
在一起的黑白棋子
int



2.10

Judge

方法名

功能




static
boolean
judge(int


玩家
与电脑
的游
使用< br>静态


,分多



戏胜负

a[][],int color)





2.11
Evaluate


员变
量描述

玩家最可能下的棋子的行


玩家最可能下的棋子的列


保存最大可能下棋的位置

控制行


控制列








int
int
int
int
int
max_x
max_y
max
i
j




2.12

Evaluate
方法名

功能




public
void
evaluate(int
电脑
用于估

玩家下

shape[][][])
步棋的走法


三、运行结果:







四、源代码:

import .*;
import .*;
class ChessPad extends Panel implements MouseListener,ActionListener{



int array[][]=new int[19][19];



Scan scanp=new Scan();



Scan scanc=new Scan();





AutoPlay autoPlay=new AutoPlay();



Evaluate evaluatep=new Evaluate();



Evaluate evaluatec=new Evaluate();



Sort sort=new Sort();



int i=0;



int x=-1,y=-1,
棋子颜色
=1;



Button button=new Button(
重新开局




TextField text_1=new TextField(
请黑棋下子














text_2=new TextField(),













text_3=new TextField();



ChessPad(){







setSize(440,440);







setLayout(null);setBackground();







addMouseLis tener(this);add(button);nds(10,5,60,26);







ionListener(this);







add(text_1);

text_nds(90,5,90,24);







add(text_2);

text_nds(290,5,90,24);







add(text_3);

text_nds(200,5,80,24);







for(int i=0;i<19;i++)








for(int j=0;j<19;j++)












{array[i][j]=0;}







for(int i=0;i<19;i++)








for(int j=0;j<19;j++)










for(int h=0;h<5;h++)












{[i][j][h]=0;












[i][j][h]=0;}









text_table(false);







text_table(false);















}




public void paint(Graphics g){








for (int i=40;i<=400;i=i+20){













ne(40,i,400,i);













}

















for(int j=40;j<=400;j=j+20){












ne(j,40,j,400);












}















al(97,97,6,6);








al(337,97,6,6);








al(97,337,6,6);








al(337,337,6,6);








al(217,217,6,6);








}




public void mousePressed(MouseEvent e){







int a=0,b=0;







if(ifiers()==1_MASK){













x=(int)();y=(int)();













ChessPoint_black chesspoint_black=new ChessPoint_black(this);













ChessPoint_white chesspoint_white=new ChessPoint_white(this);













i++;













text_t(
这是第























i f((x+5)/20<2||(y+5)/20<2||(x-5)/20>19||(y-5)/20>19 )















{}













else { a=(x+10)/20;b=(y+10)/20;




















if(array[b-2][a-2]==0&&
棋子颜色
==1){























(chesspoint_black);























chesspoint_nds(a*20-9,b*20-9,18,18);























棋子颜色
=
棋子颜色
*(-1);























array[b-2][a-2]=1;























if ((array,1)){



























text_t(



!



儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-


儿童帽子的编织方法-



本文更新与2021-01-27 06:06,由作者提供,不代表本网站立场,转载请注明出处:http://www.xapfxb.com/yuer/429898.html

java 含类图 五子棋小游戏的相关文章