用C语言编写笑脸游戏用C语言编写笑脸游戏
用C语言编写笑脸游戏1
1, 总是从Hello,world开始
学习编程的第一个程序,一般就是打印一个亲切的词语——"Hell o,world!".让我们来看看这个最简单的C程序:
#incolude /*把输入输出函数的头文件包含进来*/ int main()
{ printf("Hello, world!"); /*在屏幕上输出字符串"Hello,world!"*/
return 0; /*退出main函数,并返回0*/
}
1,程序的运行结果一闪而过
2,每执行这个程...
用C语言编写笑脸游戏
用C语言编写笑脸游戏1
1, 总是从Hello,world开始
学习编程的第一个程序,一般就是打印一个亲切的词语——"Hell o,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)来输出一个笑脸.
用C语言编游戏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的"笑脸"字符*/ 怎么样?是不是很有趣呢?不过这个笑脸一直是自己运动,能不能
#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;
}
把程序改了一下,现在笑脸的运动看着舒服多了!
#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;
man.y+=man.yv;
if(man.x==0||man.x==80) man.xv*=-1;
if(man.y==0||man.y==25) man.yv*=-1;
gotoxy(man.x, man.y);
printf("%c\b",2);
}
getch();
return 0;
}
刚刚写了个根据光标移动的笑脸的程序
#include
#include
#include
#define UP 18432 /*向上的键盘输入标志*/
#define DOWN 20480 /*向下的键盘输入标志*/
#define LEFT 19200 /*向左的键盘输入标志*/
#define RIGHT 19712 /*向右的键盘输入标志*/
main()
{
struct move_point
{
int x, y;
int xv, yv;
}man;
int key;
man.x=20;
man.y=20;
man.xv=1;
man.yv=1;
while(bioskey(1)==0)
{
key=bioskey(0);
clrscr();
switch(key)
{
case UP:
{
man.y-=man.yv;
if(man.y==0) man.y=0; if(man.x==300) man.x=300; if(man.y==0) man.y=0; if(man.y==300) man.y=300;
/*以上四句作为控制边界,在调试时无法正常处理*/
gotoxy(man.x, man.y); printf("%c\b",2);break; }
case DOWN:
{
man.y+=man.yv;
if(man.y==0) man.y=0; if(man.x==300) man.x=300; if(man.y==0) man.y=0; if(man.y==300) man.y=300;
/*以上四句作为控制边界,在调试时无法正常处理*/
gotoxy(man.x, man.y); printf("%c\b",2);break; }
case LEFT:
{
man.x-=man.xv;
if(man.y==0) man.y=0; if(man.x==300) man.x=300; if(man.y==0) man.y=0; if(man.y==300) man.y=300;
/*以上四句作为控制边界,在调试时无法正常处理*/
gotoxy(man.x, man.y); printf("%c\b", 2);break; }
case RIGHT:
{
man.x+=man.xv;
if(man.y==0) man.y=0; if(man.x==300) man.x=300; if(man.y==0) man.y=0;
if(man.y==300) man.y=300;
/*以上四句作为控制边界,在调试时无法正常处理*/
gotoxy(man.x, man.y); printf("%c\b", 2);break; }
default: break;
}
}
}
程序运行时,闪的不得了,图像不清晰,放慢速度后就知道了
有待解决,其实也很简单;我给写一下程序就知道其短处了.
#include
#include
void timeDelay(int time){
unsigned int far *clock=(unsigned int far*)0x0000046CL;
unsigned int now;
now=*clock;
while(*clock-now
本文档为【用C语言编写笑脸游戏】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。