如何用c语言制作简单的游戏?类似扫雷贪吃蛇 100
最近正在写相关的教程,顺手答一波。
首先C语言本身是不太可能制作游戏的,因为游戏涉及到一些键盘、鼠标输入和图像处理等操作C语言本身是不支持的,所以想要写游戏,需要至少先学习一套图形API,当然只用C语言的控制台窗口也可以实现,但是感觉非常low……
题主说是简单的游戏,我暂时把范围定义在2D游戏,你需要学习一套2D图形API接口,在windows平台上,可以使用GDI(大多数windows应用),或者使用最新的Direct2D图形接口,不要觉得这有多难,其实就是简单的函数使用而已。
如果我的教程写完,真的很想找你做测试用户,但是显然我不知道能不能在半年内写完,所以我现在推荐你去看微软官方文档msdn,非常值得一读,如果想要做游戏,你需要先学习Windows应用开发入门这个系列文章,学完基本上就懂得要给windows窗口的搭建过程了。(估计大约用时2周)
这里补充一下,因为上面这个教程的内容并不是针对游戏开发,所以我推荐你学习一下 游戏设计模式这本书,开源的,有中文需要你自己百度。如果内容太难看不下去,至少要学会掌握游戏循环这一章,网上再搜搜相关的知识,你可以搭建一个游戏开发框架,为以后的小游戏创建一个基本框架。
接着开始学习Direct2D的使用,依然推荐msdn的教程,也可以百度搜索一些,主要学习如何加载图像,显示图像,如果显示文字,如果旋转图像等基本操作。主要是知道这些API能干什么,在哪里可以查到,基本的使用方法,不需要背下来之列的,差不多就行,重要的是你在做游戏想要某一个功能的时候,能知道在哪找就好。例如,显示图像的API是什么?使用方法,参数返回值都不需要记住,用的时候直接找msdn看就行了。(估计大约用时2周)
这些你都学会了,剩下的就只是看你的想象力和模仿能力了,如果写俄罗斯方块这样的程序无从下手,推荐你先尝试做更简单的2048之类的游戏,如果还是不行,就看看别人的逻辑,然后尝试仿制,造轮子,一开始很困难,后期其实更多的是坚持……
期待你能坚持,并能够真的执行实现自己的想法。