Untitled

 avatar
unknown
plain_text
a year ago
10 kB
3
Indexable
#include<iostream>
#include<conio.h>
using namespace std;
//Move to the right (modify the addition to make it go further) + gravity
void MoveRight(char X[][80], int& rhead, int& chead, int& rhand1, int& chand1, int& rhand2, int& chand2, int& rbody, int& cbody, int& rleg1, int& cleg1, int& rleg2, int& cleg2)
{
	system("cls");
	char z;
	z = X[rhead][chead];
	X[rhead][chead] = X[rhead][chead + 1];
	X[rhead][chead + 1] = z;
	chead++;

	z = X[rhand2][chand2];
	X[rhand2][chand2] = X[rhand2][chand2 + 1];
	X[rhand2][chand2 + 1] = z;
	chand2++;

	z = X[rbody][cbody];
	X[rbody][cbody] = X[rbody][cbody + 1];
	X[rbody][cbody + 1] = z;
	cbody++;

	z = X[rhand1][chand1];
	X[rhand1][chand1] = X[rhand1][chand1 + 1];
	X[rhand1][chand1 + 1] = z;
	chand1++;

	z = X[rleg2][cleg2];
	X[rleg2][cleg2] = X[rleg2][cleg2 + 1];
	X[rleg2][cleg2 + 1] = z;
	cleg2++;

	z = X[rleg1][cleg1];
	X[rleg1][cleg1] = X[rleg1][cleg1 + 1];
	X[rleg1][cleg1 + 1] = z;
	cleg1++;

	for (int i = 0; i < 24; i++)
	{
		for (int c = 0; c < 80; c++)
		{
			cout << X[i][c];
		}
		cout << endl;
	}
	for (; ;)
	{
		if (X[rleg1+1][cleg1] != '~')
		{
			system("cls");

			z = X[rleg1][cleg1];
			X[rleg1][cleg1] = X[rleg1 + 1][cleg1];
			X[rleg1 + 1][cleg1] = z;
			rleg1++;

			z = X[rleg2][cleg2];
			X[rleg2][cleg2] = X[rleg2 + 1][cleg2];
			X[rleg2 + 1][cleg2] = z;
			rleg2++;

			z = X[rbody][cbody];
			X[rbody][cbody] = X[rbody + 1][cbody];
			X[rbody + 1][cbody] = z;
			rbody++;

			z = X[rhand1][chand1];
			X[rhand1][chand1] = X[rhand1 + 1][chand1];
			X[rhand1 + 1][chand1] = z;
			rhand1++;

			z = X[rhand2][chand2];
			X[rhand2][chand2] = X[rhand2 + 1][chand2];
			X[rhand2 + 1][chand2] = z;
			rhand2++;

			z = X[rhead][chead];
			X[rhead][chead] = X[rhead + 1][chead];
			X[rhead + 1][chead] = z;
			rhead++;
			for (int r = 0; r < 24; r++)
			{
				for (int c = 0; c < 80; c++)
				{
					cout << X[r][c];
				}
				cout << endl;
			}
		}
		if (X[rleg1 + 1][cleg1] == '~')
		{
			break;
		}
	}
}

//Move to the left (modify the subtraction to make it go further) + gravity
void MoveLeft(char X[][80], int& rhead, int& chead, int& rhand1, int& chand1, int& rhand2, int& chand2, int& rbody, int& cbody, int& rleg1, int& cleg1, int& rleg2, int& cleg2)
{
	system("cls");
	char z;
	z = X[rhead][chead];
	X[rhead][chead] = X[rhead][chead - 1];
	X[rhead][chead - 1] = z;
	chead--;

	z = X[rhand1][chand1];
	X[rhand1][chand1] = X[rhand1][chand1 - 1];
	X[rhand1][chand1 - 1] = z;
	chand1--;

	z = X[rbody][cbody];
	X[rbody][cbody] = X[rbody][cbody - 1];
	X[rbody][cbody - 1] = z;
	cbody--;

	z = X[rhand2][chand2];
	X[rhand2][chand2] = X[rhand2][chand2 - 1];
	X[rhand2][chand2 - 1] = z;
	chand2--;

	z = X[rleg1][cleg1];
	X[rleg1][cleg1] = X[rleg1][cleg1 - 1];
	X[rleg1][cleg1 - 1] = z;
	cleg1--;

	z = X[rleg2][cleg2];
	X[rleg2][cleg2] = X[rleg2][cleg2 - 1];
	X[rleg2][cleg2 - 1] = z;
	cleg2--;

	for (int i = 0; i < 24; i++)
	{
		for (int c = 0; c < 80; c++)
		{
			cout << X[i][c];
		}
		cout << endl;
	}
	for (; ;)
	{
		if (X[rleg1 + 1][cleg1] != '~')
		{
			system("cls");

			z = X[rleg1][cleg1];
			X[rleg1][cleg1] = X[rleg1 + 1][cleg1];
			X[rleg1 + 1][cleg1] = z;
			rleg1++;

			z = X[rleg2][cleg2];
			X[rleg2][cleg2] = X[rleg2 + 1][cleg2];
			X[rleg2 + 1][cleg2] = z;
			rleg2++;

			z = X[rbody][cbody];
			X[rbody][cbody] = X[rbody + 1][cbody];
			X[rbody + 1][cbody] = z;
			rbody++;

			z = X[rhand1][chand1];
			X[rhand1][chand1] = X[rhand1 + 1][chand1];
			X[rhand1 + 1][chand1] = z;
			rhand1++;

			z = X[rhand2][chand2];
			X[rhand2][chand2] = X[rhand2 + 1][chand2];
			X[rhand2 + 1][chand2] = z;
			rhand2++;

			z = X[rhead][chead];
			X[rhead][chead] = X[rhead + 1][chead];
			X[rhead + 1][chead] = z;
			rhead++;
			for (int r = 0; r < 24; r++)
			{
				for (int c = 0; c < 80; c++)
				{
					cout << X[r][c];
				}
				cout << endl;
			}
		}
		if (X[rleg1 + 1][cleg1] == '~')
		{
			break;
		}
	}
}

