Untitled
unknown
plain_text
2 years ago
8.4 kB
12
Indexable
#include<iostream>
using namespace std;
void clean_and_draw_border(char x[][300])
{
for (int i = 0; i < 50; i++)
{
for (int j = 0; j < 300; j++)
{
x[i][j] = ' ';
}
}
for (int i = 0; i < 50; i++)
{
x[i][0] = '|';
x[i][149] = '|';
x[i][150] = '|';
x[i][300] = '|';
}
for (int i = 0; i < 300; i++)
{
x[0][i] = '=';
x[49][i] = '=';
}
}
void cout_to_screen(char x[][300], int l)
{
system("cls");
if (l == 1)
{
for (int i = 0; i < 50; i++)
{
for (int j = 0; j < 150; j++)
{
cout << x[i][j];
}
}
}
if (l == 2)
{
for (int i = 0; i < 50; i++)
{
for (int j = 150; j < 300; j++)
{
cout << x[i][j];
}
}
}
}
void draw_l1(char x[][300], int rl)
{
for (int i = 1; i < 140; i++)
{
x[rl][i] = '=';
}
for (int i = 146; i < 149; i++)
{
x[rl][i] = '=';
}
}
void draw_l2(char x[][300], int rl)
{
for (int i = 148; i > 10; i--)
{
x[rl][i] = '=';
}
for (int i = 3; i >= 1; i--)
{
x[rl][i] = '=';
}
}
void draw_ladder(char x[][300], int rladder, int cladder, int rl)
{
for (int i = rladder; i < rl; i++)
{
x[i][140] = '|';
x[i][146] = '|';
for (int c = cladder + 1; c < 146; c++)
{
x[i][c] = '-';
}
}
}
void draw_ladder2(char x[][300], int rladder, int cladder, int rl)
{
for (int i = rladder; i < rl; i++)
{
x[i][10] = '|';
x[i][3] = '|';
for (int c = cladder - 1; c > 3; c--)
{
x[i][c] = '-';
}
}
}
void draw_elevator(char x[][300], int celevator, int relevator)
{
int r = relevator;
for (int c = celevator; c > 3; c--)
{
x[r][c] = '-';
}
}
void move_elevator(int& relevator, int& dir)
{
if (dir == 1)
{
if (relevator + 1 == 40)
{
dir = -1;
}
}
if (dir == -1)
{
if (relevator == 32)
{
dir = 1;
}
}
relevator += dir;
}
void draw_enemy(char x[][300], int enemyr, int enemyc, int dire)
{
if (dire == 1)
{
x[enemyr][enemyc] = '|';
x[enemyr][enemyc + 1] = '_';
x[enemyr][enemyc + 2] = '|';
x[enemyr][enemyc + 3] = '_';
x[enemyr - 1][enemyc] = '|';
x[enemyr - 1][enemyc + 1] = '_';
x[enemyr - 1][enemyc + 2] = '|';
x[enemyr - 1][enemyc - 1] = '/';
for (int i = 0; i < 4; i++)
{
x[enemyr - 2][enemyc + i] = '_';
}
for (int i = 0; i < 2; i++)
{
x[enemyr - 2 - i][enemyc - 1] = '|';
}
for (int i = 0; i < 2; i++)
{
x[enemyr - 2 - i][enemyc + 4] = '|';
}
x[enemyr - 3][enemyc + 3] = '0';
x[enemyr - 3][enemyc + 1] = '0';
for (int i = 0; i < 6; i++)
{
x[enemyr - 4][enemyc - 1 + i] = '_';
}
x[enemyr - 2][enemyc + 5] = '_';
x[enemyr - 2][enemyc + 6] = 209;
x[enemyr - 2][enemyc + 7] = 196;
}
else
{
x[enemyr][enemyc] = '_';
x[enemyr][enemyc + 1] = '|';
x[enemyr][enemyc + 2] = '_';
x[enemyr][enemyc + 3] = '|';
x[enemyr - 1][enemyc + 1] = '|';
x[enemyr - 1][enemyc + 2] = '_';
x[enemyr - 1][enemyc + 3] = '|';
x[enemyr - 1][enemyc + 4] = '\\';
x[enemyr - 2][enemyc - 1] = '_';
x[enemyr - 2][enemyc] = '|';
for (int i = 0; i < 4; i++)
{
x[enemyr - 2][enemyc + 1 + i] = '_';
}
x[enemyr - 2][enemyc - 2] = 209;
x[enemyr - 2][enemyc - 3] = 196;
x[enemyr - 2][enemyc + 5] = '|';
x[enemyr - 3][enemyc] = '|';
x[enemyr - 3][enemyc + 5] = '|';
for (int i = 0; i < 6; i++)
{
x[enemyr - 4][enemyc + i] = '_';
}
x[enemyr - 3][enemyc + 1] = '0';
x[enemyr - 3][enemyc + 3] = '0';
}
}
void move_enemy(int& enemyc, int& dire)
{
if (dire == 1)
{
if (enemyc == 136)
{
dire = -1;
}
}
if (dire == -1)
{
if (enemyc == 15)
{
dire = 1;
}
}
enemyc += dire;
}
void fire(char x[][300], int rfire, int cfire)
{
for (int c = cfire; c < 110; c++)
{
x[rfire][c] = 176;
x[rfire - 1][c] = 176;
}
}
void draw_selim(char x[][300], int rselim, int cselim)
{
x[rselim][cselim] = 219;
x[rselim][cselim + 1] = 219;
x[rselim][cselim + 2] = 219;
x[rselim][cselim + 3] = 219;
x[rselim][cselim + 4] = 219;
x[rselim][cselim + 5] = 219;
x[rselim][cselim + 6] = 219;
}
void move_selim(char x[][300], int& rselim, int& cselim, int& dirs)
{
if (dirs == 1)
{
if (cselim + 5 == 75)
{
dirs = -1;
}
}
if (dirs == -1)
{
if (cselim == 30)
{
dirs = 1;
}
}
cselim += dirs;
}
void draw_slm(char x[][300],int rslm,int cslm)
{
x[rslm][cslm] = 219;
x[rslm][cslm + 1] = 219;
x[rslm][cslm + 2] = 219;
x[rslm][cslm + 3] = 219;
x[rslm][cslm + 4] = 219;
x[rslm][cslm + 5] = 219;
x[rslm][cslm + 6] = 219;
}
void move_slm(char x[][300],int &rslm,int &cslm,int &dirss)
{
if (dirss == 1)
{
if (cslm -5 == 71)
{
dirss = -1;
}
}
if (dirss == -1)
{
if (cslm == 115)
{
dirss = 1;
}
}
cslm -= dirss;
}
void draw_gun_up(char x[][300], int rgun, int cgun)
{
x[rgun][cgun] = 232;
}
void draw_zombie(char x[][300], int rzombie, int czombie, int dirz)
{
if (dirz == 2)
{
x[rzombie][czombie] = '_';
x[rzombie][czombie + 1] = '_';
x[rzombie - 1][czombie] = '|';
x[rzombie][czombie + 4] = '_';
x[rzombie][czombie + 5] = '_';
x[rzombie - 1][czombie + 4] = '|';
x[rzombie - 2][czombie] = '|';
x[rzombie - 2][czombie + 4] = '|';
x[rzombie - 2][czombie + 1] = 170;
x[rzombie - 2][czombie + 5] = 170;
x[rzombie - 3][czombie] = '|';
x[rzombie - 3][czombie + 3] = '|';
x[rzombie - 4][czombie + 1] = 'o';
x[rzombie - 4][czombie + 2] = 'o';
x[rzombie - 3][czombie + 1] = '-';
x[rzombie - 3][czombie + 2] = '-';
}
if (dirz == -2)
{
x[rzombie][czombie] = '_';
x[rzombie][czombie - 1] = '_';
x[rzombie - 1][czombie] = '|';
x[rzombie][czombie - 4] = '_';
x[rzombie][czombie - 5] = '_';
x[rzombie - 1][czombie - 4] = '|';
x[rzombie - 1][czombie - 4] = '|';
x[rzombie - 2][czombie] = '|';
x[rzombie - 2][czombie - 4] = '|';
x[rzombie - 2][czombie - 1] = 169;
x[rzombie - 2][czombie - 5] = 169;
x[rzombie - 3][czombie] = '|';
x[rzombie - 3][czombie - 3] = '|';
x[rzombie - 4][czombie - 1] = 'o';
x[rzombie - 4][czombie - 2] = 'o';
x[rzombie - 3][czombie - 1] = '-';
x[rzombie - 3][czombie - 2] = '-';
}
}
void move_zombie(int& czombie, int& dirz)
{
if (dirz == 2)
{
if (czombie + 16 == 148)
{
dirz = -2;
}
}
if (dirz == -2)
{
if (czombie == 20)
{
dirz = 2;
}
}
czombie += dirz;
}
void draw_laser(char x[][300], int rlaser, int claser)
{
x[rlaser][claser] = '_';
x[rlaser][claser + 1] = '|';
x[rlaser - 1][claser + 1] = '/';
x[rlaser - 2][claser + 1] = '\\';
x[rlaser - 3][claser + 1] = '|';
x[rlaser - 4][claser] = '_';
}
void laser_attack(char x[][300], int rlaser, int claser, int& ct)
{
if (ct == 0)
{
x[rlaser - 1][claser + 1] = ' ';
x[rlaser - 2][claser + 1] = ' ';
x[rlaser - 1][claser + 1] = '_';
x[rlaser - 3][claser + 1] = '_';
ct = 5;
for (int i = 1; i < 137; i++)
{
x[rlaser - 2][claser + i] = '_';
}
}
}
void main()
{
char x[50][300];
int l = 1;
int rl1 = 8;
int rl2 = 16;
int rl3 = 24;
int rl4 = 32;
int rl5 = 40;
int rladder = 8;
int cladder = 140;
int rladder2 = 16;
int cladder2 = 10;
int rladder3 = 24;
int cladder3 = 140;
int relevator = 32;
int celevator = 10;
int dir = 1;
int enemyr = 23;
int enemyc = 109;
int dire = 1;
int rfire = 7;
int cfire = 40;
int rselim = 5;
int cselim = 35;
int dirs = 1;
int rslm = 5;
int cslm = 110;
int dirss = 1;
int rgun = 6;
int cgun = 125;
int rzombie = 15;
int czombie = 100;
int dirz = 2;
int dirz2 = 2;
int dirz3 = 2;
int rzombie2 = 15;
int czombie2 = 70;
int rzombie3 = 15;
int czombie3 = 40;
int rlaser = 30;
int claser = 1;
int ct = 5;
for (;;)
{
ct--;
clean_and_draw_border(x);
draw_l1(x, rl1);
draw_l2(x, rl2);
draw_l1(x, rl3);
draw_l2(x, rl4);
draw_l1(x, rl5);
draw_ladder(x, rladder, cladder, rl2);
draw_ladder2(x, rladder2, cladder2, rl3);
draw_ladder(x, rladder3, cladder3, rl4);
draw_elevator(x, celevator, relevator);
move_elevator(relevator, dir);
draw_enemy(x, enemyr, enemyc, dire);
move_enemy(enemyc, dire);
fire(x, rfire, cfire);
move_selim(x, rselim, cselim, dirs);
draw_selim(x, rselim, cselim);
draw_slm(x, rslm, cslm);
move_slm(x, rslm, cslm, dirss);
draw_gun_up(x, rgun, cgun);
draw_zombie(x, rzombie, czombie, dirz);
draw_zombie(x, rzombie2, czombie2, dirz2);
draw_zombie(x, rzombie3, czombie3, dirz3);
move_zombie(czombie, dirz);
move_zombie(czombie2, dirz2);
move_zombie(czombie3, dirz3);
draw_laser(x, rlaser, claser);
laser_attack(x, rlaser, claser, ct);
cout_to_screen(x, l);
}
}
Editor is loading...
Leave a Comment