纯真童趣的《泡泡堂》,还有武林情仇,笑傲江湖的《剑侠情缘 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(" ");
/*输出一个空格,把先前的字符擦去*/
然后我们让物体按其速度运动: