Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Asssss
0 / 0 / 0
Регистрация: 19.04.2017
Сообщений: 4
1

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

10.05.2017, 17:02. Просмотров 777. Ответов 5
Метки нет (Все метки)

Кто-нибудь может помочь написать игру "Лабиринт" на Си? Или может у Вас есть исходники?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2017, 17:02
Ответы с готовыми решениями:

Игра лабиринт - реализовать бонусы и их сбор персонажем
Помогите, пожалуйста, сделать так, идею может какую-нибудь, чтобы главный персонаж, который...

Доработать лабиринт
В общем такая задачка-задается либиринт матрицей n x m алфавитом '.#', где .-пустая клетка...

Написать консольную игру лабиринт
Нужно написать консольную игру лабиринт на языке си!!! плииииз помогите Добавлено через 24...

Консольный Лабиринт - готовое решение
Вот может надо кому. Сам писал. #include "stdafx.h" #include <string.h> #include <stdio.h>...

Лабиринт: вычислить количество маршрутов нечетной длины
Коридорам лабиринта разрешается двигаться только в направлениях, указанных стрелками. Человек вошел...

5
MrGluck
Форумчанин
Эксперт CЭксперт С++
8121 / 4973 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
10.05.2017, 17:07 2
Нечто похожее
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
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
void gameOverManagement()
{
system("cls");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t     Game Over!\n\n\n\n\n\n\n\n\n\n\n";
system("pause");
Sleep(1000);
exit(0);
} void gameVictoryManagement()
{
system("cls");
cout << "\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t     Victory!\n\n\n\n\n\n\n\n\n\n\n";
system("pause");
} int dataManagement(int management, int stopGame)
{
if(management == 1)
{
  gameOverManagement();
  stopGame = 1;
}
if(management == 3)
{
  gameVictoryManagement();
  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,0,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,1,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,0,0,1,0,1,1,1,1,},
                        {1,0,1,1,0,1,1,1,1,1,1,1,1,1,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,1,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,1,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,1,0,1,},
                        {1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,0,1,1,0,1,},
                        {1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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();
  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
_Ivana
4041 / 1881 / 235
Регистрация: 01.03.2013
Сообщений: 5,117
Записей в блоге: 16
11.05.2017, 19:19 3
Вот вам классная игра Лабиринт - https://habrahabr.ru/post/324166/
0
likehood
984 / 828 / 396
Регистрация: 25.12.2016
Сообщений: 2,727
Завершенные тесты: 3
11.05.2017, 21:17 4
_Ivana, так это ваша статья на хабре?
0
MrGluck
Форумчанин
Эксперт CЭксперт С++
8121 / 4973 / 1436
Регистрация: 29.11.2010
Сообщений: 13,456
11.05.2017, 21:26 5
Цитата Сообщение от likehood Посмотреть сообщение
_Ivana, так это ваша статья на хабре?
А чья же ещё то
Вы, видать, чат-уроки от Ивана пропустили? Он рассказывал подробно про создание подобных софтин.
0
likehood
984 / 828 / 396
Регистрация: 25.12.2016
Сообщений: 2,727
Завершенные тесты: 3
11.05.2017, 21:39 6
Ну круто чо!
0
11.05.2017, 21:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2017, 21:39

Функция, использующая рекурсию, чтобы пройти лабиринт
Помогите пожалуйста найти и исправить ошибку. Есть задача :&quot; Напишите функцию,которая получает...

Нужно пройти лабиринт, так чтоб нигде не проходить дважды
Всем доброго времени суток... Есть задача: Нужно пройти лабиринт, так чтоб нигде не проходить...

Лабиринт: посетить все клетки по одному разу, не попадая в черные
Найдите маршрут в квадрате, который начинался бы в верхнем левом углу и заканчивался в правом...


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

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

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