//最近詩興大發,寫了個俄羅斯方塊c++版,拿出來分享,廢話不說上原始碼
//歡迎同我一起交流
#include
#include
#include
#include
#include
#include
int isover();//判斷是否結束
class game;
class tetris;
int map[24][12]=//地圖
,//0
,//1
,//2
,//3
,//4
,//5
,//6
,//7
,//8
,//9
,//10
,//11
,//12
,//13
,//14
,//15
,//16
,//17
,//18
,//19
,//20
,//21
,//22
,//23
};int block[19][8]=,//0
,//1
,//2
,//3
,//4
,//5
,//6
,//7
,//8
,//9
,//10
,//11
,//12
,//13
,//14
,//15
,//16
,//17
,//18
};game::game()
game::~game()
void game::modifyspeed(int speed)
void game::modifyrandom(int random)
void game::modifyscore(int score)
void game::modifynext()
void game::setnext(int next)
int game::getrandom()
int game::getspeed()
int game::getscore()
int game::getnext()
void game::inforefresh(int method)
else if(1==method)
}for(i=0;i<8;i=i+2)
}else if(2==method)
coord.x=0;
coord.y=0;
setconsolecursorposition(hout,coord);
}tetris::tetris()
tetris::~tetris()
void tetris::setmethod(int me)
void tetris::created(int next)
}int tetris::getlocationx()
int tetris::getlocationy()
void tetris::refresh()}}
coord.x=0;
coord.y=0;
setconsolecursorposition(hout,coord);
}void tetris::display(int score,int speed,int next)
if(i==5)
if(i==6)
}printf("■");}}
flag=0;
}if(i==7)
}printf("■");}}
flag=0;
}if(i==8)
}printf("■");}}
flag=0;
}if(i==9)
}printf("■");}}
flag=0;
}if(i==10)
if(i==11)
if(i==13)
if(i==15)
if(i==17)
printf("\n");}}
int * tetris::freefall(int score,int speed,int next)
j=j+2;
}if(x_move==1)
else if(map[i+1][j]==4)
}else if(map[i][j]==5)}}
locationx++;
}else
a[1]=remove(score,speed,next);//檢查是否可以消除,a接收分數
a[0]=1;//是否可以產生方塊
}return a;
}int tetris::remove(int &score,int speed,int next)
}if(count==10)
else if(count==0)
}score=score+100;
display(score,speed,next);
i++;}}
return score;
}void tetris::right()
for(i=0;i<4;i++)
j=j+2;
}if(flag==1&&y_move==1)//1
if(map[i][j]==5)//1
}//2
}//3
locationy++;//方塊的縱座標加一}}
void tetris::left()
for(i=0;i<4;i++)
j=j+2;
}if(flag==1&&y_move==1)//1
if(map[i][j]==5)//1
}//2
}//3
locationy--;}}
void tetris::up()
else if(block>=1&&block<=4)
else if(block>=5&&block<=6)
else if(block>=7&&block<=10)
else if(block>=11&&block<=12)
else if(block>=13&&block<=14)
else if(block>=15&&block<=18)
}int tetris::down()
void tetris::transform(int x,int y)
j=j+2;
}if(flag==0)
else
j=j+2;
}block=x;//更改方塊的型別
for(i=0,j=0;i<4;i++)
else
j=j+2;}}
}else
j=j+2;
}if(flag==0)
else
j=j+2;
}block++;
for(i=0,j=0;i<4;i++)
else
j=j+2;}}
}}int main()
returnvalue=tetris->freefall(game.getscore(),game.getspeed(),game.getnext());
tetris->refresh();//重新整理
x=returnvalue[0];//x為是否可以產生方塊
y=returnvalue[1];//y為分數
game.modifyrandom(x);
game.modifyscore(y);
game.inforefresh(0);//資訊重新整理
sleep(game.getspeed());
if(game.getscore()<1000)
else if(game.getscore()<3000)
else if(game.getscore()<10000)
else if(game.getscore()<50000)
tetris->setmethod(0);
}switch(getch())
}return 0;
}int isover()
}return 0;
}
俄羅斯方塊高階 AI俄羅斯方塊
前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...
C 俄羅斯方塊
因為要得找工作了,不得不寫些文章讓hr更多的了解到我,同時能幫到別的同學也是好的。因為接觸unity時間不是特別久,所以這裡先帖出早期開發的c 遊戲,然後再帖unity遊戲。另外提醒,我的所有作品都是自己開發的,絕無抄襲 程式 和程式設計思想絕沒超抄過別人的 最多也就是高仿別人的遊戲 貪吃蛇算嗎?俄...
俄羅斯方塊 C
include include include include includeusing namespace std define a1 0 a代表長條型,b為方塊,c為l型,d為閃電型 實在無法描述那個形狀 define a2 1 define b 2 define c11 3 define c1...