@Alex_Kolyhov

Как сделать параллельное выполнение C++?

Мне надо, что бы 2 переменные (x++, y++) добавляли к себе 1 одновременно
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
twobomb
@twobomb
Добавить direction и для второго игрока, чтобы у каждого свой был. Можно было даже enum разделить.
Чтобы получилось
eDirection dir,dir2;

void Input()
{
	if (_kbhit())
	{
		switch (_getch())
		{
		case 'a':
			dir = LEFT;
			break;
		case 'w':
			dir = UP;
			break;
		case 'd':
			dir = RIGHT;
			break;
		case 's':
			dir = DOWN;
			break;

		case 'x':
			GameOver = true;
			break;

		case 'k':
			dir2 = LEFT_2;
			break;
		case 'o':
			dir2 = UP_2;
			break;
		case ';':
			dir2 = RIGHT_2;
			break;
		case 'l':
			dir2 = DOWN_2;
			break;
		}
	}
}
//....Logic


	switch (dir2)
	{
	case LEFT_2:
		x_2--;
		break;
	case RIGHT_2:
		x_2++;
		break;
	case UP_2:
		y_2--;
		break;
	case DOWN_2:
		y_2++;
		break;
	}
	// управление 2

P.S. Потому-что ты в input перезаписываешь прошлое нажатие, а в logic для управление оно просто не подходит не для одного енума из первого свича если последний нажал второй игрок и из второго свича если последний нажал первый игрок
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
31 мая 2020, в 14:11
1000 руб./за проект
31 мая 2020, в 13:31
50000 руб./за проект
31 мая 2020, в 13:31
7000 руб./за проект