scrn.c

来自「Space Invaders game」· C语言 代码 · 共 606 行

C
606
字号
#pragma hdrstop
#include "invaders.h"

unsigned char VirtScrn[128][48];

unsigned int  RealScrnX[129];
unsigned int  RealScrnY[49];

unsigned int  VScrnX[2049];
unsigned int  VScrnY[2049];

unsigned char character_0[] = {
	 8, 8,
	 0,0,1,1,1,1,0,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,1,1,1,1,0,0
};

unsigned char character_1[] = {
	 8, 8,
	 0,0,0,0,1,0,0,0,
	 0,0,1,1,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,1,1,1,1,1,0
};

unsigned char character_2[] = {
	 8, 8,
	 0,0,0,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,1,1,1,1,0
};

unsigned char character_3[] = {
	 8, 8,
	 0,0,0,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,1,1,0,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,1,1,1,0,0
};

unsigned char character_4[] = {
	 8, 8,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,1,1,0,0,
	 0,0,0,1,0,1,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,1,1,1,1,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,1,1,1,0
};

unsigned char character_5[] = {
	 8, 8,
	 0,0,1,1,1,1,1,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,1,1,1,0,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,1,1,1,1,0,0
};

unsigned char character_6[] = {
	 8, 8,
	 0,0,0,0,1,1,1,0,
	 0,0,0,1,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,1,1,1,0,0
};

unsigned char character_7[] = {
	 8, 8,
	 0,1,1,1,1,1,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0,
	 0,0,0,0,1,0,0,0
};

unsigned char character_8[] = {
	 8, 8,
	 0,0,0,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,1,1,1,0,0
};

unsigned char character_9[] = {
	 8, 8,
	 0,0,1,1,1,1,0,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,1,1,1,1,1,0,
	 0,0,0,0,0,0,1,0,
	 0,0,0,0,0,1,0,0,
	 0,1,1,1,1,0,0,0
};

unsigned char character_P[] = {
	 8, 8,
	 0,1,1,1,1,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,1,1,1,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,1,1,1,0,0,0,0
};

unsigned char character_L[] = {
	 8, 8,
	 0,1,1,1,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,1,1,1,1,1,1,0
};

unsigned char character_A[] = {
	 8, 8,
	 0,0,1,1,1,0,0,0,
	 0,0,0,1,1,0,0,0,
	 0,0,0,1,1,0,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,1,1,1,0,0,
	 0,1,0,0,0,0,1,0,
	 1,1,1,0,0,1,1,1
};

unsigned char character_Y[] = {
	 8, 8,
	 1,1,1,0,1,1,1,0,
	 0,1,0,0,0,1,0,0,
	 0,0,1,0,1,0,0,0,
	 0,0,1,0,1,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,1,1,1,0,0,0
};

unsigned char character_S[] = {
	 8, 8,
	 0,1,1,1,0,1,0,0,
	 1,0,0,0,1,1,0,0,
	 1,0,0,0,0,0,0,0,
	 0,1,1,1,1,0,0,0,
	 0,0,0,0,0,1,0,0,
	 0,0,0,0,0,1,0,0,
	 1,1,0,0,0,1,0,0,
	 1,0,1,1,1,0,0,0
};

unsigned char character_C[] = {
	 8, 8,
	 0,1,1,1,1,1,0,0,
	 1,0,0,0,0,1,0,0,
	 1,0,0,0,0,0,0,0,
	 1,0,0,0,0,0,0,0,
	 1,0,0,0,0,0,0,0,
	 1,0,0,0,0,0,0,0,
	 0,1,0,0,0,1,0,0,
	 0,0,1,1,1,0,0,0
};

unsigned char character_E[] = {
	 8, 8,
	 1,1,1,1,1,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,1,0,0,0,0,
	 0,1,1,1,0,0,0,0,
	 0,1,0,1,0,0,0,0,
	 0,1,0,0,0,0,0,0,
	 0,1,0,0,0,1,0,0,
	 1,1,1,1,1,1,0,0
};

unsigned char character_I[] = {
	 8, 8,
	 0,1,1,1,1,1,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,0,0,1,0,0,0,0,
	 0,1,1,1,1,1,0,0
};

