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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
#1

Решил попробовать написать небольшую консольную игрушку - C++

20.09.2012, 02:12. Просмотров 419. Ответов 3
Метки нет (Все метки)

Доброго времени суток!
Коротаю время, решил попробовать написать игрушку. Нуу.. просто попробовать.
уже на начальной стадии столкнулся с проблемой. Никак не могу понять в чем дело. все время по непонятной причине обьект при движении вверх смещается ВПРАВО и вверх, причем что странно: через некоторое время он перестает так делать, но при нажатии какой либо другой клавиши кроме ВВЕРХ начинается снова, причем количество смещений ровно по количеству нажатий других клавишь. Проблему так и не выявил, пошаговый прогон результата не дал, только показал что по мистической причине компилятор магическим образом пропускает запрос на нажатие клавиши переходя сразу к switch, мистическим образом выбирая все время именно вправо, не менее магически потом переставая это делать. в общем ничего не понимаю...
Может кто то разберется?
Вот код:
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
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
 
     
int main()
{
    
    string xsymbol(" ");
    string ysymbol("\n");
    int posx=35, posxo=40;
    int posy=15, posyo=17;
    char symbol = _getch();
    char lr=0;
    int whats;
     while(1){
            for(int i=0;i<=posy;i++)
                 cout<<endl;
            for(int i=0;i<=posx;i++)
                 cout<<xsymbol;
            cout<<":)";
            
                           
               symbol = _getch();
              
               
               
               switch( symbol ) 
               {
               case 80:
                //"Г‚Г*ГЁГ§";
                posy=8;
                
               case 72:
                //"Ââåðõ";
                posy--;
                
               case 77:
                //"ÂïðГ*ГўГ®";
                posx++;
                break;
               case 75:
                //"Âëåâî";
                posx--;
                break;
                
               default: 
                break;
                
          }
            symbol=0;
            if(posx<25) posx++;
            if(posx>45) posx--;
            if(posy<1) posy++;
            if(posy>30) posy--;
            
            Sleep(20);
            system("cls");
            }
            }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 02:12     Решил попробовать написать небольшую консольную игрушку
Посмотрите здесь:

C++ Написать консольную программу
C++ Нужно написать небольшую програмку на С++
захотел написать консольную программку для пингования C++
C++ Написать консольную программу , выполняющую следующие действия
C++ Написать небольшую программку с мелкими функциями удаленного контроля другого компьютера по LAN или Wi-Fi
C++ Написать небольшую прогу, которая понимает изменился ли бинарный файл или нет
C++ Решил написать текстовый редактор. Что можно почитать?
Хочу попробовать сделать свою регистрацию C++
Написать консольную программу на языке С/C++ с использованием операторов цикла while или do while C++
Нужно написать консольную программу для нахождения значения F в заданном промежутке с шагом 0,5 C++
C++ Как написать консольную программу Шашки с применением ООП?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4876 / 3015 / 370
Регистрация: 10.11.2010
Сообщений: 11,075
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 02:21     Решил попробовать написать небольшую консольную игрушку #2
Твой код звучит как болгарский сладкий перец азиш. Ни хрена не понятно, тошно, но выглядит красиво...
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
20.09.2012, 02:26     Решил попробовать написать небольшую консольную игрушку #3
брейки пропущены
C++
1
2
3
4
5
6
7
8
9
               case 72:
                //"Вверх";
                posy--;
                break; // вот тут нужен брейк. и в кейсе с нажатием вниз тоже.
                
               case 77:
                //"Вправо";
                posx++;
                break;
при нажатии вверх происходит смещение y позиции вверх и сразу же смещение вправо. в конце каждого кейса нужно break; ставить.
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
30.04.2015, 02:40  [ТС]     Решил попробовать написать небольшую консольную игрушку #4
Пробегался по старым тредам.
Ваш комментарий сделал мой вечер
Цитата Сообщение от castaway Посмотреть сообщение
Твой код звучит как болгарский сладкий перец азиш. Ни хрена не понятно, тошно, но выглядит красиво...
Прошло 3 года, я учусь на системного программиста, а мой код все так же похож на Азиша
Спасибо за точную характеристику
Yandex
Объявления
30.04.2015, 02:40     Решил попробовать написать небольшую консольную игрушку
Ответ Создать тему
Опции темы

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