四国军棋界面开发(1) 棋盘与棋子

本人比较喜欢下四国军棋,由于 上并没有一款好的四国军棋单机版软件,所以打算自己开发一个。软件分为界面和引擎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进行处理,非常感谢!

上一篇 2018年6月26日
下一篇 2018年6月26日

相关推荐