Форум программистов, компьютерный форум CyberForum.ru

Sleep - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
15.12.2010, 20:51     Sleep #1
Пишу пакмэна , нужно что бы пакмен бегал быстрее чем приведение как это сделать??

пробовал написать так но работает все с одной скоростью

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
while(!kbhit() )
{
if(Pause==true)
{
Sleep(1); 
continue;
}
Sleep(100);
Move(g,head,next,k,raund,count,b,end); // пакмэн
Sleep(150);
MoveGolovastik(g,k,b,raund,head1,next1,head,next,f,konec);// приведение
        
 
 
if(head1.X == head.X && head1.Y == head.Y)
{  system("cls"); 
    GotoXY(20,10);cout << "Вы проиграли (" ;
    konec=true;
    break;
}
if (count == end[raund] || key == 27 || konec == true)
{ 
system("cls"); 
break;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 20:51     Sleep
Посмотрите здесь:

Функция sleep() C++
C++ sleep в с++
Sleep, delay C++
C++ функция sleep()
аналог Sleep C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
16.12.2010, 00:21     Sleep #2
Я бы делал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
...
int p_pack=100;
int p_golov=150;
int c=0;
Sleep(p_pack);
Move(g,head,next,k,raund,count,b,end); // пакмэн
c+=p_pack;
if (c>=p_golov)
{
MoveGolovastik(g,k,b,raund,head1,next1,head,next,f,konec);// приведение
p-=p_golov;
}
...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.12.2010, 00:58     Sleep #3
//Александр, насколько я себе подобные задачи представляю, у каждого из движущихся объектов есть некие координаты x y и величины приращения dx dy на которые изменяются координаты при движении. Так вот, если пакмену эти самые dx dy задавать больше, чем у приведения - он и будет быстрее бегать...
//Александр
 Аватар для //Александр
6 / 6 / 0
Регистрация: 15.04.2010
Сообщений: 151
16.12.2010, 01:09  [ТС]     Sleep #4
easybudda, Да, но тогда приведение скорее всего будет ходить сквозь стены и и не всегда попадать в поворот
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.12.2010, 12:30     Sleep #5
Цитата Сообщение от //Александр Посмотреть сообщение
Да, но тогда приведение скорее всего будет ходить сквозь стены и и не всегда попадать в поворот
Это смотря, как делать. Задавайте координаты объектов и препятствий вещественными числами, для упрощения у препятствий координаты с нулевой дробной частью делайте, и не будет таких накладок (ну не должно бы быть)...

Добавлено через 11 часов 13 минут
//Александр, я, кстати, ещё хитрый способ придумал: если объекты при каждой итерации перемещаются на минимальное расстояние (1 px), при этом первый объект пропускает к примеру каждый пятый ход, а второй - каждый седьмой ход (числа, видимо, подбирать прийдётся), тогда и особо заметно не должно быть и второй двигаться будет чуть быстрее...
Yandex
Объявления
16.12.2010, 12:30     Sleep
Ответ Создать тему
Опции темы

Текущее время: 17:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru