📄 minigame.c
字号:
#include "common.h"
#include "gfxex.h"
void dstreet(){
InitializeSprites();
const u16 u[10]={2,4,3,2,6,3,3,5,3,4,5,4};// attribute0 for upper ones is 0x200f
const u16 d[6]={3}; // attribute0 for lower ones is 0x202b
const u16 speedu=30;
const u16 speedd=40;
u16 hitu=0,hitd=0,ucntr=0,dcntr=0;
u16 loop;
u16* vram=VRAM_BASE;
u16* oamd=OAMDATA;
u16 dir[6];
for(loop=0;loop<128;loop++) *oamd++=up_gfx[loop];
for(loop=0;loop<128;loop++) *oamd++=down_gfx[loop];
for(loop=0;loop<128;loop++) *oamd++=left_gfx[loop];
for(loop=0;loop<128;loop++) *oamd++=right_gfx[loop];
for(loop=0;loop<128;loop++) *oamd++=L_gfx[loop];
for(loop=0;loop<128;loop++) *oamd++=R_gfx[loop];
for(loop=0;loop<6;loop++) dir[loop]= (512+8*loop)| PRIORITY(0);
for(loop=0;loop<19200;loop++) vram[loop]=0;
BltTo(window_gfx,vram,20,0,200,72,0);
DrawText("按A键开始",100,100,30);
for(loop=0;loop<5;loop++) sprites[loop].attribute0=COLOR_256 |15;
for(loop=5;loop<8;loop++) sprites[loop].attribute0=0x202b;
CopyOAM();
while (!KEY_A_PRESSED) ;
u16 dirc[8];
u16 framecntr=0;
u16 sprx[8]={255,255,255,255,255,255,255,255};
u16 rest[8]={1,255,255,255,255,1,255,255};
while(1){
WaitVSync();UPDATA_INPUT(); framecntr++;
if(!framecntr%speedu){
for(loop=0;loop<5;loop++){
if(sprx[loop]!=255) if(sprx[loop]--==35)sprx[loop]=255;
else if(rest[loop]==255) ;
else if(rest[loop]==253) ;
else{
if((!(rest[loop]++%3))&&ucntr<10){ rest[loop]=253;
if(loop==4) rest[0]=1; else rest[loop+1]=1;
sprx[loop]=200;
dirc[loop]=dir[u[ucntr++]];
}
}
}
}
for(loop=0;loop<5;loop++) {sprites[loop].attribute1=SIZE_16 |sprx[loop];
sprites[loop].attribute2=dir[loop];}
CopyOAM();
saveshort(0,dirc[0]);
DrawText("A",sprx[0],dirc[0],50);
/*if(!framecntr%speedd){
for(loop=5;loop<8;loop++){
if(sprx[loop]!=255) sprx[loop]--;
}
}*/
}
WaitTime(0,900);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -