?? gameprocess.c
字號(hào):
//*************************************************************************************************
//* *
//* ******************************游戲動(dòng)作處理程序************************** *
//* *
//*************************************************************************************************
#include "includes.h"
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定義當(dāng)前方塊屬性變量>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
BLOCK *psta_BlockCur=sta_BlockSet,*psta_BlockNext; //指向當(dāng)前方塊設(shè)定的指針。
bit b_GameStart=0; //游戲開(kāi)始標(biāo)志位。
//*************************************************************************************************
//* *
//* ********************************游戲初始化******************************* *
//* *
//*************************************************************************************************
void vGameInitialize()
{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<清空LCD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vCleanAll();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<清空游戲區(qū)域>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vCleanAllBlock();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化分?jǐn)?shù)顯示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vMarkInitialize();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化時(shí)間顯示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vTimeInitialize();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化等級(jí)顯示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vLevelInitialize();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化游戲邊框>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vShowFrame();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化方塊位置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
uc_BlockRow=STARTROW;
uc_BlockLine=STARTLINE;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化方塊類型>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vNewBlock();
psta_BlockCur=psta_BlockNext;
vNewBlock();
vShowBlockEx(6,18,psta_BlockNext);
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<初始化方塊顯示>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vCreateBlock();
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<設(shè)游戲開(kāi)始標(biāo)志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
b_GameStart=1;
}
//*************************************************************************************************
//* *
//* ******************************判斷游戲是否結(jié)束************************** *
//* *
//*************************************************************************************************
unsigned char ucIsGameOver()
{
unsigned char ucCount;
for(ucCount=0;ucCount<12;ucCount++)
if(ucReadBlock(0,ucCount))
return 1;
return 0;
}
//*************************************************************************************************
//* *
//* ******************************游戲結(jié)束處理函數(shù)************************** *
//* *
//*************************************************************************************************
void vGameOver()
{
b_GameStart=0;
vShowGraph(3,30,70,2,uca_GAMEOVER);
}
//*************************************************************************************************
//* *
//* ******************************游戲動(dòng)作處理函數(shù)**************************** *
//* *
//*************************************************************************************************
void vBlockAction(unsigned char ucAction)
{
if(ucMoveDecide(ucAction)) //判斷方塊是否可以移動(dòng)。
vMoveBlock(ucAction); //如果可以,則移動(dòng)方塊。
else
if(ucAction==ACTIONDOWN)
{
if(ucIsGameOver())
vGameOver();
else
{
vGetMark();
uc_BlockRow=STARTROW;
uc_BlockLine=STARTLINE;
psta_BlockCur=psta_BlockNext;
vNewBlock();
vShowBlockEx(6,18,psta_BlockNext);
vCreateBlock();
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -