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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 23:13   #1
VmanMaslov
Форумчанин
 
Аватар для VmanMaslov
 
Регистрация: 12.06.2011
Сообщений: 115
Печаль Проблемка с клавишами

Доброго времени суток! Такая проблема: написал небольшую прогу, с проверкой клавиш ф-цией getch()... Так вот у меня все прекрасно работает, а на других компах нет... Видимо разные коды клавиш... Так вот как узнать общие коды что-ли или как вообще быть? Подскажите нубу плиз))
Men do it in ASCII!
VmanMaslov вне форума Ответить с цитированием
Старый 03.10.2011, 23:53   #2
Жека_
Пользователь
 
Регистрация: 24.04.2011
Сообщений: 24
По умолчанию

коды клавиш на всех компах одни. Проблемы наверное в компиляторе
Жека_ вне форума Ответить с цитированием
Старый 03.10.2011, 23:59   #3
VmanMaslov
Форумчанин
 
Аватар для VmanMaslov
 
Регистрация: 12.06.2011
Сообщений: 115
По умолчанию

хмм... компилирую Dev-C++, вроде норм. Вобщем вот код:
Код:
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
char map[30][30] = {"+--------------------------+",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "|                          |",
                    "+--------------------------+"};
int main() {
    SetConsoleTitle("Console Painter! by VmanMaslov");
    char chare = ' ';
    int char_num;
    char Key;
    int x=1;
    int y=1;
    int col, row;
    map[y][x] = '+';
    while (Key != 27) {
        system("cls");
        map[y][x] = '+';
        for(row = 0; row <= 20; row++) {
            for (col = 0; col <= 27; col++)
                cout << map[row][col];
            cout << endl;
        }
        cout << "The char is: " << chare << endl;
        cout << "WASD to move, ARROWS to erace, E to enter char, Q to enter char number,\nSPACE to draw char on map, ESC to exit. Enjoy =P\n";
        Key = getch();
        switch(Key) {
            case 32: // ------------------------space
                map[y][x] = chare;
                y = 1;
                x = 1; 
                break;
            case 169:
                cout << "Enter char number: ";
                cin >> char_num; 
                chare = (char) char_num;
                break; 
            case 227: // ------------------------e
                cout << "Input char:";
                cin >> chare;
                break;
            case 162: // ====================================MOVES
                if(map[y][x+1]!= ' ') break;
                map[y][x]=' ';
                x += 1;
                map[y][x] = '+';
                break;
            case 228:
                if(map[y][x-1]!= ' ') break;
                map[y][x]=' ';
                x -= 1;
                map[y][x] = '+';
                break;
            case 230:
                if(map[y-1][x]!= ' ') break;
                map[y][x]=' ';
                y -= 1;
                map[y][x]='+';
                break;
            case 235:
                if(map[y+1][x]!= ' ') break;
                map[y][x]=' ';
                y += 1;
                map[y][x] = '+';
                break;
            case 80: // =======================================DELS
                map[y+1][x] = ' ';
                break;
            case 72:
                map[y-1][x] = ' ';
                break;
            case 75:
                map[y][x-1] = ' '; 
                break;
            case 77:
                map[y][x+1] = ' ';
                break; 
        }
    }
    system("CLS");
    cout << "Bye! =)"; Sleep(2000);
    return 0;
}
Men do it in ASCII!
VmanMaslov вне форума Ответить с цитированием
Старый 04.10.2011, 15:57   #4
VmanMaslov
Форумчанин
 
Аватар для VmanMaslov
 
Регистрация: 12.06.2011
Сообщений: 115
По умолчанию

Вопрос отпал, все дело было в роскладке)) Сори за неудобства)
Men do it in ASCII!
VmanMaslov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправте ошибку с клавишами quarty Общие вопросы Delphi 7 21.01.2011 02:54
Проблема с горячими клавишами Marsik Общие вопросы Delphi 10 26.02.2010 17:21
перемещение компанента клавишами include Общие вопросы Delphi 11 13.08.2009 12:43
Движение обьекта клавишами в с++ Grizzzli Помощь студентам 2 05.04.2009 12:43
Перемещение кнопки клавишами Wolfic Помощь студентам 15 16.10.2007 17:41