bug-468811.c

来自「Small Device C Compiler 面向Inter8051」· C语言 代码 · 共 75 行

C
75
字号
/* For some reason an integer operation is run as floating point.   Test is to see if it links. */#include <testfwk.h>typedef unsigned char UBYTE;typedef unsigned char UINT8;voidset_sprite_tile(UINT8 nb, UINT8 tile){  UNUSED(nb && tile);}/* screen size */#define MIN_SX		5U		/* min x (char) */#define MAX_SX		(20U-MIN_SX)    /* max x (char) */#define MIN_SY		5U		/* min y (char) */#define MAX_SY		(MIN_SY+13U)	/* max y (char) */#define DEF_SP		30U		/* sprite null char code */	/* player */#define MIN_PX		(MIN_SX*8U+8U)	/* min x (dot) */#define MAX_PX		(MAX_SX*8U-8U)	/* max x (dot) */#define DEF_PX		80U		/* ship x pos (dot) */#define DEF_PY		(MIN_SY*8U)	/* ship y pos (dot) */#define DEF_PC0		14U#define DEF_PC1		15U#define DEF_PF		8U/* bomb */#define MAX_TT		6U		/* number */#define DEF_TS		2U		/* sprite tile id */#define DEF_TC		2U		/* sprite data id */#define DEF_TX		(80U-6U)	/* bomb x pos (dot) */#define DEF_TY		(DEF_PY-14U)	/* bomb y pos (dot) */#define MAX_TY		(MAX_SY*8U)	/* max y pos (dot) *//* enemy */#define MAX_ET		10U		/* number */#define DEF_ES0		(DEF_TS+MAX_TT) /* sprite tile id */#define DEF_ES1		(DEF_ES0+1U)#define DEF_1EC0	32U#define DEF_1EC1	48U#define DEF_2EC0	64U#define DEF_2EC1	80U#define DEF_XEC0	96U		/* sprite data(X) id */#define DEF_XEC1	112U		/* sprite data(X) id */#define DEF_EY		(DEF_PY+12U)#define DEF_EH		10U#define SUB_EX0		20U#define SUB_EX1		(SUB_EX0-8U)#define MIN_EX		(SUB_EX0-16U)#define MAX_EX		(SUB_EX0+180U)#define SPEED_EY	(DEF_EY+DEF_EH*3U)#define DEF_BC1		4U#define DEF_BC2		5UUBYTE ef[MAX_ET], ex[MAX_ET], ey[MAX_ET];UBYTE pf, px, pp, pl;/* enemys */void enemys(){  UBYTE i;  for( i=0; i<MAX_ET; i++ ) {    if( ef[i] == 1 ) {      set_sprite_tile( i*2+DEF_ES0, DEF_1EC0+8 );      set_sprite_tile( i*2+DEF_ES1, DEF_1EC1+(ex[i]-MAX_SX*8-12)+7 );    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?