📄 main.c
字号:
#include <GsGBA.h>
#include "data.h"
#include "bomb.h"
#include "sprite.h"
#include "move.h"
int GMODE; //游戏模式
int GTIMER; //定义一个全局的时钟
void queryKey(); //查询键盘
void VBLserver(); //VBL中断程序
//中断向量表
const IntrFuncp IntrTable[14]=
{
VBLserver,dummy,
};
//主函数
int AgbMain()
{
LoadGfx(); //读入图片环境初始化
GMODE=GAMEINIT; //游戏模式切换到初始状态
while(1);
return 0;
}
void queryKey()
{
if(bomb_flag==1) //如果爆炸了,那么返回
return;
KeyRead(); //读键盘
if(Cont & U_KEY) player.obj.VPos--; //上移
if(Cont & D_KEY) player.obj.VPos++; //下移
if(Cont & L_KEY) player.obj.HPos--; //左移
if(Cont & R_KEY) player.obj.HPos++; //右移动
// 移动限制
if(player.obj.HPos >224)player.obj.HPos =224;
if(player.obj.HPos <1) player.obj.HPos =1;
if(player.obj.VPos >128)player.obj.VPos =128;
if(player.obj.VPos <1) player.obj.VPos =1;
}
void VBLserver() //VBL中断程序
{
switch(GMODE)
{
case GAMEINIT:
SOBJ_RESET(); //所有OBJ复位
GTIMER=0;
GMODE=GAMERUN;
break;
case GAMERUN: //游戏运行
queryKey(); //键盘查询
SOBJ_BLUT_EMIT(); //连续发射子弹
SOBJ_Process(); //所有角色处理
BOMB_process(); //爆炸控制
break;
case GAMEOVER: //游戏结束
GMODE=GAMEINIT;
break;
}
GTIMER++;
GsOamCopy();
GsWaitSync();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -