91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 15KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-07-20
  • 語言: C/C++
  • 標(biāo)簽:

資源簡介

C語言編的俄羅斯方塊,也可以在編程之余進行悠閑娛樂。有詳細的注釋

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include?//包含memset的頭文件
struct?XY{
int?x;
int?y;//位置坐標(biāo)?
struct?XY?*next;?
}*head*q;

int?box[24][16]={0};//全部格子狀態(tài)?
int?score=0;//得分?
int?sleeptime=30;//運行間隔?
int?rank=15;//速度等級
int?shape;//形狀,共七種?
int?nextshape;//下一個形狀?
int?end=0;//直接退出游戲
int?turn;//旋轉(zhuǎn)狀態(tài)?
int?deletetimes=0;//消除行?

void?gotoxy(int?xint?y);//定位
void?map();//繪制地圖?
void?startgame();//開始?
void?newshape();//新圖形?
void?gameover();//游戲結(jié)束?
void?fall();//下落?
void?shapestop();//方塊停止運動,釋放內(nèi)存,
void?del();//消除
void?nextone();//下一個?
void?Pause();//暫停
void?change(int?style);//變換?
void?spin();//旋轉(zhuǎn)
void?left();//左
void?right();//右
void?down();//直下?
bool?newgames();//新一局游戲?

int?main()
{
system(“mode?con:?cols=80?lines=30“);//初始化窗口大小?
do{
memset(box?0?sizeof(box));//將box元素全置為0
end=0;
score=0;
sleeptime=30;
deletetimes=0;
rank=15;??????//全局變量全部初始化?沒初始化的時候ESC之后重新開始無效?
time_t?t;
srand((unsigned?int)time(&t));//隨機數(shù)種子生成?
head=q=NULL;//初始化指針?
map();
gotoxy(3816);
system(“pause“);//提示按鍵之后才開始游戲?
gotoxy(3816);
printf(“??????????????????????“);
startgame();
}?while?(newgames());//用戶選擇是否循環(huán)新游戲?


return?0;
}
void?gotoxy(int?x?int?y)?//定位?
{
COORD?pos;
pos.X?=?x?;
pos.Y?=?y?;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE)pos);
}
void?map()//創(chuàng)建地圖??
{
int?i;
for(i=0;i<36;i+=2)//打印上下邊框?
{
gotoxy(i0);
printf(“〓“);
gotoxy(i25);
printf(“〓“);
}
for(i=1;i<25;i++)//打印左右邊框?
{
gotoxy(0i);
printf(“▓“);
gotoxy(34i);
printf(“▓“);
}
gotoxy(441);
printf(“俄羅斯方塊“);
gotoxy(403);
printf(“下一個:“);
gotoxy(3810);
printf(“請用?↑鍵旋轉(zhuǎn)方向“);
gotoxy(3811);
printf(“請用?↓?←?→鍵控制方塊移動“);
gotoxy(3812);
printf(“請按?空格?暫停/繼續(xù)?游戲“);
gotoxy(3813);
printf(“請按ESC鍵退出游戲“);
gotoxy(3815);
printf(“制作:?“);

}
void?startgame()//開始游戲?操控?
{
int?number=0;
int?s;//第0行?
int?mark=0;//標(biāo)記?
shape=rand()%7;
turn=0;
newshape();
while(1)
{
????if(mark==0)?
????{
????????nextshape=rand()%7;
????????nextone();
????????mark=1;
????}
????????
rank=15-deletetimes/5;
if(rank<=1)
????rank=1;
????
gotoxy(3817);
printf(“速度:%d“16-rank);
gotoxy(3819);
printf(“分?jǐn)?shù):%d“score);

if(head==NULL)//方塊被釋放?
{
shape=nextshape;
turn=0;
????newshape();
????mark=0;
}
for(s=0;s<16;s++)
????if(box[0][s]==1)//到頂,游戲結(jié)束?
????{
???? Sleep(1500);
???? gameover();
???? return;
}
if(GetAsyncKeyState(VK_UP))//能否旋轉(zhuǎn)或移動的判斷在函數(shù)里實現(xiàn)?
????????????change(90);//從startgame挪到此函數(shù)實現(xiàn)了在最底行可進行一次操作
????????else?if(GetAsyncKeyState(VK_LEFT))
????????????change(-1);
????????else?if(GetAsyncKeyState(VK_RIGHT))
????????????change(1);
????????else?if(GetAsyncKeyState(VK_SPACE))
????????????Pause();
????????else?if(GetAsyncKeyState(VK_ESCAPE))
????????????end=1;
????
shapestop();
????if(GetAsyncKeyState(VK_DOWN))?
????????????c

評論

共有 條評論