game of life 小游戏(用SDL实现)

1.首先介绍下game of life的游戏规则:

        (1)在一个细胞世界,每个细胞的存活状态由他周围细胞的状态决定

        (2)若一个细胞周围有三个细胞存活,则不管该细胞上一代为何种状态,该细胞下一代活;

        (3)若一个细胞周围有两个细胞存活,则该细胞状态不变;

        (4)其他情况,该细胞死

详细规则介绍参考生命游戏-百度百科Conway's Game of Life-Wiki


2.本文采用的图形界面是SDL2,SDL在VS2010中配置方法如下:

        (1)下载sdl开发库:SDL官网

        (2)新建空项目,打开项目属性,接下来开始配置sdl环境

        (3)在属性->配置属性->vs++目录中,配置包含目录和库目录,将刚刚下载解压之后的文件包含进去,其中库目录两个,一般用x86文件夹下的那个(与操作系统无关,因为VS新建工程一般是win32程序)


        (4)在链接器中添加附加库目录,将刚刚第二步的lib目录包含进去;


        (5)链接器->系统->子系统中选择控制台,便于调试;


        (6)在链接器->输入中,附加依赖项,将刚刚用到的所有.lib文件包含进去;


        (7)然后把刚刚添加的lib文件拷贝到工程目录下(不然会报错,Mark一下,待解决


3. 具体实现:

本文的实现采用的是通过SDL_Window和SDL_Surface这两个类实现的,具体实现参考下面的链接。

源码参见本人GitHub链接:game of life-github

接下来说明一下SDL的Window, Surface, Texture, Renderer之间的关系:

1. window和surface

CreateWindow之后,利用GetWindowSurface绑定window和surface,然后就可以利用surface绘制界面,记得绘制完之后通过UpdateWindowSurface更新窗口(忘记之后会无法显示界面)

2. window和renderer :「SDL第二篇」窗口渲染-简书

CreatWindow->CreatRenderer->SetDrawColor->RenderClear->RenderDrawRect->RenderPresent->DestoryRenderer->DestoryWindow

3. window和texture:「SDL第五篇」彻底理解纹理(Texture)-简书

texture与surface类似但比surface效率更高



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值