亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pushes the box.c

?? 推箱子基本的游戲開發
?? C
字號:
//連接頭文件部分
#include "stdio.h"
#include "conio.h"
#define XMAX 20   //最大寬度
#define YMAX 20   //最大長度

//主角的當前狀態
struct Lead
{
      int x; //列坐標
      int y; //行坐標
}Condition={10,5}; //初始化主角坐標

//地圖原型
char Map[XMAX][YMAX] =
{

{'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'},
{'|','s','0','s','0','|','s','0','0','0','|','0','0','s','|','0','s','o','|'},
{'|','0','o','0','0','|','0','0','e','0','|','o','0','0','|','0','0','0','|'},
{'|','0','0','0','0','|','o','0','0','0','|','0','e','0','|','e','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','o','o','|','0','0','s','|'},
{'|','0','-','-','-','-','-','-','0','-','|','0','0','0','|','-','-','-','|'},
{'|','0','e','0','0','|','0','o','0','0','|','0','0','0','|','0','0','0','|'},
{'|','0','0','0','0','|','0','0','0','0','|','s','0','s','0','0','0','o','|'},
{'|','0','o','0','0','|','0','e','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','o','0','0','0','0','0','0','0','0','e','e','0','|','0','o','0','|'},
{'|','0','0','-','-','|','0','0','0','0','|','0','0','0','|','o','0','0','|'},
{'|','0','0','0','0','|','o','0','e','0','|','0','0','0','|','0','e','0','|'},
{'|','0','e','0','0','|','0','0','0','0','|','0','s','0','|','0','0','0','|'},
{'|','0','0','e','0','|','s','0','0','0','|','e','0','0','|','e','0','0','|'},
{'|','0','0','0','0','|','0','0','0','0','|','0','0','0','|','0','s','0','|'},
{'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'}

};

//初始化地圖
int Cartography (void)

{
      int x,y,i,j;  //坐標變量
      for (x=0,i=2;x<XMAX;++x,++i)
      {
            for (y=0,j=2;y<YMAX-1;++y,++j)
            {
                  gotoxy (j,i);   //定位光標
                  switch (Map[x][y])   //繪制地圖
                  {
                        case '-': printf ("%c",45);  delay (5000); break;
                        case '|': printf ("%c",179); delay (5000); break;
                        case 'e': printf ("%c",254); delay (5000); break;
                        case 'o': printf ("%c",35);  delay (5000); break;
                        case 's': printf ("%c",3);   delay (5000); break;
                        case '0': break; //空地的情況下
                        default : printf ("Map Error!"); break; //地圖錯誤
                  }
            }
      }
      return 0;  //返回
}

//構造主角模塊
int Character (void)

{
      gotoxy (Condition.x,Condition.y); //得到主角初始位置
      printf ("%c",2);  //打印主角
      return 0;
}

//顯示信息模塊
int Show (void)

{
      gotoxy (30,4);  delay (5000); printf ("小游戲 - 推箱子\tBy:帕帕 To:2007/4/22");
      gotoxy (30,6);  delay (5000); printf ("Checkpoint:");  //當前關卡
      gotoxy (30,8);  delay (5000); printf ("Your Score:");  //分數
      gotoxy (30,10); delay (5000); printf ("Has used the time:"); //使用時間
      return 0;
}

//鍵盤控制模塊
int Control (void)

