大二時實現的俄羅斯方塊

2021-04-15 20:21:14 字數 2364 閱讀 2509

整理硬碟時,找到了大二時實現的俄羅斯方塊的**。

最後修改時間是2023年4月17日16點28分。

佩服當時的自己,雖然**寫的有點稚嫩,但演算法還是比較不錯。

現在我估計也寫不出這樣的**了。

當時用的開發工具是tc2.0, 原封不動貼出來備份一下。

#define

true 1

#define

false 0

#include

<

stdio.h

>

#include

<

stdlib.h

>

#include

"lib.h

"unsigned 

char

block[7][

4][2]

=,,,},  

/*---- 

*/,,,},  

/*___| 

*/,,,},  

/*|___  

*/,,,},  

/*z   

*/,,,},  

/*-z   

*/,,,},  

/*88   

*/,,,}}; 

/*_|_   

*/char

sc[12

][22

];char

cur[4][

2],next[4][

2];char

stop=0

;int

score=0

;char

gameover=0

;char

cu,ne;

main()

random();

draw(cur,

254);

while(!

gameover)

break

;case

left: 

if(legal('l

')) 

break

;case

right: 

if(legal('r

')) 

break

;case

esc :gameover=1

;break

;case''

:getkey();

break;}}

/*if(kbhit())    

*/count++;

if(count

==90000

) else

if(sc[cur[i][0]

-2][cur[i][1]

-1]==

1)}if(

!stop) 

elsecu=

ne;random();

stop=0

;draw(cur,

254);}}

}gotoxy(3,

11);

printf(

"game over");

sleep(1);

}turn(

char

c)draw(cur,''

);for(i=

1;i<4;i

++) 

draw(cur,

254);

}init()

draw(

char

ch[2

],inta)}

random()

for(i=0

;i<4;i

++) 

for(i=0

;i<4;i

++) 

}legal(

char

b)else

if(b=='

r') else

if(b=='

d') else

return

true;

}check()

*/temp[0]

=cur[0][

1];temp[1]

=cur[1][

1];temp[2]

=cur[2][

1];temp[3]

=cur[3][

1];c=

1;for(i=0

;i<4;i

++) 

if(p) 

printf("/7

");for(k

=i;k

<4;k

++) }}

gotoxy(24,

6);printf("%d

",score);

for(i=0

;i<4;i

++)if(sc[cur[i][0]

-2][0

])}

俄羅斯方塊高階 AI俄羅斯方塊

前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...

俄羅斯方塊

俄羅斯方塊 tetris,俄文 是一款風靡全球的電視遊戲機 和掌上遊戲機遊戲,它由俄羅斯人阿列克謝 帕基特諾夫 發明,故得此名。俄羅斯方塊的基本規則是移動 旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單 老少皆宜,從而家喻戶曉,風靡世界。俄羅斯方塊的開發者是阿...

俄羅斯方塊

include include include include includeusing namespace std include include define mem a,b memset a,b,sizeof a const int sudu 40 const int dir 4 2 cons...