background image

纯真童趣的《泡泡堂》,还有武林情仇,笑傲江湖的《剑侠情缘 on line》。它是 e 时代常

谈的话题,是交互式娱乐的主力军,是一种高层次的综合艺术,更是一个民族的文化,世界观
的全新传播方式。作为游戏玩家的我们,是不是想设计一个属于自己的游戏呢?

爱玩是人的天性,而 C 语言是我们计算机专业都要学习的一门基础学科。一般来说是比较

枯燥的。那么,我们能不能通过编一些小游戏来提高它的趣味性呢?这样学习程序设计,就不
会是一件艰苦、枯燥的事,它变得像电脑游戏一样充满好奇、富有乐趣。这正是我发贴的目的。

1.

总是从 Hello, world!开始
学习编程的第一个程序,一般就是打印一个亲切的词语——"Hello,world!"。让我们来看

看这个最简单的 C 程序:

#include <stdio.h> 

/*把输入输出函数的头文件包含进来*/

int main()
{

printf("Hello, world!"); /*在屏幕上输出字符串"Hello,world!"*/
return 0;

/*退出 main 函数,并返回 0*/

}

下面我们发现几个值得改进的地方:

1. 程序的运行结果一闪而过
2. 每执行这个程序一次都能看见上次运行留下的字符
3. 我们还希望屏幕输出一个笑脸来欢迎我们

(大家不要小看了这个笑脸 曾经有人发贴专门问呢)

让我们来改进一下这个程序吧!

1.

在 return 语句的前面加一句:getch();,表示按任意键结束

2.

在 printf 语句前用 clrscr 函数清屏,要使用这个函数和 getch 函数,需要在
程序开头再包含头文件 conio.h
(stdlib.h

 

  

 

 

 中的

      

 system("cls")

 

 兼容性更好

 

 )

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(" ");

/*输出一个空格,把先前的字符擦去*/

然后我们让物体按其速度运动: