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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти в массиве порядковый номер наиболее близкого элемента к заданному целому числу Х http://www.cyberforum.ru/cpp-beginners/thread1308035.html
Дано 12 вещественных чисел. Найти порядковый номер того из них, которое наиболее близко к какому-нибудь заданному целому числу Х.
C++ Пишет мусор в переменную класса, использование strcpy Здравствуйте. Проблема такого рода: из класса studentLogic из некой функции (метода) вызываю: studentcl NewStudent("login", "sdf", "sdsdf", 12); List<studentcl> StudentList; ... http://www.cyberforum.ru/cpp-beginners/thread1308030.html
C++ Функция которая ищет наибольший элемент массива
#include <iostream> using namespace std; void rev_print(int n) { if (n > 0) { cout << n - (n / 10) * 10; n /= 10; rev_print(n); }
Узнать элемент enum по значению C++
Вот дан какой нибудь enum как определить ключ (имя переменной) по значению?
C++ Арифметическая и геометрическая последовательности http://www.cyberforum.ru/cpp-beginners/thread1308020.html
Разработать программу, которая в последовательности целых чисел находит самую длинную подпоследовательность являющуюся арифметической или геометрической прогрессией. Предусмотреть ввод исходной...
C++ Автоматически построить дороги из единиц между "городами" Подскажите как такое можно сделать: Нужно задать координаты точек (городов), значение которых в масиве -1, и их же вывело на экран и после, что бы между автоматически построились дороги из единичек... подробнее

Показать сообщение отдельно
mraZzzb
22 / 22 / 0
Регистрация: 06.04.2014
Сообщений: 194

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

22.11.2014, 22:52. Просмотров 931. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru