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

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

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

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

16.01.2009, 16:09. Просмотров 1628. Ответов 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++
C++ Прохождение лабиринта
Генерация случайного лабиринта C++
Проход лабиринта в C++ C++
C++ Прохождение лабиринта
C++ Обход лабиринта
C++ Генерация лабиринта
C++ Генерация 6 свободного лабиринта
Выход из лабиринта C++
Прохождение лабиринта C++
C++ Прохождение лабиринта
Прохождение лабиринта C++

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

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

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