{
      char temp;   //臨時單元
      while (1)    //死循環
      {
            if (kbhit ()) //檢測鍵盤是否有鍵被按下
            {
                  temp = bdos (7,0,0); //ascii碼存入temp
                  switch (temp) //按下的是什么鍵
                  {
                        case 'H':  //按下上方向鍵
                        if (Map[Condition.x][Condition.y-1] == '-' || Map[Condition.x][Condition.y-1] == '|')  //前方是墻壁
                        {
                              break;  //什么都不做
                        }
                        else
                        {
                              if (Map[Condition.x][Condition.y-1] == 'e' && Map[Condition.x][Condition.y-2] == 0) //前方是箱子,有足夠空格
                              {
                                    gotoxy (Condition.x,Condition.y);   //定位當前坐標
                                    printf ("%c",0);   //清除當前主角
                                    gotoxy (Condition.x,Condition.y-1); //定位箱子坐標
                                    printf ("%c",2);   //主角覆蓋箱子
                                    gotoxy (Condition.x,Condition.y-2); //定位新箱子坐標
                                    printf ("%c",254); //打印新箱子
                                    Condition.y-=1;    //保存當前坐標
                              }
                              else //判斷前方是箱子還是空地
                              {
                                    if (Map[Condition.x][Condition.y-1] != 'e') //前方是空地
                                    {
                                          gotoxy (Condition.x,Condition.y);
                                          printf ("%c",0);
                                          gotoxy (Condition.x,Condition.y-1);
                                          printf ("%c",2);
                                          Condition.y-=1; //更新主角坐標
                                    }
                                    else //前方是箱子,但沒足夠空地移動
                                    {
                                          break;
                                    }
                              }
                        }
                        break; //跳出分支結構

                        case 'P': //按下下方向鍵
                        if (Map[Condition.x][Condition.y+1] == '-' || Map[Condition.x][Condition.y+1] == '|')  //前方是墻壁
                        {
                              break;  //什么都不做
                        }
                        else
                        {
                              if (Map[Condition.x][Condition.y+1] == 'e' && Map[Condition.x][Condition.y+2] == 0) //前方是箱子,有足夠空格
                              {
                                    gotoxy (Condition.x,Condition.y);   //定位當前坐標
                                    printf ("%c",0);   //清除當前主角
                                    gotoxy (Condition.x,Condition.y+1); //定位箱子坐標
                                    printf ("%c",2);   //主角覆蓋箱子
                                    gotoxy (Condition.x,Condition.y+2); //定位新箱子坐標
                                    printf ("%c",254); //打印新箱子
                                    Condition.y+=1;    //保存當前坐標
                              }
                              else //判斷前方是箱子還是空地
                              {
                                    if (Map[Condition.x][Condition.y+1] != 'e') //前方是空地
                                    {
                                          gotoxy (Condition.x,Condition.y);
                                          printf ("%c",0);
                                          gotoxy (Condition.x,Condition.y+1);
                                          printf ("%c",2);
                                          Condition.y+=1; //更新主角坐標
                                    }
                                    else //前方是箱子,但沒足夠空地移動
                                    {
                                          break;
                                    }
                              }
                        }
                        break;

                        case 'K': //按下左方向鍵
                        if (Map[Condition.x-1][Condition.y] == '-' || Map[Condition.x-1][Condition.y] == '|')  //前方是墻壁
                        {
                              break;  //什么都不做
                        }
                        else
                        {
                              if (Map[Condition.x-1][Condition.y] == 'e' && Map[Condition.x-2][Condition.y] == 0) //前方是箱子,有足夠空格
                              {
                                    gotoxy (Condition.x,Condition.y);   //定位當前坐標
                                    printf ("%c",0);   //清除當前主角
                                    gotoxy (Condition.x-1,Condition.y); //定位箱子坐標
                                    printf ("%c",2);   //主角覆蓋箱子
                                    gotoxy (Condition.x-2,Condition.y); //定位新箱子坐標
                                    printf ("%c",254); //打印新箱子
                                    Condition.x-=1;    //保存當前坐標
                              }
                              else //判斷前方是箱子還是空地
                              {
                                    if (Map[Condition.x-1][Condition.y] != 'e') //前方是空地
                                    {
                                          gotoxy (Condition.x,Condition.y);
                                          printf ("%c",0);
                                          gotoxy (Condition.x-1,Condition.y);
                                          printf ("%c",2);
                                          Condition.x-=1; //更新主角坐標
                                    }
                                    else //前方是箱子,但沒足夠空地移動
                                    {
                                          break;
                                    }
                              }
                        }
                        break;

                        case 'M':  //按下右方向鍵
                        if (Map[Condition.x+1][Condition.y] == '-' || Map[Condition.x+1][Condition.y] == '|')  //前方是墻壁
                        {
                              break;  //什么都不做
                        }
                        else
                        {
                              if (Map[Condition.x+1][Condition.y] == 'e' && Map[Condition.x+2][Condition.y] == 0) //前方是箱子,有足夠空格
                              {
                                    gotoxy (Condition.x,Condition.y);   //定位當前坐標
                                    printf ("%c",0);   //清除當前主角
                                    gotoxy (Condition.x+1,Condition.y); //定位箱子坐標
                                    printf ("%c",2);   //主角覆蓋箱子
                                    gotoxy (Condition.x+2,Condition.y); //定位新箱子坐標
                                    printf ("%c",254); //打印新箱子
                                    Condition.x+=1;    //保存當前坐標
                              }
                              else //判斷前方是箱子還是空地
                              {
                                    if (Map[Condition.x+1][Condition.y] != 'e') //前方是空地
                                    {
                                          gotoxy (Condition.x,Condition.y);
                                          printf ("%c",0);
                                          gotoxy (Condition.x+1,Condition.y);
                                          printf ("%c",2);
                                          Condition.x+=1; //更新主角坐標
                                    }
                                    else //前方是箱子,但沒足夠空地移動
                                    {
                                          break;
                                    }
                              }
                        }
                        break;

                        case 32: Cartography (); Character (); Show (); Control (); break;

                        case 27: clrscr (); printf ("游戲結束 ^_^\n"); getch (); exit (0);

                  }
            }
      }
      return 0;
}

