work_8
1.把程序编译通过, 跑起来。
读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么。
把正确的 playPrev(GoMove) 的方法给实现了。 如果大家不会下围棋,那就需要大家实地或者上网练习一下围棋的死活,提子是怎么回事。这个应该一个小时就能搞定。
代码如下:
public void playPrev(GoMove gm)
{
Grid[m_gmLastMove.Point.X, m_gmLastMove.Point.Y].removeStone();//删除当前点
m_gmLastMove=gameTree.peekPrev();//对上一个点更新,能够连续回溯
if(gm.DeadGroup!=null)//对气进行恢复
{
foreach (Point pt in gm.DeadGroup)
{
repaintOneSpotNow(pt);
Grid[pt.X, pt.Y].setStone(gm.DeadGroupColor);
}
}
optRepaint();//更新
return;
}
playPrev
2.根据你选择的教材 (三本之一或更多),点评一下这个程序设计方面的不足。
1.带有绿波浪线的变量为未使用的变量,应予以删除。
2.代码都压缩在一起,很不直观,而且不好维护,应该把不同功能的类放在不同的文件中,有更好的命名空间,便于理解。
3.错误处理不好,没有使用try catch块。
4.编码风格还好,格式规范,且变量的命名基本可以理解,不过也有些m_n之类的变量不易理解。
5.UI很简约,不过也可以做的更美观。
3.程序的注释。
已经尽量把大部分“ZZZZ”恢复过来,后面关于文件的处理没太看懂,代码在github中。
4.选择题。
还没有想到什么好的可修改的功能。。。等有了灵感再写好上传到github吧
对于人机对战和双人对战是很感兴趣的,大一时候做过四子棋的比赛,程序应分为两个模块,一个模块首先将当前气、棋盘等信息传入到AI返回值函数,得到返回值后对返回值进行处理,更新气、棋盘等信息;另一个模块则是处理人的输入,与现有的程序对输入的处理类似。
对于网络对战对于网络传输不是太懂,不过功能应该类似,对两个人的输入分别处理后对各项信息进行传输。
5.关于脑电波那篇论文只能说不明觉厉。。。
work_8的更多相关文章
- Java常用工具类练习题
1.请根据控制台输入的特定日期格式拆分日期 如:请输入一个日期(格式如:**月**日****年) 经过处理得到:****年**月**日 提示:使用String的方法indexOf.lastIndexO ...
随机推荐
- python中的MySQL数据库操作 连接 插入 查询 更新 操作
MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...
- 02-语言入门-02-ASCII码排序
题目地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=4 描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个 ...
- MyEclipse开发WebService教程
. 创建一个 webService 工程. 2. 创建一个普通 Java 类 3. 创建 webService 服务端 HelloJaxwsDelegate.java 的源代码如下: 4. 导 ...
- Java开发之单例设计模式
设计模式之单例模式: 一.单例模式实现特点:①单例类在整个应用程序中只能有一个实例(通过私有无参构造器实现):②单例类必须自己创建这个实例并且可供其他对象访问(通过静态公开的访问权限修饰的getIns ...
- find-all-duplicates-in-an-array(典型的数组中的重复数,不错,我做出来了,可是发现别人有更好的做法)
https://leetcode.com/problems/find-all-duplicates-in-an-array/ 典型的数组中的重复数.这次是通过跳转法,一个个跳转排查的.因为查过的不会重 ...
- 函数 xdes_get_descriptor_with_space_hdr
获得区描述符 xdes entry 的offset /********************************************************************//** ...
- Java 日期时间
Java 日期时间 标签 : Java基础 Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含 ...
- JTA事务管理--配置剖析
概述 [IT168 专稿]Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻.但是很大部分人都还认为 ...
- Android功能模块化之生成验证码Bitmap
Android生成验证码Bitmap,主要使用Canvas绘制,实现的步骤如下: 1.生成验证码.主要采用java的随机函数生成序号,然后对应获取预设的Char数组的值,生成长度固定的验证码: 2.C ...
- SQL删除数据库里所有表的外键,同时删除所有用户表
SQL删除数据库里所有表的外键,同时删除所有用户表 删除所有的用户表的外键,直接将下面的代码拷贝到数据库里执行即可: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...