/Abalone-game_based-on-Qt

classical Abalone board game based on Qt5.7.0 & coded in c++

Primary LanguageC++

Abalone-game_based-on-Qt

classical Abalone board game based on Qt5.7.0 & coded in c++

大力士棋

项目成员:naykun howard

游戏简介:
大力士棋是一款极具策略及推理的智力游戏,擅于统筹全局,排布规划,坚忍细心、逻辑思维好的玩家会在此游戏里有较好表现,但随意而行,凭直觉行动的玩家也未必不能获胜。游戏中只能以多数堆动少数的对手,玩家必须绞尽脑汁,除了进攻外,还得防守,以免冲太快,结果先被推下山谷。通过此游戏,玩家可以提升自己的统筹能力,培养周全的思虑方式以及将目光放长远的**,提升坚忍耐心的品质。同时,适度的游戏可以使人放松身体、舒缓心情。
游戏规则:
1.推动规则:
黑棋先行,玩家轮流推动棋子
①每次可以推动己方同一列或同一行的1颗/2颗/3颗棋子(≤3)或推动我方棋子去“撞”紧挨着的对方棋子。
②不管推动几颗,都是单向直线移动,每次只能移动1格,不能跳跃前进。
2.关于阵势:
一种进攻式态(用于撞动对方棋子),阵势有三种。
2推1阵势(2颗我方棋子可以推动紧挨的同一线上的对方1颗棋子,下同)
3推1阵势
3推2阵势
总原则是多推少,推动对方棋子必须满足的四个条件: ①必须是阵势的一种。 ②直线式移动,每次只能移动一格。 ③双方直线相连,且是紧挨的。 ④被推动的一方后面有空间,不能被其他我方棋子挡住了。 最终目的是一步一步把目标棋子推下棋盘。
3.对峙格局
双方处于一线上的棋子相等时,形成对峙格局。对峙有3种。
1对1对峙
2对2对峙
3对3对峙
特别的:3对3+N也是对峙格局,因为同一线上,玩家最多能够动用3颗棋子,多于的棋子没有用处。这种对峙格局实质上就是3对3对峙。 处于对峙格局的双方谁也撞不动
4.悔棋 游戏增添了悔棋功能,使玩家在一次失误判断后能来得及补救,不至导致全盘皆输(悔棋机会只有一次)。玩家使用阵势推动对方棋子或瓦解对峙,通过制造对峙进行暂时防御,或直接闪避对方锋芒。先将对方6颗棋子推下棋盘的玩家获胜。
项目开发:
项目在Qt编程环境下用c++语言编写,所有逻辑均由代码实现,没有借助任何游戏生成工具。
主要分工:
1、图形界面编写
2、走棋逻辑实现
3、AI算法逻辑实现
4、游戏界面素材PS绘制
5、文档编写
6、游戏测试
项目亮点:
1.通过调用Qt绘图库用代码绘制棋盘棋子,类封装机制较为完善,可延展性强
2.合理使用窗口控件与相应的信号函数、槽函数,并利用了qt良好的跨平台性。为以后的图形界面应用开发积累了经验。
3.设计相应的AI算法,锻炼了算法设计的能力。
4.全部代码自行完成,没有采用开源代码。