这是我大学时写的一个控制台五子棋游戏,后来工作后对面向对象和设计模式有了一定的理解,故以面向对象的方式重写了一下它,里面还用到了状态模式,不过由于程序不是很复杂所以状态模式感觉跟书上的也有些出入,希望能对新学C#的朋友有帮助,如果有大神愿意看也希望能得到一些建议。
现在说说我的思路:
首先我需要一张棋盘,然后是棋子,然后是光标(因为控制台貌似无法用鼠标点);
这里我将棋盘分成了N*N的棋盘点,每个棋盘点上可以拥有光标和棋子这两个属性;
一开始时棋盘上的所有棋盘点都是没有棋子的,但是中间的那个棋盘点有光标;
玩家放置一个棋子后棋盘点上就拥有了一个有玩家属性的棋子;每次移动光标都
会刷新Map。画棋盘实际上就是画各个棋盘点(中间会有空格间隔开),如果棋盘点
有光标优先画光标,其次画棋子,什么都没有才会画棋盘点。大致思路就是这样,剩下
的需要各位自己去看代码了。虽然这个游戏很多人都做过了,但还是忍不住又来发一次,
分只有90分了,望大家不要见怪。