Jun 01

在前一篇日志(连连看游戏开发实践(1) – 算法)中, 已经做了一个命令行下的文字界面的连连看. 这一回, 我要给它加一个图形界面外壳, 将数字转换为图片显示, 用鼠标点击代替输入文字坐标.

程序运行界面如下:

图标(icon)使用了 gnome-look.org 网站上的 GPL 图标, 然后我自己用 Gimp 做了格子的背景和边框(正常和选中状态), 用 Xorg 的图标表示爆炸的格式, 两点的闪电连线胡乱用一个图标表示.

程序目前只是一个实现了连连看算法的小游戏, 并不是一个真正的连连看游戏, 因为它缺少计时, 结束判断等等功能. 这会在以后逐步实现.

程序的图形库采用SDL(libsdl). 当然也可以使用DirectX, 使用SDL并没有特殊的原因, 在cygwin下编译, 依赖cygwin运行环境. 也许使用DirectX会是更好的选择. SDL_image库原生支持png图像的透明键, 所以图像用起来很方便, 简单叠加, 你只需要控制blit的先后顺序即可. SDL使用png图像文件的代码可以见: 用SDL在Linux实现图像的移动

程序有一些以后需要完善的地方:

  • 基于鼠标事件驱动, 不知道该如何显示动画, 计时等.
  • 地图的生成算法需要改进, 当前只是随机生成地形, 经常出现地形不是成对匹配的情况.
  • 播放声音.
  • 两点的闪电连线更好的表现形式.
  • 资源的载入, 目前是写死在代码中的, 以后需要通过配置文件或者菜单来选择图标主题.
  • 资源的引用方式, 目前是把所有资源载入一个结构体实例, 每一张图片通过该结构体的一个字段引用.

下载源码: llk-gui.zip: 连连看图形界面程序

Related posts:

  1. 连连看游戏开发实践(3) – 动画
  2. 连连看游戏开发实践(1) – 算法
  3. 用SDL在Linux实现图像的移动
  4. lighttpd源码学习资料

Written by benegg at 2009-06-01 22:57:22 | Views: 8103 | tags: , , ,

Leave a Reply

必须登录, 或者浏览器开启JavaScript支持才可以评论!