面向对象思想(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() // 请求暂停
....
}
别看一个小小的的下棋程序