本人比较喜欢下四国军棋,由于 上并没有一款好的四国军棋单机版软件,所以打算自己开发一个。软件分为界面和引擎2部分,为了可维护性和降低开发难度的考虑,使用C语言作为开发语言,界面用的是GTK+ 3。
1.界面布局
每一个界面软件都要新建一个窗口,GTK也不例外,代码如下
由于在GTK+中,窗口是单控件容器,所以需要新建一个盒状容器,盒状容器放在窗口上,然后再在盒状容器中存放其他控件。创建步骤如下:
1.先建一个横向hbox,把它放在窗口容器里
2.再新建一个纵向vbox,将其放在hbox第1格
3.菜单可以放在vbox的第1格(目前暂时不用)
4.新建1个固定布局的容器fixed放在vbox
5.此后所有的控件都放在fixed里
2.显示棋盘
新建一块画布,棋盘由图片导入,再把该图片画在画布上作为背景图片
3.按钮
最基本的需求是每一家都有一个调入布局的按钮来调入布局,另外还有一个开始按钮,代表调度完成开始行棋,开始后该按钮变为走棋来强制软件出招。
调入布局是一个带图片的按钮,需要把原按钮设置透明
点击开始后,把调入布局按钮隐藏掉
4.显示棋子
首先制作四家的棋子图片素材,有如下4张图片,如下图所示:
先导入图片素材,再对具体某一颜色的棋子进行分割,获取每一个棋子,以橙色为例
获取棋子时要注意橙绿与蓝紫的长宽是不一样的,要注意区分
把取得的棋子保存在pJunqi->Chess在后续调入布局时使用
根据布阵文件取得布阵时棋子的位置,布局文件的格式为参考下面 友给出的文档说明
https://wenku.baidu.com/view/0234a33c67ec102de2bd8977.html
每一方有25颗棋子,加上5个行营总共是30颗,也就是一个5*6的矩阵
最后就是根据布阵把相应的棋子画在棋盘上,每一家棋子的方位都不一样,需要事先计算好
最后效果如下图所示

5.参考资料及源代码
GTK+开发环境搭建
https://blog.csdn.net/pfysw/article/details/81048379
GTK+ 3 基础知识学习
https://blog.csdn.net/pfysw/article/details/81190404
源代码
https://github.com/pfysw/JunQi
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!