tetris.h
俄羅斯方塊遊戲程式
製作人:內蒙古大學夏士通
時間:2023年5月14日
e-mail: class="txt">支援開源,歡迎交流
void box_build()
//方塊生成函式
unsigned int box_read_data(unsigned char tpmode,unsigned char tpshape)
break;
case 1: switch(tpshape)
break;
case 2: switch(tpshape)
break;
case 3: switch(tpshape)
break;
case 4: switch(tpshape)
break;
case 5: switch(tpshape)
break;
case 6: switch(tpshape)
break;
default:;
}return(tpbox);
}//方塊快取資料函式(輸入方塊型別和形狀即可獲得方塊快取資料)
void box_load()
//方塊載入函式
void box_to_box_ram(unsigned char tpx,unsigned char tpy,unsigned int tpbox)
//從遊戲點陣快取中刪除以前的方塊
temp=s_box.box;
for(i=0;i<4;i++)
//在遊戲點陣快取中加入新的方塊
}//方塊對映遊戲點陣快取函式(引數是原來方塊的位置、快取,先消去原有位置的方塊)
void box_ram_to_ram()
}//遊戲點陣快取對映顯示點陣快取函式
void game_execute()
else
//檢測是否還可以下降,如果還能下降則繼續下降
else
//如果不能下降則呼叫消行函式檢查是否可以消行,之後重新建立方塊
}}//遊戲執行函式(控制方塊下落,檢測是否到底,如果到底呼叫消行函式)
void time0_initialize()
//定時器0初始化函式
void timer0() interrupt 1
else
//先將現有的方塊從遊戲點陣快取中刪除
temp=tpbox;
for(i=0;i<4;i++)
temp=temp>>4;
}//檢查方塊是否和原有圖形重疊,重疊置標誌位tpflag為0,不重疊不置標誌位,即tpflag為1
temp=s_box.box;
for(i=0;i<4;i++)
//在遊戲點陣快取中恢復原有方塊
return(tpflag);
}//檢查覆蓋函式(檢查此時帶入的引數所確定的方塊是否會覆蓋原有圖形,不會覆蓋返回1,覆蓋返回0)
void destroy_row()
;//最多一次只能消四行,所以設定四個標誌位即可,初值為0
for(i=0;i<16;i++)
//檢查完有四行要消除則退出檢查迴圈依次檢測是否有行快取為0xffff,如果是則標誌tpflag為此行的行號
for(j=0;j<4;j++)
}//被標誌的行依次被上一行所取代,即被消去
}//消行函式
void next_box()
//在遊戲點陣快取中顯示下乙個方塊的樣子
}//顯示下乙個方塊函式
void tetris_main()
;//載入遊戲初始顯示畫面
game_over_flag=0;//遊戲結束標誌位置0表示遊戲未結束
box_build();
box_load();
next_box();
box_to_box_ram(s_box.x,s_box.y,s_box.box);
box_ram_to_ram();
// intermit0_initialize();
time0_initialize();
while(!game_over_flag)//如果遊戲結束標誌位置1,表示遊戲結束,打破迴圈,呼叫遊戲結束畫面顯示函式
ea=0;//遊戲結束後關中斷,要不快取區資料不正確
game_over_show();
}//俄羅斯方塊遊戲主函式
void game_over_show()
box_ram_to_ram();
while(tpflag)
//遊戲結束畫面顯示函式
void game_initialize()
//遊戲初始化函式
void game_start_show()
;//清楚影象
for(i=0;i<8;i++)
box_ram_to_ram();
while(tpflag)
//遊戲開始顯示畫面
bit check_game_over()
temp=temp>>4;
}//檢查新建方塊是否和原有圖形重疊,重疊置標誌位tpflag為1,不重疊不置標誌位,即tpflag為0
return(tpflag);
}//檢查遊戲結束函式(遊戲結束返回1,遊戲沒有結束返回0)
void check_pause_game()
//檢測暫停遊戲函式 ...
基於微控制器的88俄羅斯方塊遊戲
摘要 本文集中論述了如何使用at89c52微控制器來實現8 8俄羅斯方塊遊戲,該系統能具體根據8 8俄羅斯方塊遊戲的基本規則進行遊戲,並通過微控制器控制點陣屏顯示其8 8俄羅斯方塊遊戲介面。系統具有實用實時性強 操作簡單 娛樂效能好,擴充套件效能較好 便宜等特點。關鍵詞 微控制器 at89c52 點...
俄羅斯住房
俄羅斯 仍提供免費住房 看病住院不花錢 在2007年,俄羅斯的教師工資大約相當於每月100 300元人民幣,的工資也不高。收入儘管很低,但無論是莫斯科還是聖彼得堡,我所見到的是男人衣著考究,女人漂亮時髦,商店裡食品豐富,總體感覺是,人們的生活並非貧窮。我曾根據當地的物價對俄羅斯人的收入與支出粗略做一...
俄羅斯知識整理
俄羅斯一 位置及範圍 1歐洲東部和亞洲北部 北亞 面積 1700多萬平方千公尺,世界上面積最大的國家 居民 130多個民族,通用俄語 2 傳統的歐洲國家 歐洲部分 領土只佔1 4 人口佔3 4 集中主要的工農業 城市及交通路線 亞洲部分 地廣人稀,大部分地區沒有開發。二 自然地理特徵 1 位置及範圍...