//Right Vertical Jump (modify the loop parameter to change the mount of cells to be jumped) + gravity
void JumpRight(char X[][80], int& rhead, int& chead, int& rhand1, int& chand1, int& rhand2, int& chand2, int& rbody, int& cbody, int& rleg1, int& cleg1, int& rleg2, int& cleg2)
{
	char z;
	for (int i = 0; i < 10; i++)
	{
		system("cls");
		z = X[rhead][chead];
		X[rhead][chead] = X[rhead - 1][chead + 1];
		X[rhead - 1][chead + 1] = z;
		rhead--;
		chead++;

		z = X[rhand1][chand1];
		X[rhand1][chand1] = X[rhand1 - 1][chand1 + 1];
		X[rhand1 - 1][chand1 + 1] = z;
		rhand1--;
		chand1++;

		z = X[rhand2][chand2];
		X[rhand2][chand2] = X[rhand2 - 1][chand2 + 1];
		X[rhand2 - 1][chand2 + 1] = z;
		rhand2--;
		chand2++;

		z = X[rbody][cbody];
		X[rbody][cbody] = X[rbody - 1][cbody + 1];
		X[rbody - 1][cbody + 1] = z;
		rbody--;
		cbody++;

		z = X[rleg1][cleg1];
		X[rleg1][cleg1] = X[rleg1 - 1][cleg1 + 1];
		X[rleg1 - 1][cleg1 + 1] = z;
		rleg1--;
		cleg1++;

		z = X[rleg2][cleg2];
		X[rleg2][cleg2] = X[rleg2 - 1][cleg2 + 1];
		X[rleg2 - 1][cleg2 + 1] = z;
		rleg2--;
		cleg2++;

		for (int r = 0; r < 24; r++)
		{
			for (int c = 0; c < 80; c++)
			{
				cout << X[r][c];
			}
			cout << endl;
		}
	}
	for (; ;)
	{
		if (X[rleg1+1][cleg1] != '~')
		{
			system("cls");

			z = X[rleg1][cleg1];
			X[rleg1][cleg1] = X[rleg1 + 1][cleg1];
			X[rleg1 + 1][cleg1] = z;
			rleg1++;

			z = X[rleg2][cleg2];
			X[rleg2][cleg2] = X[rleg2 + 1][cleg2];
			X[rleg2 + 1][cleg2] = z;
			rleg2++;

			z = X[rbody][cbody];
			X[rbody][cbody] = X[rbody + 1][cbody];
			X[rbody + 1][cbody] = z;
			rbody++;

			z = X[rhand1][chand1];
			X[rhand1][chand1] = X[rhand1 + 1][chand1];
			X[rhand1 + 1][chand1] = z;
			rhand1++;

			z = X[rhand2][chand2];
			X[rhand2][chand2] = X[rhand2 + 1][chand2];
			X[rhand2 + 1][chand2] = z;
			rhand2++;

			z = X[rhead][chead];
			X[rhead][chead] = X[rhead + 1][chead];
			X[rhead + 1][chead] = z;
			rhead++;
			for (int r = 0; r < 24; r++)
			{
				for (int c = 0; c < 80; c++)
				{
					cout << X[r][c];
				}
				cout << endl;
			}
		}
		if (X[rleg1 + 1][cleg1] == '~')
		{
			break;
		}
	}
}

