Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 20.02.2013
Сообщений: 8
1

Волновой алгоритм (таймер)

14.06.2013, 22:56. Показов 891. Ответов 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
//---------------------------------------------------------------------------
__fastcall TForm33::TForm33(TComponent* Owner)
    : TForm(Owner)
{
  sv=0;t=-1;s=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Button1Click(TObject *Sender)
{                                                                 //Выводит в StrinGrid
                                                                  //область, в которой
                                                                  //используется волновой
                                                                  //алгоритм.
     for (int k = 1; k < 7; k++)
        for (int i = 1; i < 7; i++)
            {v[i][k]=-1;}
     for (int i=0; i < 8; i++)
            {v[i][0]=99;v[0][i]=99;v[7][i]=99;v[i][7]=99;}
     for (int i = 0; i < 8; i++)
        for (int j = 0; j < 8; j++)
            {StringGrid1->Cells[j][i]=IntToStr(v[j][i]); }
 
 
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Edit1Change(TObject *Sender)
{
    x1=StrToIntDef(Edit1->Text, 1);
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Edit2Change(TObject *Sender)
{
    y1=StrToIntDef(Edit2->Text, 1);
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Edit3Change(TObject *Sender)
{
    x2=StrToIntDef(Edit3->Text, 7); 
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Edit4Change(TObject *Sender)
{
    y2=StrToIntDef(Edit4->Text, 7);
}
//---------------------------------------------------------------------------
void __fastcall TForm33::Button2Click(TObject *Sender)   //Прямой ход
{
    v[y1][x1]=0;
        do
    {       sv=0;
            t=t+1;
            for (int i=0; i<8; i++)
                for(int j=0; j<8; j++)
                    if ( v[i][j] == t)
        {
            if (v[i-1][j] == -1) { v[i-1][j] = t+1; sv=1; }
            if (v[i][j-1] == -1) { v[i][j-1] = t+1; sv=1; }
            if (v[i+1][j] == -1) { v[i+1][j] = t+1; sv=1; }
            if (v[i][j+1] == -1) { v[i][j+1] = t+1; sv=1; }
        }
    } while (sv!=0);
    for (int i = 0; i < 8; i++)
        for (int j = 0; j < 8; j++)
            {StringGrid1->Cells[j][i]=IntToStr(v[j][i]); }
}
В общем, помогите мне прилепить таймер, чтобы прямой ход шёл по шагам и пользователь это видел, например, с интервалом в 1 секунду, волна идёт дальше. Студент 1 курс, прошу помощи.)
P.S. И ещё, знающие люди, помогите перекрасить каждый ход волны в разные цвета, например, радуги, через drawcell получается, но нужно же с таймером.

Добавлено через 36 минут
Или сделать, чтобы каждый новый шаг происходил по нажатию кнопки?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2013, 22:56
Ответы с готовыми решениями:

Как переделать волновой алгоритм из консольного в графический вид?
как зделать чтоб он был виден визуально #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #pragma...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар)
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная...

Волновой процесс
Помогите найти исходник алгоритма (волновой процесс) для нахождения минимального маршрута в графе

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab...

2
1116 / 787 / 100
Регистрация: 01.02.2011
Сообщений: 1,847
Записей в блоге: 1
15.06.2013, 23:32 2
Azwraith Попробуй то, что я нахимичил.
2
Вложения
Тип файла: rar Волновой алгоритм.rar (315.7 Кб, 13 просмотров)
1116 / 787 / 100
Регистрация: 01.02.2011
Сообщений: 1,847
Записей в блоге: 1
16.06.2013, 08:56 3
Исправил кое-что
2
Вложения
Тип файла: rar Волновой алгоритм v2.rar (274.5 Кб, 36 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2013, 08:56

Волновой алгоритм Ли
Помогите написать программу в Delphi (волновой алгоритм ЛИ) любую задачу. очень нужно...

Волновой алгоритм (Ли)
Доброго времени суток. Как реализовать построение пути на двумерной матрице (после прохода волны)...

Волновой алгоритм
Помогите достать волновой алгоритм. Читал в инете,но в общем смысле я его понимаю: создаем матрицу,...

Волновой алгоритм
Здравствуйте. Пишу цикл который бы вызывал волну! Вот он: int iter = 0; ...


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

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

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