Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Notea
0 / 0 / 0
Регистрация: 15.09.2014
Сообщений: 18
1

Рогалик новичка

28.11.2014, 15:19. Просмотров 437. Ответов 2
Метки нет (Все метки)

Добрый вечер. Я вот тут начал делать недо-рогалик. И вроде пока все хорошо, но дело в том что я хочу разложить все по полочкам, то бишь разбить этот код на осмысленные функции. Помогите пожалуйста, ибо когда я пытаюсь перенести отрисовку стенки в отдельную функции компилятор ругается, что неизвестная переменная, еще бы хотелось чтобы 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
62
63
64
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
 
int main(){
 
    bool game = true;
 
    char code;
 
    COORD position;
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    position.X = 10;
    position.Y = 10;
 
    COORD wall;
    wall.X = 15;
    wall.Y = 15;
 
    int x=10,y=10;
 
    SetConsoleCursorPosition(hConsole, position);
    cout << "@";
 
  while(game){
 
/* вот собственно то, что я хочу вынести в отдельную функцию, но как я говорил, компилятор ругается на неизвестную переменную wall, вот что нужно сделать?*/
 
    SetConsoleCursorPosition(hConsole, wall);  // <-- вот это
    cout << "#";
 
  switch(code=getch()){
   case 72:
  position.X=x;
  position.Y=y-=1;
  system("cls");
  SetConsoleCursorPosition(hConsole, position);
  cout<<"@";
  break;
   case 80:
  position.X=x;
  position.Y=y+=1;
  system("cls");
  SetConsoleCursorPosition(hConsole, position);
  cout<<"@";
  break;
   case 75:
  position.X=x-=1;
  position.Y=y;
  system("cls");
  SetConsoleCursorPosition(hConsole, position);
  cout<<"@";
    break;
   case 77:
  position.X=x+=1;
  position.Y=y;
  system("cls");
  SetConsoleCursorPosition(hConsole, position);
  cout<<"@";
 
    }
}
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2014, 15:19
Ответы с готовыми решениями:

Пишем рогалик: пояснения по коду и его критика
Здравствуйте! Сегодня сел писать рогалик, в процесе возникло несколько вопросов (в виде коментариев...

C++ для новичка-не новичка
Знал с++, забросил - теперь опять. Но есть проблема что я знал с++ для дос, а мне нужен си для...

Вопросы от новичка по C++
1)В С++ можно делить с остатком только вещественные числа? К примеру: int a,b; float c; Если 5...

Вопрос новичка
Вот есть у меня исходики программы. как мне текст преобразовать в формы, т.е. без компилирования...

Вопросы от новичка.
Всем доброго времени суток, уважаемые форумчане. Мне 12 лет. Собираюсь серьезно изучать C++. Пока...

2
ArtJoker
6 / 5 / 1
Регистрация: 10.01.2019
Сообщений: 29
11.01.2019, 23:10 2
Цитата Сообщение от Notea Посмотреть сообщение
компилятор ругается, что неизвестная переменная
Так ещё бы. wall - это название объекта, а его тип, как я понял, COORD, его и нужно писать в том куске на который ругается компилятор вместо wall.
0
ArtJoker
6 / 5 / 1
Регистрация: 10.01.2019
Сообщений: 29
15.01.2019, 03:07 3
То же самое и с hconsole, его тип - HANDLE и писать надо именно тип.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2019, 03:07

вопросы новичка
)Значение литерала 7.0Е-3 2)Логическая ошибка (ошибка реализации алгоритма) Выберите по крайней...

ВОПРОС НОВИЧКА
Просьба скорректировать мой мозг... Visual c++ и просто с++ это же разные языки? и если да, то как...

Видеокурсы для новичка
Всем Привет, Подскажите пожалуйста актуальные видеокурсы(именно видуокурсы) по C++,


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

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

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