c语言怎么编游戏
c语言吧
全部回复
仅看楼主
level 1
c闲人 楼主
纯真童趣的《泡泡堂》,还有武林情仇,笑傲江湖的《剑侠情缘online》.它是e时代常谈的话题,是交互式娱乐的主力军,是一种高层次的综合艺术,更是一个民族的文化,世界观的全新传播方式.作为游戏玩家的我们,是不是想设计一个属于自己的游戏呢?爱玩是人的天性,而C语言是我们计算机专业都要学习的一门基础学科.一般来说,是比较枯燥的.那么,我们能不能通过编一些小游戏来提高它的趣味性呢?这样学习程序设计,就不会是一件艰苦,枯燥的事,它变得象电脑游戏一样充满好奇,富有乐趣.这正是我发贴的目的.1, 总是从Hello,world开始学习编程的第一个程序,一般就是打印一个亲切的词语——"Hello,world!".让我们来看看这个最简单的C程序:#incolude
/*把输入输出函数的头文件包含进来*/int main(){printf("Hello, world!");/*在屏幕上输出字符串"Hello,world!"*/return 0;/*退出main函数,并返回0*/}下面我们发现几个值得改进的地方,1,程序的运行结果一闪而过.2,每执行这个程序一次都能看见上次运行留下的字符.3,我们还希望屏幕输出一个笑脸来欢迎我们.(大家不要小看了这个笑脸曾经有人发贴专门问呢)让我们来改进一下这个程序吧!1,在return语句的前面加一句:getch ();,表示按任意键结束.2,在printf语句前用clrscr函数清屏,要使用这个函数和getch函数,需要在程序开头再包含头文件conio.h.3,ASCII码也有许多非常好玩的字符,比如ASCII码值为2的就是一个笑脸,我们可以用printf("%c", 2)来输出一个笑脸.现在我们把Hello,world程序改成一个更好看的Hello,world了.下面让我们开始做游戏吧!2, 心动的开始,一个运动中的笑脸大家小时侯喜欢看动画片吗?哈哈,我猜你们都喜欢吧!下面就让我们来做一个小动画吧.在屏幕上显示一个运动的小笑脸,而且当它到达屏幕的边缘时会自动弹回来.先在程序定义一个在屏幕中运动的点的结构:struct move_point{ int x, y;/*该点的位置,包括x坐标和y坐标*/ int xv, yv;/*该点在x轴,y轴的速度*/};运动的原理是,先擦去物体先前的轨迹,让物体按其速度移动一段距离,再画出该物体.让我们看到以下代码:gotoxy(man.x, man.y);/*把光标移到指定的坐标*/printf(" ");/*输出一个空格,把先前的字符擦去*/然后我们让物体按其速度运动:man.x += man.xv;/*水平方向按x轴的速度运动*/man.y += man.yv;/*垂直方向按y轴的速度运动*/运动后还要判断物体是否出界,如果出了界,就令物体反弹,即让它下一刻的速度等于现在的速度的相反数.最后打印出这个笑脸:gotoxy(man.x, man.y);printf("%c\b", 2); /*输出ASCII码值为2的"笑脸"字符*/怎么样?是不是很有趣呢?不过这个笑脸一直是自己运动,能不能让我们来控制它运动呢?答案是肯定的,让我们继续往下学吧!3, 交互的实现——让我们来控制笑脸运动这个程序的主要功能是接受按键,如果接收的是方向键,就让笑脸顺着方向移动,如果接收的是ESC键就退出程序,其他按键则忽略处理.接受按键我们用以下两条语句:while (bioskey(1) == 0);/*等待按键*/key = bioskey(0);/*把接收的按键的键盘码赋给变量key*/然后用switch语句来判断按键以及执行相关操作,如下:switch (key) /*对变量key的值进行判断*/{case UP: /*如果按的是向上键*/ … break; /*让物体向上运动,并退出switch*/case DOWN: /*如果按的是向下键*/ … break; /*让物体向下运动,并退出switch*/case LEFT: /*向左键*/ … break;;/*向左运动*/case RIGHT: /*向右键*/ … break;/*向右运动*/
2004年09月09日 11点09分 1
level 7
好,建议精品啊,怎么看的人这么少?想学习,都来看
2004年09月10日 07点09分 3
level 0
看了啊,好
2004年09月10日 12点09分 4
可以加群125805513 了解更多游戏制作技术。
2013年10月16日 03点10分
level 2
顶啊..
2004年09月11日 02点09分 5
level 2
看了,虽然不怎么懂,但是觉得很有趣,经典啊!
2004年09月11日 05点09分 6
level 0
希望可以精彩看到这样的佳作!让人有所获的作品。
2004年10月23日 13点10分 7
level 0
啊啊 爽啊 你的QQ是?加我就要有心理准备阿!我可是有满多?题的哦
2004年10月24日 05点10分 9
level 2
精辟.你不会是老师吧?
2004年10月27日 03点10分 10
level 1
好顶我有兴趣看的一点懂
2004年10月27日 12点10分 11

2013年01月07日 06点01分
level 1
我觉得比较有趣但不知道不怎样把这些语句组织起来请问 “c闲人”老师能不就那个笑脸的游戏 把整个程序写出来让我看看!!谢谢!!
2004年10月27日 13点10分 12
同求
2012年07月30日 18点07分
同……
2012年08月30日 09点08分
[汗]8年了!!!!
2012年10月06日 13点10分
回复 C编程希希 :[揉脸]谁翻出来的
2012年10月07日 04点10分
level 0
我也在看啊,很好很精彩。
2004年10月27日 14点10分 13
level 0
很好的啊,能不能把程序写下来看看啊
2004年11月09日 05点11分 14
level 1
c闲人 楼主
人最主要的是学会举一反三如果我在举一个比这个还好的例子你们还是会要让我写给你们看这么一来你们还是什么也不会
2004年11月09日 10点11分 15
说得好,赞一个!
2013年04月13日 09点04分
回复 yeye不凡 :赞
2014年08月11日 01点08分
level 0
不错呀,可是我们虽然也学了C,但是老感觉里面的东西没有学完,有很多的函数和命令都不知道什么用 谁能帮我了解些,请发我E=MAIL 谢谢了[email protected]
2004年11月09日 11点11分 16
level 2
用c能读取bmp格式的图片吗?我好像在那里看过的。
2004年11月11日 03点11分 17
level 1
不知道 在旧的版本中可不可以出现所说的效果
2004年11月11日 05点11分 18
level 1
不知道可不可以弄出可以动的人
2004年11月11日 05点11分 19
level 1
c闲人 楼主
完全可以
2004年11月11日 07点11分 20
level 1
你好我一点都 不会C语言你能不能教教我呀 行吗如果行的话你加我QQ好吗 我QQ是13622048 我真的很想学点东西
2004年11月11日 12点11分 21
回复 100230vip :c primary plus
2012年08月30日 10点08分
回复 gayanous :应该是C primer plus
2014年08月11日 01点08分
level 1
我刚刚编的程序:(2, 心动的开始,一个运动中的笑脸)#include
#include
int main(){ struct point { int x,y; int xv,yv; }man; long p; man.x=man.y=20; man.xv=man.yv=1; clrscr(); p=100000000; while(p--) { if(p%50000) continue; gotoxy(man.x,man.y); printf(" "); man.x+=man.xv;      //当x小于10或者大于70就转向;y也一样。 if(man.x<10) { man.x=10; man.xv*=-1; } else if(man.x>70) { man.x=70; man.xv*=-1; } man.y+=man.yv; if(man.y<10) { man.y=10; man.yv*=-1; } else if(man.y>70) { man.y=70; man.yv*=-1; } gotoxy(man.x, man.y); printf("%c\b",2); } getch(); return 0;}运行OK了(WinXP,TC2.0),我不清楚屏幕上点的坐标的取值范围是怎么定的,只能以10、70为下界和上界,也就只能看到一个笑脸在做无规则运动。
2004年11月20日 16点11分 22
@hfmvictory 好像用tc把,vc上有有的地方要做改动的
2012年07月30日 01点07分
主要是gotoxy这个函数
2012年08月03日 02点08分
printf("%c\b",2);为什么要加退格啊?
2012年08月24日 09点08分
回复 红夏之夜 :如果用C,你需要加入#include “Graphice.h”,需要上网百度一下C语言画图工具就行,很简单的,要那个画图软件的恢复我,我给你
2012年08月30日 10点08分
1 2 3 4 5 6 尾页