int main (void) //程序入口地址

{
      Cartography (); //繪制地圖
      Character ();   //打印人物
      Show ();        //打印附加信息
      Control ();     //鍵盤控制
      getch ();
      return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品免费在线观看| 欧美吻胸吃奶大尺度电影| fc2成人免费人成在线观看播放 | 亚洲综合精品自拍| 国产激情精品久久久第一区二区| 精品视频一区三区九区| 国产精品入口麻豆九色| 精品一区二区三区欧美| 欧美人成免费网站| 麻豆国产91在线播放| 色欧美88888久久久久久影院| 久久亚洲精精品中文字幕早川悠里 | 一区二区高清视频在线观看| 国产麻豆精品一区二区| 欧美电影免费观看高清完整版在线| 亚洲午夜精品在线| 日本久久精品电影| 国产精品国产三级国产普通话99 | 国产精品国模大尺度视频| 国产在线播放一区二区三区| 日韩一级精品视频在线观看| 午夜精品久久久久久久99水蜜桃| 91小视频在线免费看| 一区在线播放视频| caoporn国产一区二区| 中文欧美字幕免费| 国产成人免费在线视频| 久久精品亚洲精品国产欧美| 国产在线麻豆精品观看| 久久久三级国产网站| 精品在线你懂的| 精品久久久影院| 激情综合一区二区三区| 亚洲精品一区二区三区精华液| 免费av网站大全久久| 日韩欧美国产一区在线观看| 激情综合色丁香一区二区| 日韩亚洲欧美在线| 国产在线日韩欧美| 国产精品麻豆久久久| aaa亚洲精品一二三区| 亚洲精品视频免费看| 欧美午夜精品久久久久久孕妇| 性做久久久久久| 日韩三级精品电影久久久| 国产一区二区三区在线观看免费视频| 久久综合色一综合色88| 成人黄色大片在线观看| 一个色在线综合| 日韩欧美国产一二三区| 国产成人免费视| 亚洲激情在线激情| 制服丝袜亚洲播放| 国产精品一区二区在线播放| 综合激情成人伊人| 91精品国产综合久久久久久漫画| 精品一区二区三区的国产在线播放| 国产日产欧美一区二区视频| 欧亚洲嫩模精品一区三区| 免费高清在线一区| 蜜桃久久久久久| 国产精品久久久久久久久晋中 | 91小视频在线观看| 五月开心婷婷久久| 国产精品理论片在线观看| 欧美三级一区二区| 成人午夜私人影院| 日韩有码一区二区三区| 国产嫩草影院久久久久| 欧美精品乱人伦久久久久久| 国产sm精品调教视频网站| 亚洲国产精品麻豆| 国产精品污www在线观看| 欧美性感一类影片在线播放| 国产a区久久久| 日韩精品欧美成人高清一区二区| 亚洲国产精品激情在线观看| 91精品国产综合久久蜜臀| 91片在线免费观看| 国产在线播放一区二区三区| 亚洲va欧美va人人爽| 亚洲日本护士毛茸茸| 2024国产精品| 日韩欧美国产高清| 欧美久久一二三四区| 99久久精品国产网站| 国产91在线看| 日本欧美在线观看| 亚洲国产欧美在线| 一区在线观看视频| 国产精品毛片久久久久久久| 亚洲精品一区在线观看| 日韩一区二区免费电影| 欧美美女一区二区| 欧美性大战久久久久久久蜜臀| 91香蕉视频污在线| 99久久夜色精品国产网站| 国产成人在线视频网址| 紧缚捆绑精品一区二区| 久久国产精品色婷婷| 免费日韩伦理电影| 日韩中文字幕亚洲一区二区va在线 | 欧美日韩国产一级| 欧美视频中文字幕| 欧美性极品少妇| 欧美视频在线观看一区二区| 欧美性xxxxxx少妇| 欧美久久久久久久久中文字幕| 欧美日韩亚洲综合在线| 欧美日韩一区二区电影| 欧美美女一区二区在线观看| 777a∨成人精品桃花网| 91精品综合久久久久久| 欧美一二三区在线| 久久久美女毛片| 国产欧美一区二区精品性色超碰| 久久影音资源网| 国产精品久久久久久久岛一牛影视| 国产精品网曝门| 亚洲人123区| 亚洲午夜久久久久久久久电影院| 亚洲一区二区3| 日韩高清不卡一区二区三区| 蜜桃在线一区二区三区| 国产成人在线网站| 99久久国产免费看| 欧美揉bbbbb揉bbbbb| 日韩午夜电影av| 国产精品午夜在线观看| 夜夜嗨av一区二区三区四季av | 99视频在线精品| 欧美视频在线不卡| 欧美mv和日韩mv的网站| 久久久精品蜜桃| 一区二区三区电影在线播| 亚洲超碰97人人做人人爱| 国产真实乱偷精品视频免| 成人黄色免费短视频| 欧美三区免费完整视频在线观看| 日韩欧美高清一区| 国产精品丝袜久久久久久app| 一区二区免费在线播放| 日本va欧美va精品发布| 成人h动漫精品一区二区| 在线一区二区三区四区五区| 欧美一二三四在线| 18成人在线观看| 日本三级韩国三级欧美三级| 国产91在线观看丝袜| 在线不卡一区二区| 国产精品进线69影院| 日本伊人精品一区二区三区观看方式| 国产传媒欧美日韩成人| 欧美日韩国产综合视频在线观看 | 欧美绝品在线观看成人午夜影视| 精品久久一区二区| 亚洲综合色自拍一区| 国产成人精品午夜视频免费| 欧美日韩亚洲国产综合| 国产精品久久久久久亚洲伦| 男女激情视频一区| 色婷婷久久99综合精品jk白丝 | 精品入口麻豆88视频| 一区二区三区资源| 国产激情一区二区三区四区| 欧美日韩国产精选| 亚洲男同1069视频| 国产成人超碰人人澡人人澡| 欧美一级爆毛片| 亚洲成人动漫在线观看| 91麻豆swag| 国产精品欧美综合在线| 狠狠色丁香婷综合久久| 欧美日本免费一区二区三区| 亚洲欧美日韩电影| av在线这里只有精品| 国产婷婷色一区二区三区四区| 蜜桃在线一区二区三区| 欧美精品xxxxbbbb| 亚洲va欧美va人人爽| 在线观看不卡一区| 亚洲免费三区一区二区| av电影在线观看一区| 日本一区二区在线不卡| 精品在线一区二区| 精品成人一区二区三区| 美女一区二区久久| 日韩欧美在线一区二区三区| 午夜久久久久久久久| 欧美特级限制片免费在线观看| 最好看的中文字幕久久| 99久久精品国产导航| 综合久久国产九一剧情麻豆| 99视频精品全部免费在线| 亚洲日穴在线视频| 色综合av在线| 亚洲一卡二卡三卡四卡无卡久久| 在线精品国精品国产尤物884a| 亚洲美女区一区| 欧洲激情一区二区|