Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

20.09.2012, 02:12. Просмотров 438. Ответов 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");
            }
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 02:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решил попробовать написать небольшую консольную игрушку (C++):

Написать консольную программу - C++
Народ помогите плз :) Напишите консольную программу которая считывает с консоли целое число , затем - цифру и определяет, сколько раз эта...

Написать консольную программу , выполняющую следующие действия - C++
Здравствуйте , добрые люди , не поможете ли вы мне хотя бы с парой пунктов из этого списка ? :3 п.5.18 Запрещено размещать задания в виде...

захотел написать консольную программку для пингования - C++
не так давно начал изучать С++. вот захотел написать консольную программку для пингования. ну все бы ничего да и тут лажа. ...

Нужно написать небольшую програмку на С++ - C++
Привет! Помогите написать прогрумму небольшую на С++. Мне очень нужно для ООП. Заранее спасибо =)

Как написать консольную программу Шашки с применением ООП? - C++
Задали написать шашки на С++, с применением ООП для консоли. Помогите пожалуйста какие классы создавать (какие в них должны быть методы)....

Написать консольную программу на языке С/C++ с использованием операторов цикла while или do while - C++
Задание написать консольную программу на языке С/C++ с использованием операторов цикла while или do..while. Строковый тип для...

3
castaway
Эксперт С++
4915 / 3023 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
20.09.2012, 02:21 #2
Твой код звучит как болгарский сладкий перец азиш. Ни хрена не понятно, тошно, но выглядит красиво...
1
DU
1484 / 1130 / 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; ставить.
1
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
30.04.2015, 02:40  [ТС] #4
Пробегался по старым тредам.
Ваш комментарий сделал мой вечер
Цитата Сообщение от castaway Посмотреть сообщение
Твой код звучит как болгарский сладкий перец азиш. Ни хрена не понятно, тошно, но выглядит красиво...
Прошло 3 года, я учусь на системного программиста, а мой код все так же похож на Азиша
Спасибо за точную характеристику
0
30.04.2015, 02:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2015, 02:40
Привет! Вот еще темы с ответами:

Написать консольную программку, которая из текстового документа добавляет данные в базу данных - C++
Нужно написать консольную программку, которая из текстового документа добавляет данные в базу данных, и проверяет есть ли уже в базе такой...

Нужно написать консольную программу для нахождения значения F в заданном промежутке с шагом 0,5 - C++
Здравствуйте, уважаемые программисты! Прошу у Вас помощи, помогите пожалуйста! Нужно написать консольную программу для нахождения...

Написать небольшую прогу, которая понимает изменился ли бинарный файл или нет - C++
Мне нужно написать небольшую прогу, которая понимает изменился ли бинарный файл или нет. #include &lt;windows.h&gt; #include &lt;string&gt; ...

Написать небольшую программку с мелкими функциями удаленного контроля другого компьютера по LAN или Wi-Fi - C++
Есть идея написать небольшую программку с мелкими функциями удаленного контроля другого компьютера по LAN или Wi-Fi. Какие знания и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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