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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2012, 16:33   #1
Sektr63
Пользователь
 
Регистрация: 29.01.2012
Сообщений: 33
Печаль Управление стрелками

Пишу консольную игрушку Не могу понять, как правильно реализовать шаг назад ( стрелка влево ) в функции keybord.
Когда жму влево, выходит какая-то абракатабра.

Код:
#include <iostream>
#include <conio.h>
using namespace std;

class LevelLand {            
      public:
             char line[24][80];
             char print ();
             char create ();
             char keybord ();
} LAND;

char LevelLand :: create () 
{
     int i,j;
     for(i=0; i<20; i++)
         {
         for(j=0; j<80; j++)
             line[i][j]=' ';
         j++;
         line[i][j]='\0';
         }
         
     for(i=21; i<25; i++)
         for(j=0; j<80; j++)
         {
             line[20][j]='_';
             
             line[i][j]='-';
             line[i][80]='\0';                        
          }    
}

char LevelLand :: print ()  
{
     int i,j;
     for(i=0; i<=24; i++)
         {
         for(j=0; j<=79; j++)
             cout<<line[i][j];
         }
                 
             
}
char LevelLand :: keybord ()
{
     int j;
     for(int i=0;i<71;i++)
         {
             getch();
             system("cls");
               
             switch(getch())
             {
                                                 
             case 75:  // влево
             for(j=0;j<i;j++){
             LAND.line[20][i]='_';                            
             i--;
             }
             
             LAND.line[20][i-1]='!';
             LAND.line[20][i]='_';
             
             break;
               
             case 77: 
             LAND.line[20][i]='!';
             break;
             
             default:       
             i--;
             break;
             
             }
              
             LAND.print();
             LAND.line[20][i]='_';
         }
}

int main()
{
     int k;
     system("color E"); 
     LAND.create();
     for(k=15;k<20;k++)
         LAND.line[k][70]='|';
     LAND.line[15][71]='>';
     LAND.print();
     LAND.keybord();
     
     cout<<"Congratulations!"<<endl;        
     system("pause");
}
Sektr63 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Карусель со стрелками перелистывания текста Ko$ HTML и CSS 2 30.11.2011 20:15
stringgrid-перемещать выделенную ячейку стрелками курсора lblondy Компоненты Delphi 3 09.06.2011 02:20
Движение обычного круга по осям стрелками клавиатуры. mitmikha Паскаль, Turbo Pascal, PascalABC.NET 2 18.04.2011 08:39
клавиши со стрелками в Windows Forms senator2202 Общие вопросы C/C++ 0 19.03.2010 10:07
Управление кнопками со стрелками eks-s Общие вопросы Delphi 6 19.01.2008 02:23