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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

??

?? C語(yǔ)言實(shí)戰(zhàn)105例源碼--私藏很久的源碼.zip
??
字號(hào):
#include<stdio.h>
#include<stdlib.h> 
#include<graphics.h> 
#include<bios.h>
/*下面定義了一些控制命令*/
/*重畫(huà)界面命令*/
#define CMDDRAW       5 
/*消去一個(gè)滿(mǎn)行的命令*/
#define CMDDELLINE    6 
/*自動(dòng)下移一行的命令*/
#define CMDAOTODOWN   7 
/*生產(chǎn)新的方塊*/
#define CMDGEN        8 
/*向左移動(dòng)的命令,以左箭頭<-控制,它的ASCII碼值是75*/
#define CMDLEFTMOVE   75 
/*向右移動(dòng)的命令,以右箭頭->控制,它的ASCII碼值是77*/
#define CMDRINGHTMOVE 77 
/*旋轉(zhuǎn)方塊的命令,以空格來(lái)控制*/
#define CMDROTATE     57 
/*向下移動(dòng)的命令,以向下的箭頭控制,它的ASCII碼值是80*/
#define CMDDOWNMOVE   80 
/*退出游戲的控制命令,以esc鍵控制,它的ASCII碼值是1*/
#define CMDESC        1 

/*定義了方塊下降的時(shí)間間隔*/
#define TIMEINTERVAL  4 

/*下面定義了游戲區(qū)的大小*/
#define MAXWIDTH      15 
#define MAXHEIGHT  		30 
/*組成方塊的小格子的寬度*/
#define BOXWIDTH      15 

