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

Использование рекурсивной функции при написании простой игры - C++

Восстановить пароль Регистрация
 
begginer
Сообщений: n/a
01.02.2014, 19:50     Использование рекурсивной функции при написании простой игры #1
Суть такова: У нас имеется доска 5*5 ,есть шахматная фигура коня,которая должна обойти всю доску
Что в данном коде не так??

#include <Windows.h>
#include <iostream>
using namespace std;
const int size=5;
int a[size][size]={0};


bool Set(int i,int j,int counter)
{
if(counter==25) return true;
else if(i>=0&&j>=0&&i<size&&j<size)
{
a[i][j]=counter;
if(a[i-2][j+1]==0) {counter++;Set(i-2,j+1,counter);return true;}
else if(a[i-1][j+2]==0) {counter++;Set(i-1,j+2,counter);return true;}
else if(a[i+1][j+2]==0) {counter++;Set(i+1,j+2,counter);return true;}
else if(a[i+2][j+1]==0) {counter++;Set(i+2,j+1,counter);return true;}
else if(a[i+2][j-1]==0) {counter++;Set(i+2,j-1,counter);return true;}
else if(a[i+1][j-2]==0) {counter++;Set(i+1,j-2,counter);return true;}
else if(a[i-1][j-2]==0) {counter++;Set(i-1,j-2,counter);return true;}
else if(a[i-2][j-1]==0) {counter++;Set(i-2,j-1,counter);return true;}
else {a[i][j]=0;return false;}
}

}


void main()
{

Set(0,0,1);
for(int i=0;i<size;i++)
{for(int j=0;j<size;j++)
{cout.width(4);
cout<<a[i][j];}
cout<<'\n';
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2014, 19:50     Использование рекурсивной функции при написании простой игры
Посмотрите здесь:

C++ Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел
C++ при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"?
программa с использованием рекурсивной функции C++
Использование рекурсивной функции C++
C++ Использование функции при выводе в cout
Из рекурсивной функции в не рекурсивную C++
Использование рекурсивной функции для сортировки массива по возрастанию C++
Использование рекурсивной функции для нахождения суммы C++

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

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

Текущее время: 13:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru