日期:2014-05-20  浏览次数:20649 次

面向对象思想(OOP)
用Java console 实现人机对战五子棋,需要用面向对象的思想实现。

因为没有用博弈算法,只是让电脑随机输入一个棋子, 不需要用GUI棋盘,只用java console输出。棋子“O”和“X”。

我抽象了三个对象,1 棋盘,2 人,3 电脑。但是看网上好多代码,大部分只用了一个对象 五子棋,期中包括了棋盘的方法,人的方法,电脑的方法。

请问,用三个对象去实现,可以吗? 大家有什么建议。谢啦 

------解决方案--------------------
我记得前几天问过这个问题吧?还是别人问的?
可以啊。你完全可以将一个类抽出多个类来写。
------解决方案--------------------
在这里 
可以使用抽象类
抽象类的目的  简单点理解  就是抽取实体对象共同方法和属性存放在其中
是不能被实例化的  就像一个简单轮廓图
里面应该存放  人和电脑共同的方法   
我上面说了 人和电脑 在下棋方面  一定会有下棋 悔棋 等等共同的方法
看你说play的方法  说明你代码的耦合度应该很高
abstract Gamer
{
abstract void putSomeWhere(x,y,color) //将棋子方法某个位置
abstract void backTo(Message,step)//悔棋,悔几步
abstract void Wait() // 请求暂停
....
}
别看一个小小的的下棋程序