Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2023, 10:38   #1
_*ViLkA*_
Пользователь
 
Регистрация: 19.03.2023
Сообщений: 10
По умолчанию Скорость движения с++

Как для консольной змейки задать скорость движения?

Если нужно,то движение обрабатывается вот таким способом.

Задал две переменные(не знаю правильно или нет)

Код:
time_t tm; // переменная для времени
int speed; // скорость змейки
А что с этим дальше делать?

Код:
void snakeMove() // метод для движения змейки по экрану
	{

		if (_kbhit()) // в буффере проверяем нажата ли клавиша 
		{
			switch (_getch()) // ожидание нажатия клавиши
			{
			case 75: {direction = LEFT; break; } // движение влево

			case 77: {direction = RIGHT; break; } // движение вправо

			case 72: {direction = UP; break; } // движение вверх

			case 80: {direction = DOWN; break; } // движение вниз

			case 27: {direction = ESC; break; } // выход из игры

			case 32: {direction = SPACE; break; } // пауза во время игры
			}
		}

		switch (direction) // обработка нажатой клавиши
		{
		case LEFT: {x--; break; }

		case RIGHT: {x++; break; }

		case UP: {y--; break; }

		case DOWN: {y++; break; }

		case ESC: {gameOver = true; break; }

		case SPACE: {_getch(); break; }
		}
	}
_*ViLkA*_ вне форума Ответить с цитированием
Старый 06.05.2023, 11:24   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Получайте значение времени и проверяйте разницу времени прошедшую с предыдущего хода

ADD: Если времени прошло меньше, чем должно пройти между ходами, тогда просто выходите из цикла
Если времени прошло достаточно, тогда выполняйте ход и обновляйте значение в переменной tm, чтобы продолжить фиксировать время прошедшее с момента выполнения этого хода

Последний раз редактировалось macomics; 06.05.2023 в 11:36.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить скорость движения курсора мыши? Катя93 Общие вопросы Delphi 7 19.04.2022 13:22
скорость движения с зонтиком и без зонтика dimon_snake Паскаль, Turbo Pascal, PascalABC.NET 12 08.01.2017 22:28
Дано скорость лодки, скорость течения реки, время движения, определить путь S, пройденный лодкой (на Delphi) zhora-011 Помощь студентам 1 06.09.2013 22:05
Как улеличивать скорость движения во время движия Нур Помощь студентам 9 23.12.2009 13:00
Скорость движения обьекта shepelin Общие вопросы Delphi 9 23.01.2008 11:51