Untitled

 avatar
unknown
plain_text
a year ago
8.4 kB
7
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