unsigned char character_N[] = {
	 8, 8,
	 1,1,1,0,0,1,1,1,
	 0,1,1,0,0,0,1,0,
	 0,1,0,1,0,0,1,0,
	 0,1,0,1,0,0,1,0,
	 0,1,0,0,1,0,1,0,
	 0,1,0,0,1,0,1,0,
	 0,1,0,0,0,1,1,0,
	 1,1,1,0,0,1,1,1
};

unsigned char character_V[] = {
	 8, 8,
	 1,1,1,0,0,1,1,1,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,0,1,1,0,0,0,
	 0,0,0,1,1,0,0,0
};

unsigned char character_D[] = {
	 8, 8,
	 0,1,1,1,1,0,0,0,
	 0,0,1,0,0,1,0,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,1,0,0,1,0,0,
	 0,1,1,1,1,0,0,0
};

unsigned char character_R[] = {
	 8, 8,
	 1,1,1,1,1,0,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,1,1,1,0,0,0,
	 0,1,0,0,1,0,0,0,
	 0,1,0,0,0,1,0,0,
	 1,1,1,0,0,0,1,0
};

unsigned char character_F[] = {
	 8, 8,
	 1,1,1,1,1,1,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,1,0,0,0,0,
	 0,1,1,1,0,0,0,0,
	 0,1,0,1,0,0,0,0,
	 0,1,0,0,0,0,0,0,
	 0,1,0,0,0,0,0,0,
	 1,1,1,0,0,0,0,0
};

unsigned char character_M[] = {
	 8, 8,
	 1,1,1,0,1,1,1,0,
	 0,1,1,0,1,1,0,0,
	 0,1,1,0,1,1,0,0,
	 0,1,0,1,0,1,0,0,
	 0,1,0,1,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 1,1,1,0,1,1,1,0
};

unsigned char character_B[] = {
	 8, 8,
	 1,1,1,1,1,0,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,1,1,1,0,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 1,1,1,1,1,0,0,0
};

unsigned char character_O[] = {
	 8, 8,
	 0,0,1,1,1,0,0,0,
	 0,1,0,0,0,1,0,0,
	 1,0,0,0,0,0,1,0,
	 1,0,0,0,0,0,1,0,
	 1,0,0,0,0,0,1,0,
	 1,0,0,0,0,0,1,0,
	 0,1,0,0,0,1,0,0,
	 0,0,1,1,1,0,0,0
};

unsigned char character_U[] = {
	 8, 8,
	 1,1,1,0,0,1,1,1,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,1,0,0,0,0,1,0,
	 0,0,1,1,1,1,0,0
};

unsigned char character_G[] = {
	 8, 8,
	 0,0,1,1,1,1,1,0,
	 0,0,1,0,0,0,1,0,
	 0,1,0,0,0,0,0,0,
	 0,1,0,0,0,0,0,0,
	 0,1,0,0,0,1,1,1,
	 0,1,0,0,0,0,1,0,
	 0,0,1,0,0,0,1,0,
	 0,0,0,1,1,1,0,0
};


unsigned char character_H[] = {
	 8, 8,
	 1,1,1,0,1,1,1,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,1,1,1,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 0,1,0,0,0,1,0,0,
	 1,1,1,0,1,1,1,0
};


unsigned char character_MINUS[] = {
	 8, 8,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,
	 0,1,1,1,1,1,1,0,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0
};


unsigned char Shelter[] = {
	 14, 7,
	 0,0,1,1,1,1,1,1,1,1,1,1,0,0,
	 1,1,1,1,1,1,1,1,1,1,1,1,1,1,
	 1,1,1,1,1,1,1,1,1,1,1,1,1,1,
	 1,1,1,1,1,1,1,1,1,1,1,1,1,1,
	 1,1,1,1,1,1,1,1,1,1,1,1,1,1,
	 1,1,1,1,1,1,1,1,1,1,1,1,1,1,
	 1,1,1,1,0,0,0,0,0,0,1,1,1,1
};

int GunPos = 10;

unsigned char Gun[] = {
	 13, 3,
	 0,0,0,0,0,0,1,0,0,0,0,0,0,
	 0,1,1,0,0,0,1,0,0,0,1,1,0,
	 0,1,1,1,1,1,1,1,1,1,1,1,0
};

