【原创】【c++】用控制台实现超级井字棋
本帖最后由 无名氏wyw 于 2019-12-18 21:48 编辑第一次发帖,若做的不好请多多谅解
超级井字棋的玩法与普通井字棋不同,规则如下:
在 3x3 的棋盘中,一共有 9 个区块,每个区块又是由 3x3 的棋盘组成,如图:
赢得大棋盘上的井字棋者获胜;
赢得大棋盘上某一格内的小棋盘上的井字棋者“占领”了大棋盘上的那一格,也相当于在大棋盘的那一格下了一颗棋子(如果小棋盘的9格填满之后是平局,则大棋盘的该格视为空白格);
一方走的每一步都会决定另一方的下一颗棋子可以下的范围。举几个例子:
第一步我下在某个小棋盘的正中间,那么第二步对手只能在正中间的小棋盘里下子。
第一步我下在某个小棋盘的左上角,那么第二步对手只能在左上角的小棋盘里下子。
以此类推,每一步一方下在某个小棋盘的A位置,那么下一步对方只能在大棋盘A位置的那个小棋盘里下子
如果对手下一步要下的小棋盘已被占领或已满,则可以选择任意一个未被占领且非满的小棋盘下子
游戏截图:
操作:
↑↓←→移动,Enter确认,s保存当前状态,q退出游戏,Esc回到选择区块模式(如果可用)
可以保存当前的状态以备下次继续,但暂时只能保存一个(其实你可以改存档文件名)
以后有时间会做悔棋和AI等功能
编译环境:Windows 10 LTSC+Dev-C++(MinGW 4.9.2)
源代码对于Visual Studio的兼容性:可能不兼容,请在源文件头部加入:
#pragma warning(disable:4996)
对于较新版本的Windows 10(比如1809),如果出现棋盘显示异常,请使用旧版控制台(属性——选项——使用旧版控制台——重启程序)
希望大家支持!
代码地址:
链接:https://pan.baidu.com/s/1qGrNHr4xqQp5ojq5QYZ11w
提取码:rtuj
~~当然如果你愿意花1CB来下载我也是很乐意的QWQ~~
同是新人,支持一下。 谢谢分享,楼主好人 支持一下,虽然我还不会敲代码 我玩过这样的,不过是在横线上走,不是在方格上走。
页:
[1]