/*用兩個(gè)數(shù)組來(lái)表示新舊兩個(gè)矩形游戲區(qū)*/
int oldarea[MAXHEIGHT+1][MAXWIDTH]; 
int area[MAXHEIGHT+1][MAXWIDTH]; 
/*定義一個(gè)需要改變的屏幕區(qū)域,初次之外的區(qū)域不用進(jìn)行重繪*/
int actW,actH,actX,actY; 
/*當(dāng)前方塊的一些屬性(坐標(biāo),顏色,高,寬)*/
int curX,curY,curColor,curW,curH; 
/*新的方塊的一些屬性(坐標(biāo),顏色,高,寬)*/
int newX,newY,newColor,newW,newH; 
/*制定方塊的狀態(tài)*/
int active; 
/*存儲(chǔ)當(dāng)前方塊的數(shù)組*/
int box[4][4]; 
/*當(dāng)前方塊的顏色*/
int BOXCOLOR; 
/*控制命令*/
int CMD; 
/*定義七種基本的方塊形狀*/
int BOX[7][4][4]={ 
 {{1,1,1,1},{0,0,0,0},{0,0,0,0},{0,0,0,0}},
 {{1,1,1,0},{1,0,0,0},{0,0,0,0},{0,0,0,0}},
 {{1,1,1,0},{0,0,1,0},{0,0,0,0},{0,0,0,0}},
 {{1,1,1,0},{0,1,0,0},{0,0,0,0},{0,0,0,0}},
 {{1,1,0,0},{0,1,1,0},{0,0,0,0},{0,0,0,0}},
 {{0,1,1,0},{1,1,0,0},{0,0,0,0},{0,0,0,0}},
 {{1,1,0,0},{1,1,0,0},{0,0,0,0},{0,0,0,0}} 
}; 
/*得到方塊的寬度,即從右向左第一個(gè)不空的列*/
int GetWidth() 
{ 
	int i,j; 
	for(i=3;i>0;i--) 
	for(j=0;j<4;j++) 
		if(box[j][i]) return i; 
	return 0; 
} 
/*得到方塊的高度,從上往下第一個(gè)不空的行*/
int GetHeight() 
{ 
	int i,j; 
 	for(j=3;j>0;j--) 
  for(i=0;i<4;i++) 
   	if(box[j][i]) return j; 
 	return 0; 
} 
/*清除原有的方塊占有的空間*/
void ClearOldspace() 
{ 
 	int i,j; 
 	for(j=0;j<=curH; j++) 
  for(i=0;i<=curW; i++) 
   	if(box[j][i]) 
    	area[curY+j][curX+i]=0; 
} 
/*置位新方塊的位置*/
void PutNewspace() 
{ 
 	int i,j; 
 	for(j=0;j<=newH;j++) 
  for(i=0;i<=newW;i++) 
   	if(box[j][i]) 
    	area[newY+j][newX+i]=BOXCOLOR; 
} 
/*判斷方塊的移動(dòng)是否造成區(qū)域沖突*/
int MoveCollision(int box[][4]) 
{ 
 	int i,j; 
 	if(newX<0) return 1; 
 	if(newX+newW>=MAXWIDTH) return 1; 
 	if(newY<0) return 1; 
 	for(j=0;j<=newH;j++) 
  	for(i=0;i<=newW;i++) 
   		if(area[newY+j][newX+i]&&box[j][i]) return 1; 
 	return 0; 
} 
/*判斷翻轉(zhuǎn)方塊是否造成區(qū)域的沖突*/
int RotateBoxCollision(int box[][4]) 
{ 
 	int i,j; 
 	if(newX+newW>=MAXWIDTH) newX=MAXWIDTH-1-newW; 
 	if(newY+newH>=MAXHEIGHT) newY=MAXHEIGHT-1-newH; 
 	if(MoveCollision(box)) return 1; 
 	for(i=0;i<=newW;i++) 
  	for(j=0;j<=newH;j++) 
   	if(area[newY+j][newX+i]) 
   	{ 
    	newX-=newW-i+1; goto L; 
   	} 
 	L: return MoveCollision(box); 
} 
/*游戲結(jié)束*/
int GameOver() 
{ 
 	if(!active &&(curY+curH>MAXHEIGHT-3)) 
 		return 1; 
 	else 
 		return 0; 
} 
/*判斷是否超時(shí),即是否超過(guò)允許的時(shí)間間隔*/
int TimeOut() 
{ 
 	static long tm,old; 
 	tm=biostime(0,tm); 
 	if(tm-old<TIMEINTERVAL) 
 		return 0; 
 	else 
 	{ 
 		old=tm; 
 		return 1; 
 	} 
} 
/*重繪游戲區(qū)*/
void DrawSpace() 
{ 
 	int row,col,x1,y1,x2,y2; 
 	for(row=actY;row<=actY+actH;row++) 
  for(col=actX;col<=actX+actW;col++) 
   	if(area[row][col]!=oldarea[row][col]) 
   	{ 
    	if(area[row][col]==0) 
     		setfillstyle(SOLID_FILL,BLACK); 
    	else 
     		setfillstyle(SOLID_FILL,BOXCOLOR); 
			x1=56+col*BOXWIDTH;
			x2=x1+BOXWIDTH; 
    	y1=464-(row+1)*BOXWIDTH; 
    	y2=y1+BOXWIDTH; 
    	bar(++x1,++y1,--x2,--y2); 
    	oldarea[row][col]=area[row][col]; 
  	} 
	CMD=0; 
} 
/*消去滿(mǎn)行*/
void ClearFullline() 
{ 
 	int row,col, rowEnd,full,i,j; 
 	rowEnd=newY+newH; 
 	if(rowEnd>=MAXHEIGHT-1) 
 		rowEnd=MAXHEIGHT-2; 
 	for(row=newY; row<=rowEnd;) 
 	{ 
  	full=1; 
  	for(col=0;col<MAXWIDTH;col++) 
   		if(!area[row][col])
   			{full=0; break;} 
  	if(!full)
  	{
  		++row;
  		continue;
  	} 
  	for(j=row; j<MAXHEIGHT-1;j++) 
   	for(i=0;i<MAXWIDTH;i++) 
    	area[j][i]=area[j+1][i]; 
  	actX=0;
  	actY=row; 
  	actW=MAXWIDTH-1;
  	actH=MAXHEIGHT-1-row; 
  	DrawSpace(); 
  	rowEnd--; 
 	} 
 	CMD=CMDGEN; 
} 
/*向左移動(dòng)方塊*/
int MoveLeft() 
{ 
 	newX=curX-1; 
 	ClearOldspace(); 
 	if(MoveCollision(box)) 
 	{ 
  	newX=curX; 
  	PutNewspace(); 
  	CMD=0; 
  	return 0; 
 	} 
 	PutNewspace(); 
 	actW=curW+1; 
 	actX=curX=newX; 
 	CMD=CMDDRAW; 
 	return 1; 
} 
/*向右移動(dòng)方塊*/
int MoveRight() 
{ 
 	newX=curX+1; ClearOldspace(); 
 	if(MoveCollision(box)) 
 	{ 
 	 	newX=curX; 
 	 	PutNewspace(); 
  	CMD=0; 
  	return 0; 
 	} 
 	PutNewspace(); 
 	actW=curW+1; 
 	actX=curX;
 	curX=newX; 
 	CMD=CMDDRAW; 
 	return 1; 
} 
/*向下移動(dòng)方塊*/
int MoveDown() 
{ 
 	int i,j; 
 	newY=curY-1; 
 	ClearOldspace(); 
 	if(MoveCollision(box)) 
 	{ 
 	 	newY=curY; 
  	PutNewspace(); 
  	active=0; 
  	CMD=CMDDELLINE; 
  	return 0; 
 	} 
 	PutNewspace(); 
 	actH=curH+1; 
 	actY=newY; 
 	curY=newY; 
 	CMD=CMDDRAW; 
 	return 1; 
} 
/*按加速鍵后方塊迅速下落到底*/
void MoveBottom() 
{ 
 	while(active) 
 	{ 
 	 	MoveDown(); 
 	 	DrawSpace(); 
 	} 
 	CMD=CMDDELLINE; 
} 
/*初始化*/
void InitialGame() 
{ 
 	int i,j,x1,y1,x2,y2; 
 	int driver=DETECT, mode=0; 
 	initgraph(&driver,&mode,"e:\\tc"); 
 	cleardevice(); 
 	randomize(); 
 	setfillstyle(SOLID_FILL,BLUE); 
 	bar(0,0,639,479); 
 	x1=56; 
 	y1=464-BOXWIDTH*MAXHEIGHT; 
 	x2=56+MAXWIDTH*BOXWIDTH; 
 	y2=464; 
 	rectangle(--x1,--y1,++x2,++y2); 
 	setfillstyle(SOLID_FILL,BLACK); 
 	bar(++x1,++y1,--x2,--y2); 
 	y1=464-MAXHEIGHT*BOXWIDTH; y2=464; 
 	setcolor(DARKGRAY); 
 	for(i=0;i<MAXWIDTH;i++) 
 	{ 
  	x1=56+i*BOXWIDTH; 
  	line(x1,y1,x1,y2); 
 	} 
	x1=56; x2=x1+MAXWIDTH*BOXWIDTH; 
 	for(j=0;j<MAXHEIGHT;j++) 
 	{ 
  	y1=464-j*BOXWIDTH; 
 	 	line(x1,y1,x2,y1); 
 	} 
 	for(j=0;j<MAXHEIGHT;j++) 
  for(i=0;i<MAXWIDTH;i++) 
   	area[j][i]=oldarea[j][i]=0; 
 	actX=0; actY=0; actW=MAXWIDTH-1; actH=MAXHEIGHT-1; 
 	DrawSpace(); 
 	CMD=CMDGEN; 
}
/*得到控制命令*/ 
void GetCMD() 
{ 
 	if(CMD) return; 
 	if(TimeOut()) 
 	{ 
  	CMD=CMDAOTODOWN; 
  	return; 
 	} 
 	if(bioskey(1)) 
 	{ 
  	CMD=bioskey(0)>>8; 
  	return; 
 	} 
} 
/*生成一個(gè)新的方塊*/
int GenerateNewbox() 
{ 
 int i,j,boxidx; 
 boxidx=random(7); BOXCOLOR=random(7)+1; 
 for(j=0;j<4;j++) 
  for(i=0;i<4;i++) 
   box[j][i]=BOX[boxidx][j][i]; 
 curW=GetWidth(); curH=GetHeight(); 
 curX=(MAXWIDTH+curW)/2; 
 if(curX+curW>=MAXWIDTH)curX=MAXWIDTH-1-curW; 
 curY=MAXHEIGHT-1-curH; 
 newX=curX; newY=curY; actX=curX;actY=curY; 
 actW=newW=curW; actH=newH=curH; 
 active=1; 
 if(MoveCollision(box)) return 0; 
 PutNewspace(); 
 DrawSpace(); CMD=0; 
 return 1; 
} 
/*翻轉(zhuǎn)方塊*/
int RotateBox() 
{ 
 	int newBox[4][4]; 
 	int i,j; 
 	ClearOldspace(); 
 	for(j=0;j<4;j++) 
  for(i=0;i<4;i++) 
   	newBox[j][i]=0; 
 	for(j=0;j<4;j++) 
  for(i=0;i<4;i++) 
   	newBox[curW-i][j]=box[j][i]; 
 	newW=curH; 
 	newH=curW; 
 	if(RotateBoxCollision(newBox)) 
 	{ 
  	newW=curW; 
  	newH=curH; 
  	newX=curX; 
  	newY=curY; 
  	PutNewspace(); 
  	CMD=0; 
  	return 0; 
 	} 
 	for(j=0;j<4;j++) 
  for(i=0;i<4;i++) 
   	box[j][i]=newBox[j][i]; 
 	PutNewspace(); 
 	actH=newH>curH? newH:curH; 
 	actW=curX+actH-newX; 
 	actX=newX; 
 	actY=newY; 
 	curX=newX; 
 	curY=newY; 
 	curW=newW;
 	curH=newH; 
 	CMD=CMDDRAW; 
 	return 1; 
} 
/*根據(jù)獲得的命令來(lái)執(zhí)行不同的操作*/
void ExecuteCMD() 
{ 
 	switch(CMD) 
 	{ 
  	case CMDLEFTMOVE:  
  		MoveLeft();
  		break; 
  	case CMDRINGHTMOVE: 
  		MoveRight();
  		break; 
  	case CMDAOTODOWN: 
  		MoveDown();
  		break; 
  	case CMDROTATE: 
  		RotateBox();
  		break; 
  	case CMDDOWNMOVE:  
  		MoveBottom(); 
  		break; 
  	case CMDDRAW:  
  		DrawSpace();
  		break; 
  	case CMDDELLINE:  
  		ClearFullline();
  		break; 
  	case CMDGEN:   
  		GenerateNewbox();
  		break; 
  	case CMDESC:   
  		closegraph();
  		return 0; 
  	default:     
  		CMD=0; 
 } 
}
/*主函數(shù)*/ 
int main() 
{ 
 	int i; 
 	InitialGame(); 
 	do 
 	{ 
  	GetCMD(); 
  	ExecuteCMD(); 
 	} 
 	while(!GameOver()); 
 	getch(); 
 	closegraph(); 
 	return 0;
} 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产美女浴室洗澡无遮挡| 日韩视频中午一区| 懂色av一区二区三区免费看| 老司机午夜精品| 日本视频在线一区| 亚洲福利电影网| 亚洲一区二区三区四区在线| 亚洲精品乱码久久久久久久久| 欧美韩日一区二区三区四区| 久久精品一区二区| 久久久91精品国产一区二区精品| 精品三级av在线| 精品99999| 337p粉嫩大胆色噜噜噜噜亚洲 | 日韩欧美国产一区二区三区| 欧美精品久久天天躁| 欧美久久一二区| 日韩一级在线观看| 久久老女人爱爱| 中文字幕av不卡| 一区二区成人在线视频| 亚洲成av人片一区二区梦乃| 日韩 欧美一区二区三区| 久久成人麻豆午夜电影| 国产精品亚洲专一区二区三区| 国产盗摄一区二区| 色哟哟精品一区| 欧美日韩在线三级| 欧美一区二区三区免费视频 | 日韩精品福利网| 久久99日本精品| 波多野结衣中文一区| 色视频一区二区| 欧美一二三四在线| 久久蜜桃av一区二区天堂| 国产精品第13页| 亚洲成人一区二区在线观看| 精品中文字幕一区二区小辣椒| 国产成人啪免费观看软件| 91免费在线看| 制服丝袜在线91| 久久久久久麻豆| 樱花草国产18久久久久| 美女脱光内衣内裤视频久久网站| 国产乱码精品一品二品| 日本乱人伦一区| 日韩女优制服丝袜电影| 国产精品久线观看视频| 五月开心婷婷久久| 国产不卡视频一区二区三区| 欧美中文字幕不卡| 久久综合成人精品亚洲另类欧美 | 激情成人午夜视频| 色94色欧美sute亚洲线路二| ww亚洲ww在线观看国产| 亚洲乱码日产精品bd| 久久精品999| 欧美亚洲尤物久久| 日本一区二区免费在线| 香蕉加勒比综合久久| 成人丝袜高跟foot| 欧美一三区三区四区免费在线看| 国产精品久久久久久久久免费丝袜| 五月婷婷综合网| 成人av网站大全| 日韩精品在线一区二区| 一区二区理论电影在线观看| 国产91在线|亚洲| 欧美老年两性高潮| 中文字幕在线不卡| 国产一区 二区| 日韩一区二区三| 亚洲午夜久久久久久久久电影院| 成人美女在线观看| 久久无码av三级| 免费日韩伦理电影| 欧美色偷偷大香| 一区二区三区中文字幕| 成人av在线电影| 久久久久88色偷偷免费| 免费成人小视频| 欧美猛男超大videosgay| 亚洲精品伦理在线| www.成人在线| 国产日韩精品一区二区三区| 久久国内精品视频| 欧美一区二区三区在线看| 亚洲国产日产av| 在线欧美一区二区| 一区二区激情视频| 日本韩国精品在线| 亚洲激情第一区| 99久久777色| 亚洲特黄一级片| 99vv1com这只有精品| **网站欧美大片在线观看| 成人va在线观看| 国产精品久久久久久久久搜平片| 高清beeg欧美| 国产农村妇女精品| 国产精品一二二区| 国产精品无遮挡| 成人开心网精品视频| 中文字幕久久午夜不卡| 大胆亚洲人体视频| 国产精品久久二区二区| 99这里只有精品| 亚洲青青青在线视频| 在线精品视频一区二区| 亚洲国产裸拍裸体视频在线观看乱了| 91婷婷韩国欧美一区二区| 亚洲人成在线观看一区二区| 在线观看av不卡| 亚洲va天堂va国产va久| 欧美丰满一区二区免费视频| 日本亚洲一区二区| 久久久综合精品| hitomi一区二区三区精品| 一区二区三区高清不卡| 欧美精品久久久久久久久老牛影院| 日韩中文欧美在线| 2023国产精华国产精品| 丁香六月综合激情| 亚洲视频一二区| 欧美无砖专区一中文字| 麻豆国产精品一区二区三区| 久久久美女艺术照精彩视频福利播放| 国产精品一色哟哟哟| 国产精品成人网| 欧美在线制服丝袜| 蜜芽一区二区三区| 国产午夜久久久久| 色偷偷成人一区二区三区91| 午夜电影久久久| 国产亚洲欧美色| 一本到高清视频免费精品| 亚洲成a人片在线不卡一二三区| 日韩三级视频中文字幕| 成人一区二区视频| 亚洲一区在线播放| 精品国产乱码久久久久久浪潮| 国产精品1区2区3区在线观看| 日韩理论片一区二区| 91精品黄色片免费大全| 国产v日产∨综合v精品视频| 亚洲精品国产成人久久av盗摄| 91精品国产欧美一区二区18| 国产成人精品影院| 亚洲大片一区二区三区| 久久午夜色播影院免费高清| 日本韩国一区二区三区视频| 久久精品国产99国产| 一区二区三区产品免费精品久久75| 日韩欧美国产一区在线观看| 99精品视频在线播放观看| 蜜臀av在线播放一区二区三区| 国产精品久久99| 日韩精品一区国产麻豆| 91亚洲精品乱码久久久久久蜜桃| 日本强好片久久久久久aaa| 国产精品欧美一区喷水| 欧美一区日韩一区| 97精品久久久午夜一区二区三区| 青草国产精品久久久久久| 亚洲欧美另类久久久精品| 日韩欧美中文字幕公布| 一本久久a久久免费精品不卡| 久久精品国产亚洲一区二区三区 | 麻豆专区一区二区三区四区五区| 亚洲欧美自拍偷拍| 久久久久国产精品麻豆ai换脸 | 亚洲福利一区二区三区| 国产精品视频免费看| 91精品国产高清一区二区三区 | 色婷婷综合激情| 国产成人在线色| 久久国内精品视频| 午夜视频在线观看一区二区| 成人欧美一区二区三区小说| 日韩精品一区二区三区四区视频| 在线观看亚洲a| 国产91精品精华液一区二区三区 | 中文字幕免费观看一区| 日韩欧美aaaaaa| 欧美色图免费看| 色婷婷综合久久久久中文一区二区| 东方aⅴ免费观看久久av| 蜜乳av一区二区| 亚洲成人免费电影| 亚洲免费观看高清| **性色生活片久久毛片| 中文字幕精品一区二区精品绿巨人| 精品久久久久久久人人人人传媒 | 欧美天堂一区二区三区| 成人av在线电影| 国产激情91久久精品导航| 狠狠色丁香婷婷综合久久片| 麻豆成人久久精品二区三区红 | 91国模大尺度私拍在线视频| av一区二区三区黑人|