unsigned char GunBlack[] = {
	 13, 3,
	 0,0,0,0,0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,0,0,0,0
};

unsigned int  BullPosX;
unsigned int  BullPosY;

unsigned char Bullet[] = {
	 1, 3,
	 1,
	 1,
	 1
};

unsigned char BulletLong[] = {
	 1, 4,
	 1,
	 1,
	 1,
	 0
};

unsigned char BulletBlack[] = {
	 1, 3,
	 0,
	 0,
	 0
};

unsigned char Bomb[] = {
	 1, 3,
	 1,
	 1,
	 1
};

unsigned char BombLong[] = {
	 1, 4,
	 0,
	 1,
	 1,
	 1
};

unsigned char BombBlack[] = {
	 1, 3,
	 0,
	 0,
	 0
};

unsigned char EatShelter[] = {
	 2, 1,
	 0,0
};

unsigned char BulletFlat[] = {
	 3, 2,
	 1,1,1,
	 0,1,0
};

unsigned char BulletFlatBlack[] = {
	 3, 2,
	 0,0,0,
	 0,0,0
};

unsigned char PixelBlack[] = {
	 1, 1,
	 0
};

unsigned int  ExplosionPosX;
unsigned int  ExplosionPosY;

unsigned char Explosion[] = {
	 9, 3,
	 0,0,1,0,1,0,1,0,0,
	 0,1,0,1,0,1,0,1,0,
	 0,0,1,0,1,0,1,0,0
};

unsigned char ExplosionBlack[] = {
	 9, 3,
	 0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0
};

unsigned char Gremlin0b[] = {
	 6, 3,
	 0,0,0,0,0,0,
	 0,0,0,0,0,0,
	 0,0,0,0,0,0
};

unsigned char Gremlin0[] = {
	 6, 3,
	 0,0,1,1,0,0,
	 0,1,1,1,1,0,
	 0,1,0,0,1,0
};

unsigned char Gremlin1[] = {
	 6, 3,
	 0,0,1,1,0,0,
	 0,1,1,1,1,0,
	 0,0,1,1,0,0
};

unsigned char Gremlin2b[] = {
	 7, 3,
	 0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0
};

unsigned char Gremlin2[] = {
	 7, 3,
	 0,0,1,1,1,0,0,
	 0,1,1,1,1,1,0,
	 0,1,0,0,0,1,0
};

unsigned char Gremlin3[] = {
	 7, 3,
	 0,0,1,1,1,0,0,
	 0,1,1,1,1,1,0,
	 0,0,1,0,1,0,0
};

unsigned char Gremlin4b[] = {
	 8, 3,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0
};

unsigned char Gremlin4[] = {
	 8, 3,
	 0,0,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,0,
	 0,1,0,1,1,0,1,0
};

unsigned char Gremlin5[] = {
	 8, 3,
	 0,0,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,0,
	 0,1,1,0,0,1,1,0
};

unsigned char Gremlin6b[] = {
	 9, 3,
	 0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0
};

unsigned char Gremlin6[] = {
	 9, 3,
	 0,0,1,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,1,0,
	 0,1,0,0,1,0,0,1,0
};

unsigned char Gremlin7[] = {
	 9, 3,
	 0,0,1,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,1,0,
	 0,0,1,0,1,0,1,0,0
};

unsigned char Gremlin8b[] = {
	 10, 3,
	 0,0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,0
};

unsigned char Gremlin8[] = {
	 10, 3,
	 0,0,1,1,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,1,1,0,
	 0,1,0,0,1,1,0,0,1,0
};

unsigned char Gremlin9[] = {
	 10, 3,
	 0,0,1,1,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,1,1,0,
	 0,0,1,1,0,0,1,1,0,0
};

unsigned char SpaceShip[] = {
	 11, 2,
	 0,0,1,1,1,1,1,1,1,0,0,
	 0,1,1,1,1,1,1,1,1,1,0
};

unsigned char SpaceShipBlack[] = {
	 11, 2,
	 0,0,0,0,0,0,0,0,0,0,0,
	 0,0,0,0,0,0,0,0,0,0,0
};


⌨️ 快捷键说明

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