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

Медленная реакция программы на нажатие клавиши в игре - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как преобразовать LPCWSTR в char*? http://www.cyberforum.ru/cpp-beginners/thread1131318.html
Здравствуйте! Как преобразовать LPCWSTR в char*?
C++ При переворачивании массивов выходят такие цифры: "-858993469". Как с этим бороться? постоянно сталкиваюсь с такой проблемой: при переворачивании массивов выходят такие цифры: вот код: #include <stdio.h> #include <conio.h> #include <iostream> #include <iomanip> using namespace std; int main(void) http://www.cyberforum.ru/cpp-beginners/thread1131316.html
C++ Найти объем пирамиды, построенной на векторах как на сторонах
Трехмерные векторы заданы своими координатами, например, А = (ха, уа, za). Найти объем пирамиды, построенной на векторах А, В, С, как на сторонах.
Для каждого позитивного элемента определить, есть ли в массиве отрицательный элемент с противоположным значениям C++
Все детали задачи на фото Задачи перепечатываем в тему!
C++ Вычислить сумму элементов матрицы, образующих символ http://www.cyberforum.ru/cpp-beginners/thread1131279.html
Помогите, пожалуйста, с выполнением задания... 1)Задана матрица чисел: а Вычислить сумму элементов, образующих символ 2)Вычислить: x1,x2,.....xn заданы
C++ Обработка и сортировка графических файлов Создать программу для обработки и сортировки графических файлов_) Может есть какие мысли?? подробнее

Показать сообщение отдельно
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
27.03.2014, 16:12     Медленная реакция программы на нажатие клавиши в игре
Здравствуйте! В общем пишу небольшую игру где надо перемещаться по горизонтали главным героем. Игра предполагает быстрое перемещение туда-сюда этим главным героем и есть проблема. Если начать идти вправо и резко изменить направление движения влево, то будет задержка (довольно таки долгая). Использую kbhit() и getch(), выкладываю упрощенный код, подскажите пожалуйста что делать. На всякий случай выкладываю graphics.h, файл main.cpp и player.h (класс главного героя) в зипе. Ну и картинку для разнообразия.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//player.h
#ifndef PLAYER_H
#define PLAYER_H
 
class Player
{
    public:
        Player();
        
        static const int halfWidth = 20;
        static const int headRadius = 20;
        static const int bodyLength = 50;
        static const int y = bodyLength + headRadius;
        static const int speed = 5;
        
        void moveLeft();
        void moveRight();
        
        void draw();
        
    private:
        int x;          //coordinates of the head of the player
};
 
Player::Player():
    x(400)
{    
    ;
}
 
void Player::moveLeft()
{
    x -= speed;
    if (x < 20+halfWidth)
        x = 20+halfWidth;
}
 
void Player::moveRight()
{
    x += speed;
    if (x > 780-halfWidth)
        x = 780-halfWidth;
}
 
void Player::draw()
{
    rectangle(x-halfWidth, 580-bodyLength, x+halfWidth, 580);
    circle(x, 580-y, headRadius);
}
 
#endif
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
27
28
29
30
31
#include <graphics.h>
 
#include "player.h"
 
using namespace std;
 
int main()
{
    char ch = 0;
    
    initwindow(800, 600);
    
    Player player;
    
    while(true)
    {
        if (kbhit())
        {
            ch = getch();
            if (ch == 'a')
                player.moveLeft();
            if (ch == 'd')
                player.moveRight();
            player.draw();
        }
        cleardevice();
        player.draw();
        Sleep(1);   //это на реакцию не влияет точно
    }
    return EXIT_SUCCESS;
}
Спасибо!
Миниатюры
Медленная реакция программы на нажатие клавиши в игре  
Вложения
Тип файла: zip game.zip (4.9 Кб, 2 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru