⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 minigame.c

📁 GBA游戏程序
💻 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 + -