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

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

?? els.c

?? 俄羅斯方塊tc源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************************/
#include "graphics.h" /*頭文件*/
#include "time.h"
#include "stdlib.h"
#include "bios.h"
#include "dos.h"
#include "stdio.h"
#define ESC 0x11b /*鍵盤掃描碼*/
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define F1 0x3b00
#define RIGHT 0x4d00
#define YES 0x1579
#define NO 0x316e
#define RESTART 0x1372
/*****************************************************************************************/
struct diamond /*記錄每種方塊每種狀態的信息*/
{
 int x[4];
 int y[4];
 int start_x;
 int start_y;
 int color;
 struct diamond *next;
};
int grid[12][23]; /*記錄所有格子的狀態 (0)沒有方塊 (1)有固定方塊 (2)有活動方塊*/
int x; /*活動方塊所在位置*/
int y;
int level; /*游戲難度*/
int count; /*計數器*/
int score;/*得分*/
struct diamond *nowinfo; /*當前活動方塊*/
struct diamond *nextinfo; /*下一個方塊*/
int color;/*畫格子的顏色*/
int backcolor;/*游戲區域背景色*/
/*****************************************************************************************/
void show_interface (int mode);/*顯示游戲界面*/
void show_copsign (int topx,int topy,int size,int color);/*顯示公司標志--恒基偉業*/
void show_intro (int xs,int ys);/*顯示軟件介紹區*/
/*void print(); 測試用函數*/
void scandel();/*掃描所有格子看是否有可消除行*/
void show_down ();/*方塊下落后的下一個狀態*/
void show_next ();/*方塊翻轉后的下一個狀態*/
void show_left ();/*方塊向左移動后的下一個狀態*/
void show_right ();/*方塊向右移動后的下一個狀態*/
void interrupt (*oldtimer)();/*指向未安裝前的中斷向量,即函數指針,指向一段可執行的代碼*/
void install();/*安裝新的中斷向量,即將中斷服務程序安裝到中斷向量表中*/
void interrupt newtimer();/*中斷服務程序*/
struct diamond *get_diamond();/*隨機得到一個方塊*/
struct diamond *create_I();/*函數用來構造各種類形方塊的環形鏈表*/
struct diamond *create_T();/*返回鏈表中隨機一個狀態的指針*/
struct diamond *create_L();
struct diamond *create_J();
struct diamond *create_Z();
struct diamond *create_N();
struct diamond *create_H();
void delinfo (struct diamond *info);/*釋放當前方塊所占用的空間*/
void addtobuffer(int c);/*向鍵盤緩沖區中增加一個DOWN*/
/*void clrkey();調用dos中斷清空鍵盤緩沖區,未使用此方法.*/
void showsubwin(struct diamond *next);/*在小窗口顯示下一個方塊*/
void showscore(int scoreget);/*顯示分數*/
void startset();/*初始化游戲*/
/*****************************************************************************************/
main ()
{
 int driver=VGA;
 int mode=VGAHI;
 int i;/*計數器*/
 int j;
 int key;/*記錄鍵盤掃描碼*/
 initgraph (&driver,&mode,"");/*初始化*/
 color=8;
 backcolor=7;
 level=1;
 score=298;
 count=0;
 show_interface (9);/*顯示界面*/
 setfillstyle(SOLID_FILL,1);
 bar(0,465,640,480);
 outtextxy(5,469,"Press any key to start...");
 getch();
 setfillstyle(SOLID_FILL,9);
 bar(0,465,640,480);
 showscore(0);/*顯示分數*/
 randomize();
 nowinfo=get_diamond ();/*得到一個當前方塊*/
 oldtimer=getvect(0x1c);
 install(newtimer);
 for(i=0;i<=21;i++)/*初始化grid[12][23]*/
 {
  for(j=1;j<=10;j++)
  grid[j][i]=0;
 }
 for(i=0;i<=22;i++)
 {
  grid[0][i]=1;
  grid[11][i]=1;
 }
 for(i=0;i<=11;i++)
 {
  grid[i][22]=1;
 }
 x=nowinfo->start_x;/*初始化方塊位置*/
 y=nowinfo->start_y;
 nextinfo=get_diamond ();/*得到下一個方塊*/
 showsubwin(nextinfo);
 for (;;)
 {
  key=bioskey(0);/*得到鍵盤掃描碼*/
  if (key)
  {
   switch(key)
   {
 case DOWN:{
               show_down ();
      break;
        }
 case UP:{
          show_next ();
    break;
   }
 case LEFT:{
         show_left();
      break;
     }
 case RIGHT:{
                show_right();
          break;
      }
    case RESTART:{
         install(oldtimer);
      setfillstyle(SOLID_FILL,1);
         bar(0,465,640,480);
         outtextxy(5,469,"Are you sure to restart (Y/N)...");
      for (;;)
      {
                 key=bioskey(0);/*得到鍵盤掃描碼*/
                   if (key==YES)
       {
                    startset();
        setfillstyle(SOLID_FILL,9);
           bar(0,465,640,480);
     break;
       }
                   if (key==NO)
       {
          setfillstyle(SOLID_FILL,9);
          bar(0,465,640,480);
       install(newtimer);
       break;
       }
     }
     break;
    }
/* case F1:{
       print();
    break;
   }
*/
 case ESC:{
        install(oldtimer);
        setfillstyle(SOLID_FILL,1);
     bar(0,465,640,480);
     outtextxy(5,469,"Are you sure to exit (Y/N)...");
     for (;;)
     {
             key=bioskey(0);/*得到鍵盤掃描碼*/
               if (key==YES)
      {
    closegraph();
          exit(0);
      }
               if (key==NO)
      {
       setfillstyle(SOLID_FILL,9);
       bar(0,465,640,480);
    install(newtimer);
    break;
      }
     }
        
    }
   }
  }
 }
}
/*****************************************************************************************/
struct diamond *get_diamond()
{
 struct diamond *now;
 switch (random(7)+1)
 {
  case 1:{
        now=create_I();
     return now;
    }
   case 2:{
        now=create_T();
     return now;
       }
   case 3:{
        now=create_L();
     return now;
    }
   case 4:{
        now=create_J();
     return now;
    }
   case 5:{
        now=create_Z();
     return now;
    }
   case 6:{
        now=create_N();
     return now;
    }
   case 7:{
        now=create_H();
     return now;
    }
 }
}
/*****************************************************************************************/
void show_interface (int fill_mode)
{
 int i;
 setbkcolor (9);
 setcolor (color);
 setfillstyle (SOLID_FILL,backcolor);
 bar (100,60,300,420);
 bar (360,60,440,140);
 rectangle (100,60,300,420);
 rectangle (96,56,304,424);
 rectangle (360,60,440,140);
 rectangle (356,56,444,144);
 setfillstyle (fill_mode,14);
 floodfill (97,57,color);
 floodfill (397,57,color);
 setcolor(1);
 rectangle(96,56,304,424);
 setcolor (color);
 for (i=80;i<=400;i+=20)
  {
   line (100,i,300,i);
  }
 for (i=120;i<=280;i+=20)
  {
   line (i,60,i,420);
  }
 for (i=80;i<=120;i+=20)
 {
  line (360,i,440,i);
 }
 for (i=380;i<=420;i+=20)
 {
  line (i,60,i,140);
 }
 show_intro (360,180);
 show_copsign (475,320,40,1);
 setfillstyle(SOLID_FILL,1);
 setcolor(14);
 rectangle(420,405,534,417);
 floodfill (421,406,14);
 outtextxy(422,408,"HI-TECH WEALTH");
}
/*****************************************************************************************/
void show_copsign (int topx,int topy,int size,int color)
{
 int halfsize,qtrsize;
 int xadd,xdel,yadd1,yadd2;
 halfsize=0.5*size;
 qtrsize=0.25*size;
 xadd=topx+size;
 xdel=topx-size;
 yadd1=topy+size;
 yadd2=topy+2*size;
 setcolor(color);
 line (topx,topy,xdel,yadd1);
 line (xdel,yadd1,topx,yadd2);
 line (topx,yadd2,xadd,yadd1);
 line (xadd,yadd1,topx,topy);
 rectangle (topx-halfsize,topy+halfsize,topx+halfsize,yadd1+halfsize);
 setfillstyle (SOLID_FILL,color);
 floodfill (topx,topy+1,color);
 floodfill (xdel+1,yadd1,color);
 floodfill (topx,yadd2-1,color);
 floodfill (xadd-1,yadd1,color);
 rectangle (topx-halfsize,yadd1-qtrsize,topx-0.75*halfsize,yadd1+qtrsize);
 floodfill (topx-halfsize+1,yadd1-qtrsize+1,color);
 rectangle (topx-qtrsize,yadd1-halfsize,topx+qtrsize,yadd1-0.25*halfsize);
 floodfill (topx-qtrsize+1,yadd1-halfsize+1,color);
 rectangle (topx+0.75*halfsize,yadd1-qtrsize,topx+halfsize,yadd1+qtrsize);
 floodfill (topx+0.75*halfsize+1,yadd1-qtrsize+1,color);
 rectangle (topx-qtrsize,yadd1+0.25*halfsize,topx+qtrsize,yadd2-halfsize);
 floodfill (topx-qtrsize+1,yadd1+0.25*halfsize+1,color);
 setcolor(14);
 line (topx,topy-1,xdel-1,yadd1);
 line (xdel-1,yadd1,topx,yadd2+1);
 line (topx,yadd2+1,xadd+1,yadd1);
 line (xadd+1,yadd1,topx,topy-1);
 setfillstyle (SOLID_FILL,14);
 floodfill (topx,yadd1,color);
}
/*****************************************************************************************/
 void show_intro (int xs,int ys)
{
 char stemp[20];
 setcolor (15);
 rectangle(xs-3,ys-3,xs+239,ys+115);
 line (xs-3,ys+26,xs+239,ys+26);
 line (xs-3,ys+72,xs+239,ys+72);
 outtextxy(xs,ys,"Level:");
 outtextxy(xs,ys+15,"Score:");
 sprintf(stemp," -Roll  -Downwards");
 stemp[0]=24;
 stemp[7]=25;
 outtextxy(xs,ys+30,"Help:");
 setcolor(14);
 outtextxy(xs+40,ys+30,stemp);
 outtextxy(xs+40,ys+45,"<-Turn Left >-Turn Right");
 outtextxy(xs+40,ys+60,"Esc-Exit R-Restart");
 outtextxy(xs,ys+75,"Russia Diamonds Ver 1.0");
 outtextxy(xs,ys+90,"CopyRight By ChangYong.01-11-1");
 outtextxy(xs,ys+105,"Email:forever_chang@163.com");
}
/*****************************************************************************************/
struct diamond *create_I()
{
 struct diamond *info;
 struct diamond *first;
 first=(struct diamond *)malloc(sizeof(struct diamond));
 info=(struct diamond *)malloc(sizeof(struct diamond));
 first->next=info;
 info->next=first;
 first->x[0]=0;
 first->y[0]=0;
 first->x[1]=-1;
 first->y[1]=0;
 first->x[2]=1;
 first->y[2]=0;
 first->x[3]=2;
 first->y[3]=0;
 first->start_x=5;
 first->start_y=3;
 first->color=2;
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=-1;
 info->x[2]=0;
 info->y[2]=1;
 info->x[3]=0;
 info->y[3]=2;
 info->start_x=5;
 info->start_y=1;
 info->color=2;
 if(random(2)==0) {return first;}
  else {return first->next;}
}
/*****************************************************************************************/
struct diamond *create_T()
{
 struct diamond *info;
 struct diamond *first;
 struct diamond *last;
 int i;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=-1;
 info->y[1]=0;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=1;
 info->y[3]=0;
 info->start_x=5;
 info->start_y=3;
 info->color=4;
 first=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=1;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=1;
 info->y[3]=0;
 info->start_x=5;
 info->start_y=2;
 info->color=4;
 last->next=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=-1;
 info->y[1]=0;
 info->x[2]=1;
 info->y[2]=0;
 info->x[3]=0;
 info->y[3]=1;
 info->start_x=5;
 info->start_y=2;
 info->color=4;
 last->next=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=1;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=-1;
 info->y[3]=0;
 info->start_x=5;
 info->start_y=2;
 info->color=4;
 last->next=info;
 last=info;
 last->next=first;
 for (i=0;i<=random(4);i++)
 {
  first=first->next;
 }
 return first;
}
/*****************************************************************************************/
struct diamond *create_L()
{
 struct diamond *info;
 struct diamond *first;
 struct diamond *last;
 int i;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=1;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=1;
 info->y[3]=1;
 info->start_x=5;
 info->start_y=2;
 info->color=5;
 first=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=-1;
 info->y[1]=0;
 info->x[2]=1;
 info->y[2]=0;
 info->x[3]=-1;
 info->y[3]=1;
 info->start_x=5;
 info->start_y=2;
 info->color=5;
 last->next=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=1;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=-1;
 info->y[3]=-1;
 info->start_x=5;
 info->start_y=2;
 info->color=5;
 last->next=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=-1;
 info->y[1]=0;
 info->x[2]=1;
 info->y[2]=0;
 info->x[3]=1;
 info->y[3]=-1;
 info->start_x=5;
 info->start_y=2;
 info->color=5;
 last->next=info;
 last=info;
 last->next=first;
 for (i=0;i<=random(4);i++)
 {
  first=first->next;
 }
 return first;
}
/*****************************************************************************************/
struct diamond *create_J()
{
 struct diamond *info;
 struct diamond *first;
 struct diamond *last;
 int i;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=0;
 info->y[1]=1;
 info->x[2]=0;
 info->y[2]=-1;
 info->x[3]=-1;
 info->y[3]=1;
 info->start_x=5;
 info->start_y=2;
 info->color=6;
 first=info;
 last=info;
 info=(struct diamond *)malloc(sizeof(struct diamond));
 info->x[0]=0;
 info->y[0]=0;
 info->x[1]=-1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品自拍偷拍| 丁香一区二区三区| 欧美日韩亚洲丝袜制服| 亚洲九九爱视频| 91一区二区三区在线观看| 亚洲男人的天堂在线观看| 色综合天天性综合| 亚洲第四色夜色| 欧美一区二区精品在线| 激情图区综合网| 国产精品电影一区二区| 97se亚洲国产综合在线| 亚洲国产成人porn| 精品国产乱码久久久久久免费 | 欧美做爰猛烈大尺度电影无法无天| 中文字幕综合网| 欧美日韩国产在线观看| 久久国产精品无码网站| 26uuu久久天堂性欧美| 91首页免费视频| 日韩影院免费视频| 久久久91精品国产一区二区精品| 99亚偷拍自图区亚洲| 亚洲mv大片欧洲mv大片精品| 久久久久久久久久久久久女国产乱| 成人午夜电影小说| 亚洲h在线观看| 国产日韩亚洲欧美综合| 欧美色爱综合网| 国产伦精品一区二区三区视频青涩| 亚洲视频资源在线| 精品黑人一区二区三区久久| 99re成人在线| 色综合色综合色综合色综合色综合| 免费欧美在线视频| 亚洲欧美国产高清| 精品国产一区久久| 欧美日韩在线精品一区二区三区激情 | 一本大道综合伊人精品热热| 免费成人性网站| 一区二区三区高清| 久久久亚洲高清| 欧美女孩性生活视频| 成年人国产精品| 精品一区二区三区免费| 亚洲图片一区二区| 中文字幕在线播放不卡一区| 欧美成人一区二区三区在线观看 | 26uuu亚洲综合色| 欧美日韩精品一区二区三区蜜桃 | 99久久亚洲一区二区三区青草 | 9191成人精品久久| 一本到不卡精品视频在线观看| 国产精品一区二区三区99| 天天综合色天天综合色h| 亚洲欧洲日韩一区二区三区| 久久精品一区四区| 欧美一区二区日韩| 91精品国产综合久久久蜜臀图片| 在线视频国产一区| 91一区二区在线| 成人午夜精品在线| 成人性生交大合| 国产精品一区二区x88av| 看电影不卡的网站| 日韩专区中文字幕一区二区| 亚洲一二三专区| 亚洲女同一区二区| 亚洲欧美激情在线| ...xxx性欧美| 中文字幕永久在线不卡| 国产精品色呦呦| 中文字幕 久热精品 视频在线| 欧美精品一区二区久久婷婷| 欧美一区二区三区在线视频 | 日本不卡一区二区三区高清视频| 亚洲综合小说图片| 亚洲香蕉伊在人在线观| 亚洲综合av网| 亚洲成人高清在线| 五月婷婷欧美视频| 婷婷综合久久一区二区三区| 亚洲电影激情视频网站| 亚洲午夜在线视频| 日本美女一区二区| 久久超碰97中文字幕| 久久99国产精品麻豆| 国产自产高清不卡| 成人精品国产一区二区4080| 99综合影院在线| 在线亚洲+欧美+日本专区| 91国产成人在线| 777久久久精品| 日韩精品一区二区三区视频 | 色国产精品一区在线观看| 91精品办公室少妇高潮对白| 欧美调教femdomvk| 欧美不卡一区二区| 国产欧美久久久精品影院| 亚洲精品欧美激情| 日韩高清不卡一区二区三区| 捆绑紧缚一区二区三区视频| 国产99久久久国产精品潘金网站| 99久久精品99国产精品| 欧美性大战久久久久久久蜜臀| 欧美一区二区三区视频在线| 久久综合狠狠综合久久激情 | 国产亚洲女人久久久久毛片| 亚洲欧美色图小说| 蜜桃av噜噜一区二区三区小说| 国产酒店精品激情| 91麻豆自制传媒国产之光| 69成人精品免费视频| 久久婷婷久久一区二区三区| 亚洲免费大片在线观看| 美女视频黄 久久| 成人福利视频网站| 欧美日韩国产综合视频在线观看| 精品成a人在线观看| 亚洲美女少妇撒尿| 久久97超碰色| 色婷婷激情一区二区三区| 日韩精品一区国产麻豆| 亚洲欧美国产三级| 国产在线不卡一卡二卡三卡四卡| 色综合天天综合给合国产| 欧美成人bangbros| 亚洲一区二区免费视频| 国产成人在线观看| 欧美片网站yy| 中文字幕日韩av资源站| 麻豆精品一区二区| 91国偷自产一区二区使用方法| 精品国产一区二区三区av性色 | 亚洲一区在线看| 成人午夜碰碰视频| 精品久久久网站| 亚洲成av人片一区二区| 成人一区二区三区中文字幕| 91精品在线一区二区| 亚洲免费在线看| 成人黄色电影在线| 久久精品网站免费观看| 美日韩一区二区| 欧美日韩一卡二卡| 亚洲欧美另类在线| 91在线视频免费91| 国产欧美日韩久久| 国产一区在线观看视频| 日韩精品影音先锋| 日本亚洲三级在线| 欧美剧在线免费观看网站 | 亚洲小说春色综合另类电影| caoporn国产一区二区| 久久久国产一区二区三区四区小说| 亚洲 欧美综合在线网络| 色婷婷久久久亚洲一区二区三区 | 精品一区二区在线视频| 精品视频在线免费看| 亚洲精品日韩一| 色狠狠桃花综合| 亚洲美女少妇撒尿| 91黄色激情网站| 亚洲国产另类精品专区| 91激情在线视频| 亚洲在线免费播放| 91精彩视频在线| 亚洲一区在线观看视频| 欧美日韩在线播放一区| 亚洲一区二区三区美女| 欧美日韩国产不卡| 日韩黄色在线观看| 欧美一区二区三区思思人| 日本欧美肥老太交大片| 欧美成人艳星乳罩| 国产真实乱偷精品视频免| 久久午夜电影网| av网站免费线看精品| 最新日韩在线视频| 欧美性色黄大片| 免费在线成人网| 久久久不卡网国产精品一区| 国产不卡在线视频| 亚洲欧美日韩一区二区| 欧美日韩精品系列| 美女爽到高潮91| 久久精品夜色噜噜亚洲a∨| youjizz久久| 亚洲制服丝袜在线| 日韩午夜小视频| 国产成人一级电影| 一区二区三区四区av| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区在线观看国产| 欧美性淫爽ww久久久久无| 五月婷婷久久综合| 国产女人水真多18毛片18精品视频| 不卡av在线免费观看| 亚洲综合精品自拍| 久久青草国产手机看片福利盒子|