程式設計之美1 17 俄羅斯方塊遊戲

2021-06-07 07:14:09 字數 1340 閱讀 8796

問題:

讓電腦自動下俄羅斯方塊遊戲。

解法:

#include #include #include #include using namespace std;

// 積木塊的資訊

#define block_size 7

#define rotate_size 4

#define side_len 4

const int block_area = side_len*side_len;

// 棋盤的資訊

#define horiz_len 12

#define vert_len 15

const int chess_area = horiz_len*vert_len;

// 其它資訊

#define top_step 25

#define inf 10000

// 計分資訊

const int clearlinescore = ;

struct block // 積木塊

for(i=0; i=0 && maxrow[i]==0; i--);

maxcol = i;

} unsigned char layout[block_area]; // 積木塊的布局

unsigned char maxrow[side_len]; // 積木塊每一列所佔區域的最大行,取值從1開始

unsigned char mincol; // 積木塊所佔區域的最小值列和最大列,取值從0開始

unsigned char maxcol;

};block blockset[block_size][rotate_size]; // 7種積木塊,每種積木塊有4種旋轉方向

unsigned char chess[chess_area]; // 棋盤的布局

unsigned char nextchess[chess_area]; // 下一步棋盤的布局

int height[horiz_len]; // 棋盤每一列所佔區域的最小行,即高度

void calcheight(unsigned char *curchess) // 計算當前棋盤的高度資訊 }}

// 計算[offsetx,offsetx+side_len)列的洞的個數

int calcholes(unsigned char *curchess, int offsetx, int offsety)

void output(unsigned char *curchess)

}} memcpy(chess, nextchess, chess_area);

}}

俄羅斯方塊遊戲

大二上學期前兩周的課程設計寫 更多的是借鑑 了乙個500多行的俄羅斯方塊遊戲,畢竟也是花了兩天時間把被人的看懂,然後花了兩天多的時間敲出來,又花了兩天時間寫了4000多字的專案報告,所有有必要在部落格中寫下來以留作紀念。struct block blocks 7 i 口 l 反l z 反z t 用十...

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

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

C 俄羅斯方塊遊戲

俄羅斯方塊是一款非常經典的老遊戲,相比現在的網路遊戲和大型遊戲而言,俄羅斯方塊非常小。不要看似小,要實現俄羅斯方塊的全部功能也不容易。先說說涉及的知識點 繼承 不同的方塊繼承於方塊類 多型 每種方塊都可以旋轉 初始化,但是每種方塊的旋轉都不一樣,採用抽象方法定義 簡單工廠設計模式 由工廠隨機建立方塊...