22 / 22 / 1
Регистрация: 06.04.2014
Сообщений: 198
1

Игра Лабиринт

22.11.2014, 22:52. Показов 1972. Ответов 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;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2014, 22:52
Ответы с готовыми решениями:

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

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

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

Лабиринт
Народ помогите! есть задание: Лабиринт представляет собой квадрат, состоящий из NxN сегментов....

1
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 3
23.11.2014, 00:24 2
mraZzzb, сам курсовик пиши дудка
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2014, 00:24
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru