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的更多相关文章

  1. Java常用工具类练习题

    1.请根据控制台输入的特定日期格式拆分日期 如:请输入一个日期(格式如:**月**日****年) 经过处理得到:****年**月**日 提示:使用String的方法indexOf.lastIndexO ...

随机推荐

  1. math模块及使用方式

    在数学之中,除了加减乘除四则运算之外——这是小学数学——还有其它更多的运算,比如乘方.开方.对数运算等等,要实现这些运算,需要用到 Python 中的一个模块:Math 模块(module)是 Pyt ...

  2. Android开发之通过反射获取到挂断电话的API

    Android开发黑名单工具类,需要用到挂断电话的API,但是该API处于隐藏状态,需要通过反射得到该方法.. 步骤: 1.通过当前类获取到ServiceManager的字节码 Class< ? ...

  3. hdu4939 动态规划

    经典动态规划 无需单独枚举最后红塔的数量,因为对于dp[i][j],对于红塔的影响仅局限于i,j两个变量,与其前面塔排列无关,故二维动态规划即可. #include <cstdio> #i ...

  4. vs2008 编译时候 自动关闭 问题解决方法

    最近又出现如此让人崩溃的问题.      vs2008在编译程序时候老是莫名其妙的自动退出.卸载重装以后问题仍然存在.      害我一度以为是vs2008的BUG,看网上说的更新BUG.      ...

  5. BZOJ3681: Arietta

    题解: 数据结构来优化网络流,貌似都是用一段区间来表示一个点,然后各种乱搞... 发现主席树好吊...在树上建主席树貌似有三种方法: 1.建每个点到根节点这条链上的主席树,可以回答和两点间的路径的XX ...

  6. poj 1330 Nearest Common Ancestors(LCA:最近公共祖先)

    多校第七场考了一道lca,那么就挑一道水题学习一下吧= = 最简单暴力的方法:建好树后,输入询问的点u,v,先把u全部的祖先标记掉,然后沿着v->rt(根)的顺序检查,第一个被u标记的点即为u, ...

  7. Sciter/HTMLayout内存占用评测

    先从最基础的Exe文件的执行说起: Exe文件要在系统中执行,首先要将Exe文件本身加载入内存中,并且通常在内存中加载完成的Exe所占空间大小会比实际所占的磁盘空间大一些,这是由内存的特殊设定所决定的 ...

  8. UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)

    题意: 定义a为一个字符串,a*a表示两个字符相连,即 an+1=a*an ,也就是出现循环了.给定一个字符串,若将其表示成an,问n最大为多少? 思路: 如果完全不循环,顶多就是类似于abc1这样, ...

  9. 【C#学习笔记】获得系统时间

    using System; namespace ConsoleApplication { class Program { static void Main(string[] args) { Conso ...

  10. AWK print学习

    Awk是一种处理结构数据并输出格式化结果的编程语言, Awk 是其作者 "Aho,Weinberger,Kernighan" 的简称. Awk通常被用来进行格式扫描和处理.通过扫描 ...