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

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

Войти
Регистрация
Восстановить пароль
 
mraZzzb
22 / 22 / 0
Регистрация: 06.04.2014
Сообщений: 175
#1

Игра Лабиринт - C++

22.11.2014, 22:52. Просмотров 923. Ответов 1
Метки нет (Все метки)

В лабиринте средством перемещения так сказать "персонажа" являются стрелки.Помогите пожалуйста сделать так чтобы стена была стеной собственно и после какого-либо хода, за "персонажем" не появлялась стена..
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
//---------------------------------------------------------------------------
 
#pragma argsused
char str[1000];
using namespace std;
void gameOver()
{
system("cls");
CharToOem ("Стена",str);
cout<<str<<endl;
system("pause");
Sleep(1000);
} void gameVictory()
{
system("cls");
CharToOem ("Конец",str);
cout<<str<<endl;
system("pause");
} int dataManagement(int management, int stopGame)
{
if(management == 1)
{
  gameOver();
  stopGame = 1;
}
if(management == 3)
{
  gameVictory();
  stopGame = 1;
}
management = 2;
return management,stopGame;
}
int main()
 
{
// 1 - стенки лабиринта
// 0 - путь
    int mas[24][24] = { {1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
                        {1,0,1,0,0,1,0,1,0,0,0,1,1,1,1,0,0,0,0,1,},
                        {1,0,1,1,0,1,0,1,0,1,0,0,0,0,1,0,1,1,0,1,},
                        {1,0,0,0,0,0,0,1,0,1,1,1,1,0,1,0,0,1,0,1,},
                        {1,1,1,1,1,1,0,1,0,1,0,0,1,0,1,1,0,1,0,1,},
                        {1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,1,},
                        {1,0,1,1,0,1,1,1,1,1,0,0,1,0,1,1,1,1,0,1,},
                        {1,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,},
                        {1,1,1,1,1,1,0,1,1,1,0,0,0,0,1,0,1,1,1,1,},
                        {1,1,0,0,0,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,},
                        {1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,},
                        {1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,0,0,0,0,1,},
                        {1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,1,},
                        {1,0,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,0,0,1,},
                        {1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,1,},
                        {1,0,1,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,},
                        {1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,1,1,},
                        {1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,1,},
                        {1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,0,1,0,1,},
                        {1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,},
                        {1,0,1,0,1,0,0,0,1,0,1,1,1,1,1,1,0,1,0,1,},
                        {1,0,1,0,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,1,},
                        {1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,1,0,1,},
                        {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,} };
unsigned short keysArrow; int s1 = 0;
int s2 = 1;
int stopGame(0);
mas[s1][s2] = 2; do
{
  system("cls");
  for (int i = 0; i < 24; i++) //переключение по строкам
  {
   for (int j = 0; j < 20; j++)// переключение по столбцам
   {
    if (mas[i][j] == 1)
    {
     // вывести два раза символ (номер которого 176 в таблице аски) в консоль
     cout << static_cast<char>(176);
     cout << static_cast<char>(176);
    }
    if (mas[i][j] == 0 || mas[i][j] == 3)
    {
      cout << "  ";
    }
    if (mas[i][j] == 2)
    {
      cout << static_cast<char>(182);
      cout << static_cast<char>(182);
    }
   }
   cout << endl;
  }
  keysArrow = getch();
  if(keysArrow == 0)
  keysArrow = getch();
 
  if(keysArrow == 72 || keysArrow == 150 || keysArrow == 230)
  {
   // Вверх
   mas[s1][s2] = 1;
   s1--;
   dataManagement(mas[s1][s2],stopGame);
   mas[s1][s2] = 2;
  }
 
  if(keysArrow == 80 || keysArrow == 155 || keysArrow == 235)
  {
   // Вниз
   mas[s1][s2] = 1;
   s1++;
   dataManagement(mas[s1][s2],stopGame);
   mas[s1][s2] = 2;
  }
  if(keysArrow == 77 || keysArrow == 130 || keysArrow == 262)
  {
   // Вправо
   mas[s1][s2] = 1;
   s2++;
   dataManagement(mas[s1][s2],stopGame);
   mas[s1][s2] = 2;
  }
  if(keysArrow == 75 || keysArrow == 148 || keysArrow == 235)
  {
   // Влево
   mas[s1][s2] = 1;
   s2--;
   dataManagement(mas[s1][s2],stopGame);
   mas[s1][s2] = 2;
  }
} while(true);
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2014, 22:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра Лабиринт (C++):

Игра Лабиринт - C++
Пишу простейшую игру лабиринт.Поле загружаю из файла, курсор двигаю клавишами через SetConsoleCursorPosition, как сделать ограничение на...

игра-ЛАБИРИНТ! - C++
Нужно написать игрушку-лабиринт, очень простую на С++! Она должна иметь несколько уровней (разных лабиринтов). Передвигается персонаж...

игра лабиринт - C++
Есть код игры Смайлик движется по лабиринту с помощью нажатия клавиш, есть два смайлика врага (один движется по вертикали, второй по...

Лабиринт C++ - C++
я написал код лабиринта на c++, с помощью чего можно найти кратчайший путь выхода из лабиринта? #include &lt;iostream&gt; #include...

Лабиринт - C++
Помогите пожалуйста: Создать игру «Лабиринт». Игра состоит из 2 уровней (лабиринтов), отличающихся по сложности. Лабиринты появляются...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fullgean
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 3
23.11.2014, 00:24 #2
mraZzzb, сам курсовик пиши дудка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 00:24
Привет! Вот еще темы с ответами:

Лабиринт - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &lt;cmath&gt; #include &lt;stdio.h&gt; using...

Лабиринт - C++
Вообщем у меня 2 проблемы: 1) Либирнт генерирует 2 раза 2) '8' ходит как хочит Поправте плз код #include &lt;iostream&gt; #include...

Лабиринт - C++
Всем привет. Подскажите, вот делаю игру (понятно какую) но проблема. Вот код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace...

Лабиринт с++ - C++
Есть код. только мне не понятен алгоритм который работает в bool PathExists(Labyrinth&amp; lab, int y1, int x1, int y2, int x2) { и...


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

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

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