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

首頁 > 學院 > 開發設計 > 正文

拼圖游戲

2019-11-17 05:48:14
字體:
來源:轉載
供稿:網友

  經過修改并加了注解
運行程序后,會產生9個數字,當人把數字拼成1 2 34 5 67 8 9你就過關了,很簡單的。#include<math.h>
#include<graphics.h>
#include<stdio.h>
#include<dos.h>
#define left 0x4b
#define right 0x4d
#define down 0x50
#define esc 0x01
#define up 0x48
#define col 4
#define row 3
int a[9]=;
int board[3][3];//面板
int k,m;//9的坐標
int get_key(void);
void Draw9(int x,int y,char s[]);//顯示方格9
void Draw(int x,int y,char s[]);//顯示其它方格
main()
{
int gdriver=VGA,gmode=VGAHI,errorcode;
int i,j,key,dec=9,temp,temp1;
char *s[]=;
initgraph(&gdriver,&gmode,"d:/tc");
errorcode=graphresult();
if(errorcode!=0)
{getch();
printf("press any key to halt:");
exit(1);
}/*將個數字隨機放在9個格子里*/for(i=0;i<3;i++)                       
for(j=0;j<3;j++)               
{temp=rand()%dec;dec--;                      
 board[i][j]=a[temp];                         
 for(temp1=temp;temp1<dec;temp1++)           
a[temp1]=a[temp1+1];                         
}
setcolor(15);
rectangle(198,148,351,301);
for(i=0;i<3;i++)
for(j=0;j<3;j++)

}
while(1)
{while(bioskey(1)==0);
 key=get_key();
 switch(key) 
 {case up:if(k>0)
  {board[k][m]=board[k-1][m];
         board[k-1][m]=9;
         k--;
  Draw9((col+m)*50,(row+k)*50,s[board[k][m>);
  Draw((col+m)*50,(row+k+1)*50,s[board[k+1][m>);
         if(judge()){printf("you win!!!,press any key to exit");getch();exit(0);  }  }
  break;
 case down:if(k<2)
    {
     board[k][m]=board[k+1][m];
            board[k+1][m]=9;
            k++;
     Draw9((col+m)*50,(row+k)*50,s[board[k][m>);
     Draw((col+m)*50,(row+k-1)*50,s[board[k-1][m>);
if(judge()){printf("you win!!!,press any key to exit");getch();exit(0);}
     }
    break;

 case left:if(m>0)
     {
      board[k][m]=board[k][m-1];
             board[k][m-1]=9;
             m--;
             Draw9((col+m)*50,(row+k)*50,s[board[k][m>);
      Draw((col+m+1)*50,(row+k)*50,s[board[k][m+1>);
     if(judge()){printf("you win!!!,press any key to exit");getch();exit(0);}
                   }
   break;
 case right:if(m<2)
     {board[k][m]=board[k][m+1];
            board[k][m+1]=9;
            m++;
           Draw9((col+m)*50,(row+k)*50,s[board[k][m>);
    Draw((col+m-1)*50,(row+k)*50,s[board[k][m-1>);
                    if(judge()){printf("you win!!!,press any key to exit");getch();exit(0);}
     }
   break;
 case esc:exit(0);
 }
}
}
int get_key(void)
{union REGS reg;
reg.h.ah=0;
int86(0x16,?,?);
return(reg.h.ah);
}
void Draw9(int x,int y,char s[])/* x, y為左上角坐標sizex,sizey為長和寬*/
{int sizx=50-1;
 int sizy=50-1;
 setcolor(0);/*這里最好用灰色*/
 line(x,y,x+sizx-1,y);
 line(x,y+1,x+sizx-2,y+1);
 line(x,y,x,y+sizy-1);
 line(x+1,y,x+1,y+sizy-2);
 setcolor(8);/*這里最好用深灰色*/
 line(x+1,y+sizy,x+sizx,y+sizy);
 line(x+2,y+sizy-1,x+sizx,y+sizy-1);
 line(x+sizx-1,y+1,x+sizx-1,y+sizy);
 line(x+sizx,y+2,x+sizx,y+sizy);
 setcolor(15);/*這里最好用白色*/
 putpixel(x,y+sizy,3);
 putpixel(x+1,y+sizy-1,3);
 putpixel(x+sizx,y,3);
 putpixel(x+sizx-1,y+1,3);
 setfillstyle(1, 7);/*這里最好用灰色,設置填充模式*/
 bar(x+2,y+2,x+sizx-2,y+sizy-2);setcolor(0);
 setcolor(0);
settextboardify(CENTER_TEXT,CENTER_TEXT);
settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
outtextxy(x+25,y+25,s);
}
void Draw(int x,int y,char s[])/* x, y為左上角坐標sizex,sizey為長和寬*/
{int sizx=50-1;
 int sizy=50-1;
 setcolor(15);/*這里最好用白色*/
 line(x,y,x+sizx-1,y);
 line(x,y+1,x+sizx-2,y+1);
 line(x,y,x,y+sizy-1);
 line(x+1,y,x+1,y+sizy-2);
 setcolor(8);/*這里最好用深灰色*/
 line(x+1,y+sizy,x+sizx,y+sizy);
 line(x+2,y+sizy-1,x+sizx,y+sizy-1);
 line(x+sizx-1,y+1,x+sizx-1,y+sizy);
 line(x+sizx,y+2,x+sizx,y+sizy);
 setcolor(7);/*這里最好用灰色*/
 putpixel(x,y+sizy,3);
 putpixel(x+1,y+sizy-1,3);

 putpixel(x+sizx,y,3);
 putpixel(x+sizx-1,y+1,3);
 setfillstyle(1, 7);/*這里最好用灰色,設置填充模式*/
 bar(x+2,y+2,x+sizx-2,y+sizy-2);setcolor(0);
 setcolor(0);
 settextboardify(CENTER_TEXT,CENTER_TEXT);
 settextstyle(DEFAULT_FONT,HORIZ_DIR,3);
 outtextxy(x+25,y+25,s);
}
int judge()
{if((board[0][0]==1)&&(board[0][1]==2)&&(board[0][2]==3)&&(board[1][0]==4)&&(board[1][1]==5)&&(board[1][2]==6)&&(board[2][0]==7)&&(board[2][1]==8)&&(board[2][2]==9))
return 1;
esle return 0;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天台县| 龙川县| 绥阳县| 阿拉善左旗| 崇文区| 连云港市| 登封市| 富宁县| 天柱县| 焦作市| 上犹县| 汉川市| 宜君县| 大足县| 云南省| 淮阳县| 平南县| 惠来县| 平乡县| 汝城县| 海宁市| 遵义市| 东山县| 荔波县| 敦煌市| 金寨县| 乌恰县| 卓资县| 荥经县| 明溪县| 宁阳县| 子长县| 永泰县| 洛宁县| 汽车| 信宜市| 济南市| 高邑县| 云梦县| 墨脱县| 黑山县|