zlh 发表于 2016-2-11 19:22:10

飞机大战小游戏编写教程(2)

本帖最后由 zlh 于 2016-2-12 08:53 编辑

大家好,今天我们继续来编写我们的飞机大战小游戏。
今天我们来解决画图问题。
大家都知道,在VC中是很难画出漂亮的图形的,因为VC没有继承TC的<graphics.h>函数库。
所以我们只能用简单的字符来画出图案。

程序开始我们要先画出一个边框,来限定飞机的飞行范围。
我们不妨设置边框的边长为21×20.
不要以为长和宽差不多,在上一篇文章中我曾提到:DOS界面正常是一个80列×25行的窗口。
实际上80列中,每一个字符占两格。25行中,每个字符占一格。
如果你还不明白,打开你的编译器,分别输出同样数量的横向排列的*和纵向排列的*。
是不是纵向排列的比横向排列的多?

回到正题
我们不妨用*号作为边框。而画边框时我们不可能一个一个*号输出,所以我们要使用for循环来节省工作量。
这里我们就要用到gotoxy()函数。这个函数可以到我的上一篇文章复制。飞机大战小游戏编写教程(1)
我们画长时,列x不变。画宽时,行y不变。变量用for循环每次增加的那个数据控制。
下面是代码。
void huatu()//画图
{
    int i,n;
    for(i=0;i<=20;i++)
   {
      for(n=0;n<=20;n++)
      {
            printf("*");
               }
      printf("\n");
    }
    for(i=1;i<=19;i++)
    {
        for(n=1;n<=19;n++)
        {
              gotoxy(i,n);
            printf(" ");
        }
   }
}

画完图后当然是必不可少的游戏说明。
注释就十分的简单,只要移动到一个合适的位置,就可以输出了。
下面是代码:
void shuoming()
{
    gotoxy(0,0);
    printf("\t\t\t\n\n\n\n");
    printf("\t\t\t方向控制\n\n"
    "\t\t\t左 a\n\n"
    "\t\t\t右 d\n\n"
    "\t\t\t子弹 空格\n\n\n"
    "\t\t\t退出请按 ESC\n");
    gotoxy(x,y);
    printf("♂");
    gotoxy(22,2);
    printf("分数:");
    gotoxy(0,0);
}
这里我顺便把飞机也包括在内,看了我的注释大家可能会奇怪,为什么飞机只会左右走呢?
这个问题在我们明天的各项角色的移动中会讲到。

zlh 发表于 2016-2-11 19:24:20

沙发945
@小甲鱼的二师兄 @康小泡 @拈花小仙 @machimilk @黑龍

拈花小仙 发表于 2016-2-11 19:51:04

zlh 发表于 2016-2-11 19:24
沙发945
@小甲鱼的二师兄 @康小泡 @拈花小仙 @machimilk @黑龍

{:7_123:}等你把教程做完以后,找小甲鱼推广下,不要一个一个at我们哈`

拈花小仙 发表于 2016-2-11 19:52:19

{:7_139:}还是柯南那个头像帅,不要用QQ秀头像啦`

zlh 发表于 2016-2-11 21:01:36

拈花小仙 发表于 2016-2-11 19:52
还是柯南那个头像帅,不要用QQ秀头像啦`

ok

黑龍 发表于 2016-2-11 21:29:57

挺好的
ps:楼主的代码的缩进弄得规范一些。。。

黑龍 发表于 2016-2-11 21:30:20

拈花小仙 发表于 2016-2-11 19:52
还是柯南那个头像帅,不要用QQ秀头像啦`

我感觉初始的好看

machimilk 发表于 2016-2-11 23:37:13

还是连续剧啊

拈花小仙 发表于 2016-2-11 23:54:04

黑龍 发表于 2016-2-11 21:29
挺好的
ps:楼主的代码的缩进弄得规范一些。。。

他们的小龟比你的好看哈,你的有毛边。

zlh 发表于 2016-2-12 08:57:35

黑龍 发表于 2016-2-11 21:29
挺好的
ps:楼主的代码的缩进弄得规范一些。。。

本来是好的,复制过来后就不对了

无妄之之 发表于 2016-2-12 09:25:26

学习学习

zlh 发表于 2016-2-14 19:44:13

1在这么前面,2居然没有人顶

苦哈哈 发表于 2016-2-17 15:54:35

1哇塞,解析的好

l@x@y 发表于 2016-2-27 17:20:17

{:10_277:}

转身为墙 发表于 2016-2-29 09:41:12

支持!!!

793856930 发表于 2016-3-1 16:28:49

写得这么好没人来加分呢

醋醋萌萌哒 发表于 2017-6-9 10:04:07

{:5_91:}
页: [1]
查看完整版本: 飞机大战小游戏编写教程(2)