////Left Vertical Jump (modify the loop parameter to change the mount of cells to be jumped) + gravity
void JumpLeft(char X[][80], int& rhead, int& chead, int& rhand1, int& chand1, int& rhand2, int& chand2, int& rbody, int& cbody, int& rleg1, int& cleg1, int& rleg2, int& cleg2)
{
	char z;
	for (int i = 0; i < 10; i++)
	{
		system("cls");
		z = X[rhead][chead];
		X[rhead][chead] = X[rhead - 1][chead - 1];
		X[rhead - 1][chead - 1] = z;
		rhead--;
		chead--;

		z = X[rhand1][chand1];
		X[rhand1][chand1] = X[rhand1 - 1][chand1 - 1];
		X[rhand1 - 1][chand1 - 1] = z;
		rhand1--;
		chand1--;

		z = X[rhand2][chand2];
		X[rhand2][chand2] = X[rhand2 - 1][chand2 - 1];
		X[rhand2 - 1][chand2 - 1] = z;
		rhand2--;
		chand2--;

		z = X[rbody][cbody];
		X[rbody][cbody] = X[rbody - 1][cbody - 1];
		X[rbody - 1][cbody - 1] = z;
		rbody--;
		cbody--;

		z = X[rleg1][cleg1];
		X[rleg1][cleg1] = X[rleg1 - 1][cleg1 - 1];
		X[rleg1 - 1][cleg1 - 1] = z;
		rleg1--;
		cleg1--;

		z = X[rleg2][cleg2];
		X[rleg2][cleg2] = X[rleg2 - 1][cleg2 - 1];
		X[rleg2 - 1][cleg2 - 1] = z;
		rleg2--;
		cleg2--;

		for (int r = 0; r < 24; r++)
		{
			for (int c = 0; c < 80; c++)
			{
				cout << X[r][c];
			}
			cout << endl;
		}
	}
	for (; ;)
	{
		if (X[rleg1 + 1][cleg1] != '~')
		{
			system("cls");

			z = X[rleg1][cleg1];
			X[rleg1][cleg1] = X[rleg1 + 1][cleg1];
			X[rleg1 + 1][cleg1] = z;
			rleg1++;

			z = X[rleg2][cleg2];
			X[rleg2][cleg2] = X[rleg2 + 1][cleg2];
			X[rleg2 + 1][cleg2] = z;
			rleg2++;

			z = X[rbody][cbody];
			X[rbody][cbody] = X[rbody + 1][cbody];
			X[rbody + 1][cbody] = z;
			rbody++;

			z = X[rhand1][chand1];
			X[rhand1][chand1] = X[rhand1 + 1][chand1];
			X[rhand1 + 1][chand1] = z;
			rhand1++;

			z = X[rhand2][chand2];
			X[rhand2][chand2] = X[rhand2 + 1][chand2];
			X[rhand2 + 1][chand2] = z;
			rhand2++;

			z = X[rhead][chead];
			X[rhead][chead] = X[rhead + 1][chead];
			X[rhead + 1][chead] = z;
			rhead++;
			for (int r = 0; r < 24; r++)
			{
				for (int c = 0; c < 80; c++)
				{
					cout << X[r][c];
				}
				cout << endl;
			}
		}
		if (X[rleg1 + 1][cleg1] == '~')
		{
			break;
		}
	}
}
//void main
void main()
{
	char X[24][80];
	for (int i = 0; i < 24; i++)
	{
		for (int j = 0; j < 80; j++)
		{
			X[i][j] = ' ';
		}
	}
	
	int rhead, chead, rhand1, chand1, rhand2, chand2, rbody, cbody, rleg1, cleg1, rleg2, cleg2;
	rhead = 20;
	chead = 6;
	rhand1 = 21;
	chand1 = 5;
	rhand2 = 21;
	chand2 = 7;
	rbody = 21;
	cbody = 6;
	rleg1 = 22;
	cleg1 = 5;
	rleg2 = 22;
	cleg2 = 7;
	X[rhead][chead] = 'O';
	X[rhand1][chand1] = '/';
	X[rhand2][chand2] = 92;
	X[rbody][cbody] = 179;
	X[rleg1][cleg1] = '/';
	X[rleg2][cleg2] = 92;

	int r = 23, c = 0;
	for (c = 0; c < 80; c++)
	{
		X[r][c] = '~';
	}
	int rplatform = 20, cplatform = 10;
	
	for (int i = 0; i < 10; i++)
	{
		X[rplatform][cplatform] = '~';
		cplatform++;
	}

	for (int i = 0; i < 24; i++)
	{
		for (int j = 0; j < 80; j++)
		{
			cout << X[i][j];
		}
		cout << endl;
	}
	for (; ;)
	{
		char input;
		cout << "enter the input" << endl;
		cin >> input;
		if (input == 'j')
		{
			JumpRight(X, rhead, chead, rhand1, chand1, rhand2, chand2, rbody, cbody, rleg1, cleg1, rleg2, cleg2);

		}

		if (input == 'd')
		{
			MoveRight(X, rhead, chead, rhand1, chand1, rhand2, chand2, rbody, cbody, rleg1, cleg1, rleg2, cleg2);
		}

		if (input == 'a')
		{
			MoveLeft(X, rhead, chead, rhand1, chand1, rhand2, chand2, rbody, cbody, rleg1, cleg1, rleg2, cleg2);
		}

		if (input == 'k')
		{
			JumpLeft(X, rhead, chead, rhand1, chand1, rhand2, chand2, rbody, cbody, rleg1, cleg1, rleg2, cleg2);

		}
	}
}
Editor is loading...
Leave a Comment