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

Xonix. Зависание

27.05.2013, 23:48. Просмотров 880. Ответов 0
Метки нет (Все метки)

Пишу игру Xonix на DevCpp. Игрок должен бегать по полю и отсекать его участки. Поле состоит из клеток, каждой клетке соответствует ячейка двумерного массива. В данный момент я застрял на этапе заливки поля. Алгоритм такой: сначала делим линией поле на 2 части, сравниваем их с помощью рекурсивной функции, а затем закрашиваем меньшую часть опять же с помощью рекурсивной функции.

Выглядит примерно так:

поле вначале
000000
000000
000000
000000

разделили поле на две части
000000
001111
001000
001000

закрасили часть
000000
002222
002222
002222

Проблема в том, что после деления поля линией программа зависает. Возможно проблема в функции, которая считает количество клеток в выделенной части поля.

Код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int CountMass(int Arr[][50], int i, int j)
{
 int x=0; //счетчик клеток
 if(Arr[i][j]==0) //если клетка не закрашена и не выделена
 {
  Arr[i][j]=3  //присваиваем любое значение, чтобы не посчитали повторно
  x++; 
  //уходим в 4 направления
  x += CountMass(Arr,i+1,j);  
  x += CountMass(Arr,i-1,j);
  x += CountMass(Arr,i,j+1);
  x += CountMass(Arr,i,j-1);
  Arr[i][j]=0; // присваиваем изначальное значение клетке, которой присвоили значение 3
 }
 return x; //возвращаем результат
}
Где может быть ошибка?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 23:48
Ответы с готовыми решениями:

Дописать игру Xonix
Приветствую форумчане. Смиренно прошу помочь дописать игру Xonix, ничего уже в голову не приходит....

Зависание программы в Dev-C++
Здравствуйте! В Borland C++ программа работает хорошо, а в Dev-C++ зависает на этом моменте void...

Игра Xonix
Пишу игрульку на C# Щас пытаюсь придумать алгоритм для съедания областей поля. Я рисую полигон,...

Зависание ПК
Ребятки, всё по FAQ делал. http://www.cyberforum.ru/windows7/thread521254.html Ничего не выявил....

Зависание
Всем привет. Железо у меня хорошее, забочусь, как о живом.. Недавно решил обновить дрова с помощью...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 23:48

Зависание
Помогите пожалуйста, комп зависает при это идёт звук(тырканьё какое то) случается когда долго...

Зависание ОС
Здравствуйте, проблема следующая: - очень медленная работа и отказ большинства приложений в XP....

Зависание ПК
Добрый день В последнее время участились зависание пк намертво, причем самое интересное, что я...


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

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

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