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 ...
随机推荐
- 简化PHP开发的10个工具
本文介绍了可以帮助简化 PHP 开发的11个项目,包括框架,类库,工具,代码. 1. CakePHP Development Framework CakePHP 是一个 PHP 的快速开发框架.它提供 ...
- OutputStream窥探
/* * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- C#中Dictionary的用法及用途
Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...
- 安卓自动化测试工具MonkeyRunner之使用ID进行参数化,以及List选择某项和弹出框点击确定的写法
一.List选择某项的操作步骤: 1.通过父结点得出列表各子项 2.将选择项的文本与列表中的子项进行比较 3.计算出选择项的坐标位置 截取实例: from com.android.monkeyrunn ...
- Bitset小结 (POJ2443 & HDU4920)
学了下bitset用法,从网上找的一些bitset用法,并从中调出一些常用的用法. 构造函数bitset<n> b; b有n位,每位都为0.参数n可以为一个表达式.如bitset<5 ...
- HighCharts 饼图
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section ...
- bzoj2794
这题我得到一个经验,bool型的dp一定要想办法把bool去掉来表示更多的东西(1933也是这个道理) 暴力大家都会,这里有两个限制条件 一个限制条件我们可以排序不断加入,另一个呢 我们可以用f[i] ...
- FFmpeg介绍及参数详细说明
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库l ...
- Android 如何直播RTMP流
在android上,视频/音频流直播是极少有人关注的一部分.每当我们讨论流媒体,RTMP(Real Time Messaging Protocol)是不可或缺的.RTMP是一个基本的视频/音频直播流协 ...
- Oracle数据库导出
一. pl/SQL方式 1.打开plsql,找到工具栏,导出表