#include "invaders2.h" unsigned char peter[8][11] = { { 0, 0, P, 0, 0, 0, 0, 0, P, 0, 0 }, { 0, 0, 0, P, 0, 0, 0, P, 0, 0, 0 }, { 0, 0, P, P, P, P, P, P, P, 0, 0 }, { 0, P, P, 0, P, P, P, 0, P, P, 0 }, { P, P, P, P, P, P, P, P, P, P, P }, { P, 0, P, P, P, P, P, P, P, 0, P }, { P, 0, P, 0, 0, 0, 0, 0, P, 0, P }, { 0, 0, 0, P, P, 0, P, P, 0, 0, 0 } }; unsigned char hans[8][11] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 2, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, { 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2 }, { 1, 2, 1, 1, 2, 2, 2, 1, 2, 2, 1 }, { 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2 }, { 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; void initGuards(unsigned char guards[BORG_WIDTH]) { int x; for (x = 0; x < BORG_WIDTH; ++x) { guards[x] = 0; } guards[3] = 3; guards[6] = 3; guards[10] = 3; guards[13] = 3; } void initInvaders(Invaders * iv, unsigned char lv) { unsigned char x, y; // first zero out map! for (x = 0; x < MAX_INVADER_WIDTH; ++x) { for (y = 0; y < MAX_INVADER_HEIGHT; ++y) { iv->map[x][y] = 0; } } iv->speedinc = 0; iv->isEdged = 0; switch (lv) { case 0: for (x = 0; x < 8; ++x) { iv->map[x][0] = 2; iv->map[x][1] = 2; iv->map[x][2] = 2; iv->map[x][3] = 1; // iv->map[x][4] = 1; } iv->pos.x = 4; iv->pos.y = SPACESHIP_LINE + 1; iv->speed = MIN_SPEED - 3; iv->direction = 1; break; case 1: for (x = 0; x < 8; ++x) { //for(y = 0; y < MAX_INVADER_HEIGHT; ++y) { iv->map[x][0] = 3; iv->map[x][1] = 3; iv->map[x][2] = 2; iv->map[x][3] = 2; // iv->map[x][4] = 1; //} } iv->pos.x = 4; iv->pos.y = SPACESHIP_LINE + 1; iv->speed = MIN_SPEED - 2; iv->direction = 1; break; case 2: for (x = 0; x < 8; ++x) { //for(y = 0; y < MAX_INVADER_HEIGHT; ++y) { iv->map[x][0] = 3; iv->map[x][1] = 3; iv->map[x][2] = 2; iv->map[x][3] = 2; iv->map[x][4] = 1; //} } iv->pos.x = 4; iv->pos.y = SPACESHIP_LINE + 1; iv->speed = MIN_SPEED - 1; iv->direction = 1; break; case 3: for (x = 0; x < 11; ++x) { for (y = 0; y < 8; ++y) { if (hans[y][x] != 0) { iv->map[x][y] = 2; } } } iv->pos.x = 3; iv->pos.y = SPACESHIP_LINE + 1; iv->speed = MIN_SPEED + 2; iv->direction = 1; break; case 4: for (x = 0; x < 11; ++x) { for (y = 0; y < 8; ++y) { if (peter[y][x] != 0) { iv->map[x][y] = 2; } } } iv->pos.x = 3; iv->pos.y = SPACESHIP_LINE + 1; iv->speed = MIN_SPEED + 3; iv->direction = 1; break; } }