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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, принадлежит ли данная точка треугольнику http://www.cyberforum.ru/cpp-beginners/thread654777.html
Определить, принадлежит ли данная точка треугольнику, образованному осями координат и прямой a_1 x + b_1 y + c_1 = 0. Сделать графическую иллюстрацию хода решения задачи.
C++ Списки и функции вообщем программа создает и выводит список из n элементов, n объявляем с клавиатуры. Список генерирует из произвольных элементов, из интервала от a до b, которые мы тоже вводим с клавиатуры. Дальше нужно написать через функции добавление элемента в начало, конец, после i-ого элемента, и до i-ого. Добавление в начало у меня удалось помогите с остальными. выводиться все должно через case, то... http://www.cyberforum.ru/cpp-beginners/thread654773.html
как подключить assembler в С++ (Visual Studio 2010) C++
Как подключить assembler в С++ (Visual Studio 2010) Возможно нужны какие-то библиотеки подскажите пожалуйста
C++ чтение из памяти
господа допустим есть - int a=5; мне нужно получить адрес переменной "а" и из адреса получить значение т.е. - 5 . Как возможно это осуществить .
C++ Вызов функций. Зона видимости http://www.cyberforum.ru/cpp-beginners/thread654765.html
Есть несколько функций. К примеру: void menu() {...opt1(); opt2()} void opt1() {... menu();} void opt2() {... menu();} void main() {... menu();} Знаю, что не сработает, но как реализовать такую организацию функций. Т.е. есть menu, которая вызывает некоторые функции opt, а эти же функции в конце выполнения вызывают menu?
C++ Объяснить, какие действия выполняет данный фрагмент программы Объяснить, какие действия выполняет данный фрагмент программы. Если есть ошибки, исправить их и объяснить исправления. Если кого не задруднит очень надо class Anketa { char *fam; char *name; public: Anketa (); ~ Anketa ( char *str); char *getfam () { return fam }; char *getname() { return name; } }; подробнее

Показать сообщение отдельно
mersinvald
1 / 1 / 0
Регистрация: 25.08.2012
Сообщений: 47
20.09.2012, 02:12     Решил попробовать написать небольшую консольную игрушку
Доброго времени суток!
Коротаю время, решил попробовать написать игрушку. Нуу.. просто попробовать.
уже на начальной стадии столкнулся с проблемой. Никак не могу понять в чем дело. все время по непонятной причине обьект при движении вверх смещается ВПРАВО и вверх, причем что странно: через некоторое время он перестает так делать, но при нажатии какой либо другой клавиши кроме ВВЕРХ начинается снова, причем количество смещений ровно по количеству нажатий других клавишь. Проблему так и не выявил, пошаговый прогон результата не дал, только показал что по мистической причине компилятор магическим образом пропускает запрос на нажатие клавиши переходя сразу к 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");
            }
            }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru