可以用c语言写出来的游戏,用C语言写的小游戏.doc

用C语言写的小游戏

第一步:创建角色

首先,我们打开我们的编程软件,可以tc20或者tc30等,我这里就用win-tc作为演示。

我们新建一个文件,先将其保存,并命名为game.c

然后然我们通过简单的编程来显示我们的主角,这里我们以一个笑脸字符来代表主角。

#include

main()

{

printf("%c",2);

getch();

}

大家看到,我们这里调用stdio.h,这个头文件包含了很多输入输出的函数,我们这里用到printf函数和getch函数都包含在stdio.h头文件中。只要调用stdio.h才能使用以上两个函数。程序从main()开始执行后有两个语句。printf("%c",2);其中的2是显示ASCII码序号为2的那个字符,看起来就像一个笑脸,其他的ASCII码大家可以从网上搜索到。而对于getch();我们可以当做是等待按键输入的函数,如果没有按键输入,程序就被卡在getch();的地方,这样程序才不会很快就结束了。

第二步:控制角色

接下来,我们想方设法来让我们的主角可以根据我们的按键而动起来。当我们按下键盘“上”的时候,主角就往上移动。其他方向亦是如此。

我们先来看看如何判断按键的输入呢, 在bios.h头文件中有一个bioskey函数,可以判断我们的按键。我们可以通过如下的结构来判断按键:

while("")

{

当按键为上时发生什么事

当按键为下时发生什么事

当按键为左时发生什么事

当按键为右时发生什么事

}

其中的while(""){……}就是将{}里面的内容无限次地循环。同时我们可以通过switch语句来判断玩家到底按了哪个按键。

再来说说两个会用到的函数,clrscr函数是清屏函数,也就是把屏幕上的内容清空。gotoxy(横坐标, 纵坐标)这个函数会把光标移动到我们指定的坐标,使后面的输出在指定位置开始。

为了调用的方便,我们还添加一个函数draw专门来负责显示。

看看我们修改后的代码, 中间的内容是注释

#include

#include

int x=10, y=10;

?

void draw(int x,int y)

{

clrscr();

gotoxy(x, y);

printf("%c",2);

}

?

?

void main()

{

draw(x,y);

while("")

{

switch(bioskey(0))

{

case 18432:

y-=1;draw(x,y);break;

case 20480:

y+=1; draw(x,y);break;

case 19200:

x-=1; draw(x,y);break;

case 19712:

x+=1; draw(x,y);break;

}

?

}

}

?

好了,大家接下来就可以运行一下看看效果了,我们现在可以按键盘上的上下左右键来控制屏幕中笑脸的移动了。效果如下图所示:

?

?

?

第三步:显示地图

接下来,让我们来开始制作地图。我们可以用一个二维数组把屏幕上每个“格子”都对应起来,当对应屏幕上相应格子的二维数组的值为0时,屏幕在那个位置不显示任何内容,而当它的值为1的时候,屏幕上显示一个“心”。

现在就让我们来定义这个二维数组,我这里以总共有15行和15列来作为演示,大家可以根据实际需要来增加。我们在int x=10, y=10;的后面加上以下代码:

int map[15][15]={

1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,

1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

1,1,0,0,0,0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值