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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
#1

Генерация лабиринта - C++

16.01.2009, 16:09. Просмотров 1632. Ответов 0
Метки нет (Все метки)

Люди помогите застопорился на растовлении стенки
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
#include <iostream>
#include <time.h>
using namespace std;
int rekursiy(int ar[][],int row,int col)
{
}
void main()
{
    srand (time(0));
    const int row=12, col=22;
    int ar [row][col];
    for(int i=0; i<row; i++)
    {
        for(int j=0; j<col; j++)
        {
            if(i==0 && j==0)
                ar[i][j]=218;//218 Ъ
            else if(i==0 && j==col-1)
                ar[i][j]=191;//191 ¬
            else if(i==row-1 && j==0)
                ar[i][j]=192;//192 L
            else if(i==row-1 && j==col-1)
                ar[i][j]=217;
            else if(i==0 && j>0 && j<col-1)
                ar[i][j]=196;// Д
            else if(i==row-1 && j>0 && j<col-1)
                ar[i][j]=196;
            else if(j==0 && i>0 && i<row-1)
                ar[i][j]=179;
            else if(j==col-1 && i>0 && i<row-1)
                ar[i][j]=179;
            else
                ar[i][j]=0;
        }
    }
 
    int a, b,x,y;
    int si1=row-2,si2=col-2;
    a=rand()%si1+2;
    b=rand()%si2+2;
 
    for(int i=0; i<row; i++)
    {
        for(int j=0; j<col; j++)
        {
            ar[a][0]=195;
            ar[a][col-1]=180;
            ar[0][b]=194;
            ar[row-1][b]=193;
            if(i==a && j>0 && j<col-1)
                ar[i][j]=196;
            else if(j==b && i>0 && i<row-1)
                ar[i][j]=179;
            ar[a][b]=197;
        }
    }
    cout<<'\n';
    for(int i=0; i<row; i++)
    {
        for(int j=0; j<col; j++)
        {
            cout<<(char)ar[i][j];
        }
        cout<<'\n';
    }
 
    x=rand()%a+1;
    ar[x][b]=0;
    x=rand()%b+1;
    ar[a][x]=0;
 
    cout<<'\n';
    for(int i=0; i<row; i++)
    {
        for(int j=0; j<col; j++)
        {
            cout<<(char)ar[i][j];
        }
        cout<<'\n';
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2009, 16:09     Генерация лабиринта
Посмотрите здесь:

Алгоритм обхода лабиринта - C++
Помогите реализовать алгоритм обхода лабиринта, на примере матрицы nxn, где 1 (единицы) это проходимые элементы, а 0 (нули) это...

Чтение лабиринта из файла - C++
ребята , не могу задать чтение элементов лабиринта с файла.. помогите пожалуйста.. const int - никак не задается #include...

Найти выход из лабиринта - C++
Пожалуйста помогите решить. Перевод. Вопрос задачи: наити выход роботу из лабиринта. Робот проходит только через (.), а это (#)...

Стенки внутри лабиринта - C++
Господа эксперты,не пойму почему код не работает: &quot;Мышь&quot; не должна бегать по стенка(стенки определяются в массиве),а на деле результата...

Прохождение лабиринта со стеком - C++
Добрый вечер После запуска программа вылетает с ошибкой Stack Overflow и останавливается на внесение данных в стек (глядела на...

Построение лабиринта на Borland С++ 3.01 - C++
Здравствуйте... Надо написать программу построения лабиринта...длина и ширина лабиринта вводится с клавиатуры. Желательно, чтобы можно...

Задача с картой лабиринта - C++
Определить является ли лабиринт правильным. карта представляет собой лабиринт 1=стена, 0=проход карта представляет собой лабиринт ...

Алгоритм Дейкстры для лабиринта - C++
Лабиринт задается матрицей, где 0 стены, 1 проходы, s - начальная вершина, f - конечная. Лабиринт считывается из файла. Не могу сообразить,...

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

Прохождение лабиринта с использованием стека - C++
Собственно задание: Создать программу, отыскивающую проход по лабиринту. Лабиринт представляется в виде матрицы, состоящей из...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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