国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

孔明棋,你玩過嗎

2019-11-17 05:35:10
字體:
來源:轉載
供稿:網友
//在tc3++下運行//游戲名孔明棋#define Up  0x4800
#define Down  0x5000
#define P    0x1970
#define R    0x1372
#define Enter  0x1c0d
#define Esc   0x11b
#define Right  0x4d00
#define Left  0x4b00#include<bios.h>
#include<stdio.h>
#include<dos.h>
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>//定義核心數據
int LargeStartx,LargeStarty;  //大方格圖形左上角坐標
int SmallStartx,SmallStarty;
int RedNum;  //紅格子的個數。假如紅格子的個數為1,則游戲過關
char State;  //按鍵的狀態(tài)M(move)與S(select),M表示移動紅格子。S表示選擇要移動的紅格子
int Attr[7][7];  //描述7*7矩陣格子的屬性N(none),W(white),R(red).N表示沒有格子,W表示有白色格子,R示                   //有紅色格子
int row,tier;    //7*7矩陣的行(row)與列(tier)
int Mission;     //表示第幾關
int MissionNum;  //總的關數typedef strUCt rect1  //描述大方格的屬性
{
int startx;
int starty;
int nowx;
int nowy;
int agox;
int agoy;
char color;
int size;
}Large;
Large LargeRect;typedef struct rect2  //描述小方格的屬性
{
int nowx;
int nowy;
char color;
int size;
}Small;
Small SmallRect;typedef struct add
{
int x;
int y;
}Add;//declare functions
void InitData1();
void InitData();
void InitMission(int );
void InitPic();
void Help();
void DrawSmallRect(int ,int ,int ,char );
void DrawLargeRect(int ,int ,int ,char );
void ChangeState();
void MoveLargeRect();
void MoveSmallRect(int );void main()
{
int key;
int gdriver=DETECT, gmode;
registerbgidriver(EGAVGA_driver);
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE);
cleardevice();
InitData1();  
InitData();    //隨著關數的變化需要恢復的數據
Mission=1;
InitMission(Mission);  //初始化關數.主要是改變一些方格的屬性
InitPic();
do
  {
   key=bioskey(0);
   LargeRect.agox=LargeRect.nowx;
   LargeRect.agoy=LargeRect.nowy;
   SmallRect.nowx=LargeRect.nowx+10;
   SmallRect.nowy=LargeRect.nowy+10;
   switch(key)
 {
 case Up:
    {
    if(State=='S')
         {
         if( (row-1)>=0&&Attr[row-1][tier]!='N' )
      {
      row--;
      MoveLargeRect();
      break;
      }
         }
    if(State=='M')
         {
         if(Attr[row-1][tier]=='R'&&Attr[row-2][tier]=='W')
      {
      MoveSmallRect(key);
      Attr[row][tier]='W';Attr[row-1][tier]='W';Attr[row-2][tier]='R';
      row-=2;
      MoveLargeRect();
      RedNum--;
      ChangeState();
      }
         }
     break;
    }
 case Down:
    {
    if(State=='S')
         {
         if( (row+1)<7&&Attr[row+1][tier]!='N' )
      {
      row++;
      MoveLargeRect();
      }
         }
    if(State=='M')
         {
         if(Attr[row+1][tier]=='R'&&Attr[row+2][tier]=='W')
      {
      MoveSmallRect(key);
      Attr[row][tier]='W';Attr[row+1][tier]='W';Attr[row+2][tier]='R';
      row+=2;
      MoveLargeRect();
      RedNum--;
      ChangeState();
      }
         }
    break;
    }
 case Left:
    {
    if(State=='S')
         {
         if( (tier-1)>=0&&Attr[row][tier-1]!='N' )
      {
      tier--;
      MoveLargeRect();
      }
         }
    if(State=='M')
         {
         if(Attr[row][tier-1]=='R'&&Attr[row][tier-2]=='W')
      {
      MoveSmallRect(key);
      Attr[row][tier]='W';Attr[row][tier-1]='W';Attr[row][tier-2]='R';
      tier-=2;
      MoveLargeRect();
      RedNum--;
      ChangeState();
      }
         }
    break;
    }
 case Right:
    {
    if(State=='S')
         {
         if( (tier+1)>=0&&Attr[row][tier+1]!='N' )
      {
      tier++;
      MoveLargeRect();
      }
         }
    if(State=='M')
         {
         if(Attr[row][tier+1]=='R'&&Attr[row][tier+2]=='W')
      {
      MoveSmallRect(key);
      Attr[row][tier]='W';Attr[row][tier+1]='W';Attr[row][tier+2]='R';
      tier+=2;
      MoveLargeRect();
      RedNum--;
      ChangeState();
      }
         }
    break;
    }
 case R:
    {
    InitData();
    InitMission(Mission);
    InitPic();
    break;
    }
 case P:
    {
    InitData();
    if(Mission<MissionNum)  Mission++;
    else Mission=1;
    InitMission(Mission);
    InitPic();
    break;
    }
 case Enter:
    {
    if(State=='S'&&Attr[row][tier]=='R')
        ChangeStat


上一篇:拷屏代碼

下一篇:利齒C sharp代替C++?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黑龙江省| 云阳县| 司法| 同仁县| 廊坊市| 靖边县| 房产| 固镇县| 拉萨市| 平定县| 宜兴市| 肃宁县| 筠连县| 门源| 文水县| 海伦市| 高平市| 金塔县| 班戈县| 信丰县| 南投市| 泉州市| 潼关县| 广灵县| 东辽县| 广州市| 布拖县| 安义县| 应用必备| 民丰县| 宁河县| 隆回县| 龙游县| 涞水县| 宣汉县| 台中市| 仙游县| 陇西县| 新津县| 贵港市| 上高县|