话说,我用c++11和opengl在mac上写过一个贪吃蛇,可以参考一下:https://git.oschina.net/lt123345/snakegame
主要是贪吃蛇本身的核心逻辑才70行左右(偷懒用了STL的list,不用自己实现链表)
当时装逼用英语写的注释,请不要打我!
核心逻辑大概是这样子 每次移动的时候:
1. 如果蛇头出界或者碰到自己,game over
2. 如果蛇头吃到食物,蛇变长。
3. 否则(蛇头什么都没碰到)移动蛇。
用链表存蛇身的各个位置的话,链表尾部当蛇头,那蛇变长的操作很简单:把新的蛇头位置插入链表尾部。
移动蛇的操作也简单:把新的蛇头位置插入链表尾部,删除链表头。
然后,剩下的事情还有两个:
1. 拿到蛇身的所有位置,在对应位置画上蛇身
2. 获取用户输入,改变蛇的移动方向
那。。。你需要了解的只有:
opengl怎么在指定位置画方块(圆圈)
opengl怎么处理用户输入
没了。