




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计论文任务书 软件 学院软件工程工程管理专业 2006- 3 班 一、课程设计(论文)题目多用户五子棋游戏 二、课程设计(论文)工作自 2021 年 6 月 30 日起至 2021 年 7月 4 日止。三、课程设计(论文) 地点: 信息学院机房 四、课程设计(论文)内容要求:1本课程设计的目的 1通过课程设计把课堂上讲的内容融会贯穿,学会设计程序、开发应用软件、开发系统软件等各项工作。 2通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。2课程设计的任务及要求1根
2、本要求:1、选择对弈桌及角色2、在游戏界面,有开始,退出游戏未结束,点退出自动判负;发言及显示区;用户列表区;棋盘绘制区。2创新要求: 在根本要求到达后,可进行创新设计,如改善算法性能、友好的人机界面。3课程设计论文编写要求1要按照书稿的规格打印与写课程设计论文 2论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录源代码等 3课程设计论文装订按学校的统一要求完成4辩论与评分标准: 1完成根本算法设计:20分; 2完成设计过程 :40分; 3完成调试:20分;4答复下列问题:20分。5参考文献:1丁振凡,?java语言实用教程?.北京:北京邮电大学出版社,200
3、42美Y.DanielLiang,?Java语言程序设计第三版?M.北京:机械工业出版社,20043 彭晨阳, ?Java实用系统开发指南?M.北京:机械工业出版社,20044 薛亮,?Java实用教程?M.西安:西安电子科技大学出版社,2003596课程设计进度安排内容 天数地点构思及收集资料 1图书馆编码与调试 2.5实验室撰写论文 1.5图书馆、实验室学生签名: 2008年6 月 30 日课程设计(论文)评审意见1完成根本算法20分:优、良、中、一般、差; 2完成调试20分:优、良、中、一般、差; 3创新设计20分:优、良、中、一般、差;4设计分析20分:优、良、中、一般、差;5答复下列
4、问题20分:优、良、中、一般、差;6格式标准性及考勤是否降等级:是ü、否评阅人: 职称: 年 月 日目录1引言42 JAVA语言概述42.1 JAVA简介42.2 JAVA语言特点4 JAVA工具53 课程设计正文.5课程设计内容及要求.53.2 设计思路.53.3 具体实现.93.4 运行调试及结果分析.113.5 课程设计小结.173.6 参考文献.194 附录.20-331、引言五子棋游戏不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快,又有古典哲学的高深学问“阴阳易理;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技
5、巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场的概念,亦有“点的连接。它是中西文化的交流点,是古今哲理的结晶。我作为一名学生,在系统的学习了Java语言之后,经常用它编一些小程序。这次课程设计,我就想将学过的Java语言中的各种技术综合起来,编写一个小游戏,既对自己学过的知识进行一次检验,也能系统地将学过的知识复习稳固。2、JAVA语言概述2.1 JAVA简介JAVA是Sun公司开发的编程语言,是一个简单,面向对象,分布式,解释性,强壮,平安,与系统无关,可移植,高性能,多线程和动态的语言。1. 平台无关性Java引进虚拟机原理,并运行于虚拟机,实现不同平台之
6、间的Java接口,Java的数据类型与机器无关。2. 平安性Java的编程类似C+,但舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以防止病毒通过指针入侵系统。它提供了平安管理器,防止程序的非法访问。3. 面向对象 Java吸收了C+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。4. 分布式Java建立在TCP/IP网络平台上,提供了用 和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。5. 健壮性Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出
7、错的可能性。Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间。2.3 JAVA工具JDK1) Java编译器Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 .java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。2) Java解释器Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序
8、的命令行工具。3、课程设计正文课程设计内容及要求1、题目内容五子棋游戏在日常生活中比拟常见,玩起来比拟简单,根据五子棋的规那么,当连续出现5个同一个颜色的棋子的时候,就判该棋子颜色获胜。这次课程设计,我做的是比拟简单的五子棋游戏,不像网络五子棋游戏那样,要实现很多的功能,而且之间的关系又非常的复杂。这次题目的内容主要实现,开始、退出、四个文本框、其中一个是发言文本框、判断谁赢。我实现的是人与电脑对战,而不是人与人之间的对战,人默认为黑棋,电脑默认为白棋;每次先下子的都是人黑棋,程序实现了电脑每一步在棋盘中的位置;当白棋赢了的时候,显示的是在第三个文本框,当黑棋赢了的时候,显示的是第一个文本框。
9、当还没有分出胜负的时候,如果谁选择退出,那就判该颜色的棋子输了,也就是另外一个颜色的棋子获胜。2、题目要求1选择对弈桌及角色执黑、执白、观看。2在游戏界面,有开始,退出游戏未结束、点退出自动判负;发言及显示区;用户列表区;棋盘绘制区。3.2 设计思路要实现一个五子棋游戏,这里我定义了9个简单的类,分别是Wuziqi、Wuziqipan、WuziqiPoint_black、WuziqiPoint_white、Auto、Ping、Judge、Scan、Sort。通过这9个类来实现五子棋游戏一些简单的功能。9个类既相互联系又是相互独立的,它们之间通过调用来实现的,具体怎么样调用如下图: 在设计的时候
10、,类Wuziqipan是整个设计的核心,它是连接主类与类之间的桥梁,同时也是实现方法的核心。怎么绘制棋盘、棋子怎么走、怎么判断谁赢了、等等都是要通过它才能实现的。下面这个图是类Wuziqipan。通过这个思路的设计,自然就可以把整个五子棋游戏的功能实现,而且还是智能化。这个五子棋游戏不是人与人之间的对战,而是人与计算机之间的对战,在对战之前先在电脑上设置一些电脑下棋的具体算法。它可以根据具体情况任意选择其中一个算法,这样就显得更加灵活了,给人提出了一定的挑战。3.3 具体实现为了使界面友好,棋盘背景颜色一定要选择好,棋盘的大小也选择好,这里我选择了19行19列。界面如下图:1、这次课程设计我从
11、总体把握,首先定义主类Wuziqi,主类大致功能是这样的,先定义一个窗体的标题,然后让窗体可见。创立标签,设置标签的大小、背景色及位置,设置五子棋盘的位置及大小等一些功能。public class Wuziqi extends Frame /类五子棋继承窗体 Wuziqipan wuziqipan=new Wuziqipan();/创立对象wuziqipan Wuziqi() super("花名伟-五子棋游戏");/调用父类的构造方法定义窗体的标题 setVisible(true);/让窗体可见 setLayout(null);/先置布局为空 Label label=new
12、 Label("人VS电脑-五子棋游戏",Label.CENTER);/创立标签对象 add(label);/添加标签 label.setBounds(70,55,440,26);/设置标签的位置及大小 label.setBackground(Color.pink);/设标签的背景色为红色 add(wuziqipan); /添加五子棋 wuziqipan.setBounds(70,90,440,440);/设置五子棋的位置及大小 addWindowListener(new WindowAdapter() public void windowClosing(WindowEve
13、nt e)/实现关闭窗口方法 System.exit(0); ); setSize(600,550);/设置窗体的大小 public static void main(String args) Wuziqi wuziqi=new Wuziqi();/创立对象 2、其次定义一个五子棋盘类Wuziqipan,然后调用五子棋盘方法,来绘制五子棋盘。这次课程设计我绘制的五子棋盘是19行19列,行距和列举是20,然后根据五个黑棋子坐标确定位置,也就是五子棋盘的标准形式。在五子棋盘上,有三个按钮,分别是开始、退出、发言,其中发言按钮中文本框,用来记录人说的内容。还有另外三个文本框,第一个文本框是用来记录黑
14、子下棋和判断黑棋赢了,第二个文本框是用来记录棋子下了几步,第三个文本框是用来记录白棋下的坐标和判断白棋赢了。其次调用图形构造方法,绘制五子棋盘具体图形,让五子棋盘图形更接近标准化。跟着调用鼠标单击方法,确定鼠标单击的坐标,根据调用一系列方法和类来实现判断是白棋赢了还是黑棋赢了。class Wuziqipan extends Panel implements MouseListener,ActionListener/类五子棋盘继承控制面板Wuziqipan() /构造五子棋盘的方法 public void paint(Graphics g) public void mousePressed(Mo
15、useEvent e)/实现鼠标单击方法 public void mouseReleased(MouseEvent e)/实现鼠标事件释放的方法public void mouseEntered(MouseEvent e)/实现鼠标事件移入方法public void mouseExited(MouseEvent e)/实现鼠标事件移出方法public void mouseClicked(MouseEvent e) /实现鼠标事件单击方法 public void actionPerformed(ActionEvent e) 3、跟着定义黑色五子棋类WuziqiPoint_black,具体的功能是给
16、黑棋注册,实现黑棋在棋盘上。主要代码如下所示:class WuziqiPoint_black extends Canvas implements MouseListener/类黑棋继承画布实现鼠标接口 Wuziqipan wuziqipan=null;/先给棋盘赋空值 WuziqiPoint_black(Wuziqipan p) public void paint(Graphics g) public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e)/实现鼠标事件释放的方法 public void m
17、ouseEntered(MouseEvent e)/实现鼠标事件移入方法 public void mouseExited(MouseEvent e) /实现鼠标事件移出方法 public void mouseClicked(MouseEvent e)/实现鼠标事件单击方法 4、同样定义白色五子棋类WuziqiPoint_white,具体的功能是给白棋注册,实现白棋在棋盘上。主要代码如下所示:class WuziqiPoint_white extends Canvas implements MouseListener/类白棋继承画布,实现鼠标接口 Wuziqipan wuziqipan=null
18、;/首先给棋盘赋空值 WuziqiPoint_white(Wuziqipan p) public void paint(Graphics g) public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e)/实现鼠标事件释放的方法 public void mouseEntered(MouseEvent e) /实现鼠标事件移入方法 public void mouseExited(MouseEvent e) /实现鼠标事件移出方法 public void mouseClicked(MouseEvent
19、e) /实现鼠标事件单击方法 5、定义Scan类,浏览一下整个棋盘,大致了解一下五子棋盘.主要代码如下所示:class Scan/浏览 int shape=new int19195;/创立一个数组 void scan(int wuziqipan,int colour) 6、定义Auto类,根据计算确定计算机所执白棋下子的位置,这样就可以大概知道白棋的下子位置。主要代码如下所示:class Auto/根据计算确定计算机所执白棋下子的位置 int x,y; void auto(int wuziqipan,int a,int b) int randomNumber=(int)(Math.random
20、()*8)+1;/利用随机函数产生1到8的数 switch(randomNumber) /使用开关语句 7、定义Ping类,评估一下白棋下在这里是不是比拟好,寻找有没有更好的位置。主要代码如下所示:class Ping/估计一下白棋落在这里是不是比拟好 int max_x,max_y,max; public void ping(int shape) 8、定义Sort类,排好棋子的顺序。主要代码如下所示:class Sort / public void sort(int shape) 9、定义Judge类,判断是白棋赢了还是黑棋赢了,根据五子棋规那么,当同一颜色连续出现五个的时候就判定该颜色赢了
21、。class Judge/判断谁赢了 static boolean judge(int a,int color) 首先将编写好的程序使用Java编译器编译,生成以class为扩展名的类文件,然后使用Java解释器,进行调试。1、在调试的时候,第一个界面就是进入五子棋游戏的界面。如下图:分析运行结果:输出这个界面主要用到了第七章的知识,图形用户界面编程,这一章知识说容易也比拟容易,说难也比拟难。当时在编这个程序的时候,不是少了这个就是少了那个。由于自己的能力有限,不能像网上五子棋游戏那样好看,而且功能齐全,我这个五子棋游戏只是实现了一些根本功能。改良想法:我觉得我这个程序还有一些地方需要改良,例
22、如:在下五子棋的时候,不管是人还是电脑都不能悔棋,我觉得应该可以在棋盘上在添加一个悔棋按钮,当想悔棋的时候只要按一下这个按钮就可以了,就可以把前一次下子的地方再重新下。2、当点击开始按钮的时候,人先下黑子,电脑白子,由于人是随便下在哪里的,黑子落在棋盘的位置是不确定的,所以电脑根据相应的算法落在的位置也是不确定的。具体如下图:分析运行结果:人选择黑棋,然后落在棋盘相应的位置,电脑根据黑棋落在棋盘的坐标来确定白棋落在的位置。其中三个文本框分别显示:黑棋下子、白棋走了几步、白棋落在棋盘的坐标。其实白棋有很多种走法,只是每次它选择最优的一种。改良想法:我觉得可以改良选棋的颜色,这里我做的只是默认人选
23、黑棋,电脑选白棋。这样改良我觉得更好,可是自己能力有限和时间有限只能做到这样了。3、当棋子还没有下完的时候,如果有人想退出的话,当点击退出按钮,就判它为负,也就是另外一种颜色的棋子赢了。具体情况如下图:中选择黑棋的人,按下退出按钮,这可以确定黑棋输了,也就是白棋赢了,具体如下图:分析运行结果:当人和电脑下棋还没有分出胜负的时候,如果人觉得不想再下这盘,按下退出按钮,那就确定电脑赢了白棋赢了。因为这里只能人和电脑两个人对战,而电脑是不会按退出按钮的,所以只有人才会按退出按钮。当按下退出按钮,输的永远是人也就是黑棋输了。改良想法:我觉得可以设计为两个不同的人下棋,这样两个人都有可能按退出按钮,从而
24、显得五子棋游戏更显得智能化,等我暑假回去的时候我想可以试一下,现在时间有限只能做这些了。4、当两个人对决,白棋赢的情形,如下图:分析运行结果:这里是白棋连续出现5个,所以白棋赢了,下五子棋不仅需要技术还需要耐心,以前我下的时候总是不耐烦,所以老是输。改良想法:我觉得可以设置当连续出现4个同一个颜色的棋子就判定输赢,这样难度就更大一点,肯定会更好玩一点。5、两个人对决,黑棋赢的情形,如下图:分析运行结果:这里是连续出现5个黑棋,黑棋赢了。改良想法:我觉得这里没有什么改良的,大多数五子棋都是这样来判定输赢的。6、这里也可以发言,当白棋赢的时候,人可以在发言区说:“你真棒!。如下图:分析运行结果:实
25、现发言区就是在文本框输入数据,文本框只能编辑一行数据,当其中一方赢了,另外一方就可以在发言区中发表自己的看法。改良想法:如果有时间的话,我觉得可以把发言区放在五子棋的旁边,实现多行数据的输入,而且可以边下棋边发表自己的看法,也可以同时发表看法。3.5 课程设计小结通过短短的一周时间来做Java课程设计,我感觉自己学到了很多,以前在Java书上没有注意的问题,现在一下子就暴露出来了。以前自己还觉得Java学得还不错,因为经常一个人在编Java程序。不过这对我来说真的是很不错的,至少可以让自己学到很多的东西,回想一周的课程设计,自己发现对这次的课程设计有了更深、更新的体会。通过这次课程设计,我对这
26、个学期所学的Java知识有了更深的了解,稳固了自己所学的知识。Java作为一种分布式和可移植的计算机语言,在网络软件开发上有着特别的优点。它开发方便、快捷,平安性高,对以往复杂的功能,尤其是网络通信等方面,实现起来简洁明了,在网络编程领域有着巨大的开展潜力。在当今网络经济飞速开展的时代,Java技术的平台无关性、可重用性、模块化等特点大大减少了重复劳动,无论是开发用于Internet浏览的网站还是功能复杂的网络应用系统,Java都可以提供有力的支持。做这次五子棋游戏课程设计,让我学到了好多东西,特别是第七章图形用户界面编程。同时也涉及了许多别的知识,大大扩展了我的知识面,同时也让我学会了如何使
27、用所学的知识去解决一些实际的问题。在设计中我深深知道自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,熟能生巧,才可以把理论的精华发挥出来。知识不是知道、了解就好了,一定要去应用它、开展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是我们学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂而且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究
28、,迫使我对技术有了一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。 由于自己还在读大二,很多知识都不是很扎实,特别是Java是这个学期刚学,所以做的课程设计难免会有很多的问题,不过我会一直努力的。把这次当作是我的一次练习,我未来成功的开始。3.6 参考文献234薛亮,?Java实用教程?M.西安:西安电子科技大学出版社4 附录import java.awt.*;/抽象窗口工具集import java.awt.event.*;public class Wuziqi extends Frame /类五子棋继承窗体 Wuziqipan wuziqipan=ne
29、w Wuziqipan();/创立对象wuziqipan Wuziqi() super("花名伟-五子棋游戏");/调用父类的构造方法定义窗体的标题 setVisible(true);/让窗体可见 setLayout(null);/先置布局为空 Label label=new Label("人VS电脑-五子棋游戏",Label.CENTER);/创立标签对象 add(label);/添加标签 label.setBounds(70,55,440,26);/设置标签的位置及大小 label.setBackground(Color.pink);/设标签的背景色
30、为红色 add(wuziqipan); /添加五子棋 wuziqipan.setBounds(70,90,440,440);/设置五子棋的位置及大小 addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)/实现关闭窗口方法 System.exit(0); ); setSize(600,550);/设置窗体的大小 public static void main(String args) Wuziqi wuziqi=new Wuziqi();/创立对象 /*类五子棋盘*class Wuziqipa
31、n extends Panel implements MouseListener,ActionListener/类五子棋盘继承控制面板 int array=new int1919;/创立一个数组 Scan scan1=new Scan();/创立对象scan1 Scan scan2=new Scan(); /创立对象scan2 Auto auto=new Auto();/创立对象auto Ping ping1=new Ping();/创立对象ping1 Ping ping2=new Ping();/创立对象ping2 Sort sort=new Sort(); /创立对象sort int i=
32、0; /初始化 int x=-1,y=-1,wuziqicolor=1; Button button=new Button("开始");/创立对象-开始按钮 Button button1=new Button("退出");/创立对象-退出按钮 Button button2=new Button("发言");/创立对象-发言按钮 TextField text1=new TextField("黑子下棋"); TextField text2=new TextField(); TextField text3=new Tex
33、tField(); TextField text4=new TextField();/文本框创立四个对象text1text2text3text4Wuziqipan() /构造五子棋盘的方法 setSize(440,440);/将窗体的大小设置宽为440像素,高为440像素 setLayout(null);/先设置布局为空 setBackground(Color.lightGray);/把棋盘的背景色设为浅灰色 addMouseListener(this);/注册鼠标单击 add(button);/添加按钮 button.setBounds(10,5,30,26);/设置按钮坐标 button.
34、addActionListener(this);/注册按钮 add(button1);/添加按钮 button1.setBounds(50,5,30,26);/设置按钮坐标 button1.addActionListener(this);/注册按钮 add(button2);/添加按钮 button2.setBounds(320,5,30,26);/设置按钮坐标 button2.addActionListener(this);/注册按钮 add(text1); /添加text1 text1.setBounds(90,5,60,24);/设置text1坐标 add(text2); /添加text
35、2 text2.setBounds(250,5,60,24);/设置text2坐标 add(text3); /添加text3 text3.setBounds(170,5,60,24);/设置text3坐标 add(text4); /添加text4 text4.setBounds(360,5,60,24);/设置text3坐标 for(int i=0;i<19;i+) /利用双重for循环给数组赋值为0 for(int j=0;j<19;j+) arrayij=0; for(int i=0;i<19;i+) /利用三重for循环给数组赋初始值 for(int j=0;j<
36、19;j+) for(int h=0;h<5;h+) scan1.shapeijh=0; scan2.shapeijh=0; text1.setEditable(false);/设置输入框赋初值 text2.setEditable(false); /*画图:画五个实心小椭圆*public void paint(Graphics g) for (int i=40;i<=400;i=i+20)/利用for循环画棋盘一行一行的线,行距为20 g.drawLine(40,i,400,i); for(int j=40;j<=400;j=j+20)/利用for循环画棋盘一列一列的线,列距
37、为20 g.drawLine(j,40,j,400); g.fillOval(97,97,6,6); /绘制5个填充椭圆,根据各自的坐标确定位置 g.fillOval(337,97,6,6); g.fillOval(97,337,6,6); g.fillOval(337,337,6,6); g.fillOval(217,217,6,6); /*实现鼠标单击事件*public void mousePressed(MouseEvent e)/实现鼠标单击方法 int a=0,b=0; if(e.getModifiers()=InputEvent.BUTTON1_MASK)/返回鼠标单击的x和y坐标
38、 x=(int)e.getX();/返回鼠标单击x坐标 y=(int)e.getY();/返回鼠标单击y坐标 WuziqiPoint_black wuziqipoint_black=new WuziqiPoint_black(this);/创立五子棋黑棋子对象 WuziqiPoint_white wuziqipoint_white=new WuziqiPoint_white(this);/创立五子棋白棋子对象 i+; text3.setText("第"+i+"步");/往输入框写入数据if(x+5)/20<2|(y+5)/20<2|(x-5)
39、/20>19|(y-5)/20>19) else a=(x+10)/20;b=(y+10)/20; if(arrayb-2a-2=0&&wuziqicolor=1) this.add(wuziqipoint_black);/添加当前黑棋 wuziqipoint_black.setBounds(a*20-9,b*20-9,18,18);/算出黑棋子下一步走的坐标 wuziqicolor=wuziqicolor*(-1);/改变棋子颜色的值 arrayb-2a-2=1; if (Judge.judge(array,1) text1.setText("黑棋赢!&
40、quot;);/往输入框中写入黑棋赢 wuziqicolor=2; removeMouseListener(this);/去除当前棋盘中所有元素 add(text4); /添加text4 text4.setBounds(360,5,60,24);/确定text4的位置 text4.setText("你真棒!"); else text1.setText(""); /否那么再往输入框中写入数据 if(i>2&&wuziqicolor=-1)/判断条件语句 scan1.scan(array,1);/扫描对象scan1中的数组 scan2.
41、scan(array,-1);/扫描对象scan2中的数组 sort.sort(scan1.shape);/给对象scan1数组中的形状排序 sort.sort(scan2.shape);/给对象scan2数组中的形状排序 ping1.ping(scan1.shape);/对形状进行评价 ping2.ping(scan2.shape); wuziqicolor=wuziqicolor*(-1);/改变五子棋颜色的值 this.add(wuziqipoint_white);/添加当前白棋 if(ping1.max>ping2.max) text2.setText(ping1.max_x+&
42、quot; "+ping1.max_y+" "+ping1.max);/往text2输入框中写入数据 wuziqipoint_white.setBounds(ping1.max_y+2)*20-9,(ping1.max_x+2)*20-9,18,18);/算出白棋在棋盘中的坐标 arrayping1.max_xping1.max_y=-1; text1.setText("黑子下棋"); for(int i=0;i<19;i+) /利用三重for循环给数组赋值 for(int j=0;j<19;j+) for(int h=0;h<
43、;5;h+) scan1.shapeijh=0; scan2.shapeijh=0; else text2.setText(ping2.max_x+" "+ping2.max_y+" "+ping2.max); /往text2输入框中写入数据 wuziqipoint_white.setBounds(ping2.max_y+2)*20-9,(ping2.max_x+2)*20-9,18,18);/算出白棋在棋盘中的坐标 arrayping2.max_xping2.max_y=-1; if (Judge.judge(array,-1) text2.setTe
44、xt("白棋赢!");/往输入框输入白棋赢 wuziqicolor=2; removeMouseListener(this);/移除当前所有元素 add(text4); /添加text4 text4.setBounds(360,5,60,24);/确定text4的位置 text4.setText("你真棒!"); else text1.setText("黑子下棋"); for(int i=0;i<19;i+) /利用三重for循环给数组赋值 for(int j=0;j<19;j+) for(int h=0;h<5;h+) scan1.shapeijh=0; scan2.shapeijh=0; if(i<=2&&wuziqicolor=-1) auto.auto(array,b-2,a-2); this.add(wuziqipoint_white);/添加白色棋子 wuziqicolor=wuziqicolor*(-1);/改变其子颜色的值 wuziqipoint_white.setBounds(auto.y+2)*20-9,(auto.x+2)*20-9,18,18);/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届中国燃气校园招聘正式启动笔试参考题库附带答案详解
- 保证函和保证合同范本
- 加工产品企业合同范本
- 养殖买卖合同范例
- 农村购墓地合同范本
- 介绍股合同范本
- 劳动聘用合同范本
- 亲兄弟合伙合同范本
- pe管材购销合同范本
- 亏损分担合同范例
- 股票入门-k线图基础知识
- 全国大全身份证前六位、区号、邮编-编码
- 种植林业可行性研究报告
- 金和物业公司简介
- 广东省五年一贯制考试英语真题
- 2023年中央广播电视总台校园招聘笔试参考题库附带答案详解
- 项目部岗位廉洁风险情景教育案例
- 小学英语-What a dream教学设计学情分析教材分析课后反思
- 消防栓定期检查记录表
- 员工面试登记表通用模板
- 单位(个人或集体)约谈表
评论
0/150
提交评论