展开全部
我不完全同意一楼的观点,虽然我最早也是用C++编的,但并不认为C就编不了。3D就更不用说了,现在学就是空中楼阁。编游戏可以只是个兴趣,不一定以后就从游戏业。
我觉得游戏的本质就是和玩家的互动,也就是输入输出。举4个例子,由易到难。
1. 输出1+1 = ? 输入2,则输出正确,输入其他则显示错误
2. 24点游戏,输出4个数,输入一行表达式,程序内部计算表达式的值(比较费劲),若=24则返回胜利,否则失败
3. 五子棋(无AI,否则难),黑白方轮流输入坐标,每次输入完坐标都重新输出一次棋盘上所有棋子,具体方式就是把存储棋子的矩阵挨个输出,无棋输出空格,黑输出*,白输出o,循环直到判断游戏是否结束的函数返回值为真,即有5子相连才结束。
4. 贪食蛇。这个需要查阅有关**的资料:线程(或计时器),响应键盘按键,随机数等等。蛇每隔单位时间向当前方向前进一步,然后刷新(也就是把画面重新输出一遍),在随机位置产生食物,蛇的尾巴经过食物(即已经消化)后加长一段。按方向键时改变记录当前方向变量的值。加入判断死亡的机制。
这个用控制台(就是和DOS似的,只有press any key to continue之类文字的界面)也可以实现,但是相关资料较少很难找,选择图形编程(windows下常用的软件都是这样,有窗口的)资料更多一些,如果你是在windows上编,就查C语言windows api,刚开始编时不会很方便。由易到难地尝试吧,不必急于用图形编程,控制台也是可以编出好游戏的,这是基础。
我觉得游戏的本质就是和玩家的互动,也就是输入输出。举4个例子,由易到难。
1. 输出1+1 = ? 输入2,则输出正确,输入其他则显示错误
2. 24点游戏,输出4个数,输入一行表达式,程序内部计算表达式的值(比较费劲),若=24则返回胜利,否则失败
3. 五子棋(无AI,否则难),黑白方轮流输入坐标,每次输入完坐标都重新输出一次棋盘上所有棋子,具体方式就是把存储棋子的矩阵挨个输出,无棋输出空格,黑输出*,白输出o,循环直到判断游戏是否结束的函数返回值为真,即有5子相连才结束。
4. 贪食蛇。这个需要查阅有关**的资料:线程(或计时器),响应键盘按键,随机数等等。蛇每隔单位时间向当前方向前进一步,然后刷新(也就是把画面重新输出一遍),在随机位置产生食物,蛇的尾巴经过食物(即已经消化)后加长一段。按方向键时改变记录当前方向变量的值。加入判断死亡的机制。
这个用控制台(就是和DOS似的,只有press any key to continue之类文字的界面)也可以实现,但是相关资料较少很难找,选择图形编程(windows下常用的软件都是这样,有窗口的)资料更多一些,如果你是在windows上编,就查C语言windows api,刚开始编时不会很方便。由易到难地尝试吧,不必急于用图形编程,控制台也是可以编出好游戏的,这是基础。
展开全部
哥们 劝你不要用C去写游戏 以前我也是一直想用C写 但是后悔了 假如你想学游戏编程 直接用C++ C不太适合 而且假如你用的是大一学的C 界面又很不好 所以想学游戏编程 那么学学3D游戏程序设计
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议到网上收“c语言也能干大事”你会收获很多的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种游戏其实就是一个大型的while循环。
初始化之后开始游戏,掉入while循环,在while循环里面的每一回合,得到玩家的鼠标和键盘输入,通过调用函数更新画面,输出画面,直至玩家选择退出游戏,结束while循环,释放储存空间,退出游戏。
想编小游戏的话,可以看看清华大学出版社的《C语言课程设计与游戏开发实践教程》,基于easyX开发小游戏。
初始化之后开始游戏,掉入while循环,在while循环里面的每一回合,得到玩家的鼠标和键盘输入,通过调用函数更新画面,输出画面,直至玩家选择退出游戏,结束while循环,释放储存空间,退出游戏。
想编小游戏的话,可以看看清华大学出版社的《C语言课程设计与游戏开发实践教程》,基于easyX开发小游戏。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询