Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите, пожалуйста. Игра-"Найди невидимку" на С++

58K
25 апреля 2010 года
smirnovf
3 / / 25.04.2010
Условие: на поле 4x4 позиции в одной из клеток стоит "невидимк"а, которого должен найти игрок. Игрок указывает координаты невидимки. Если угадал, то нашел невидимку. Если не угадал, то невидимка передвигается в другую позицию, а игроку сообщается, где невидимка был в момент хода. Невидимка может двигаться только по горизонтали или вертикали.
буду благодарен за любую помощь. :)
8.4K
25 апреля 2010 года
z0rch
275 / / 02.09.2008
показывайте что сделали, и что не получается.
а без него вам обеспечена разве что моральная помощь :)
30K
26 апреля 2010 года
cpentyc
85 / / 23.02.2010
Цитата:
Невидимка может двигаться только по горизонтали или вертикали.


на любое кольчество клеток или на одну?

для начала нужно завести переменные.масив булов 4 на 4. координаты невидимки PolX, PolY. Вводимые игроком координаты X,Y.

 
Код:
int PolX,PolY,X,Y;
Bool mas[4,4];

массив забиваешь фолсами. PolX, PolY задаешь рандомом.
элемент масива с этими индексами делаешь true
 
Код:
mas[PolX,PolY]=true;

запускаешь цикл с пост условием

можно стиреть все с экрана тут. В include<windous.h>
есть метод что-то там про cls было.кто помнит скажите как.
тут показываешь где человек был
Код:
for(int i=0;i<4;i++)
{
cout<<endl;
for(int j=0;j<4;j++)
{
if(mas[i,j]==true)
{
cout<<"O";
}
else
{
cout<<"X";
}
}
}

меняешь
 
Код:
mas[polX,PolY]=false;

задаешь новые координаты
ну тут все зависит от того на сколько клеток он уходит
 
Код:
mas[polX,PolY]=true;

игрок вводит координаты
 
Код:
cout<<"please input new koordinati"<<endl;// ЗЫ моя дойч шпрехает
cin>>X>>Y;

тут лучше провести коректировку координат
 
Код:
X--;
Y--;

 
Код:
While(X!=PolX&&Y!=PolY)

пишешь молоток ты нашел ниведимку
 
Код:
cout<<"molotok ti nashel nivedimky"<<endl;
58K
28 апреля 2010 года
smirnovf
3 / / 25.04.2010
огромное спасибо за помощь
двигаться может только на одну клетку
30K
30 апреля 2010 года
cpentyc
85 / / 23.02.2010
Код:
int a=Rand();
               
            if (PolX > 0 && PolY > 0 && PolX < 3 && PolY < 3)
            {
            a%=4;
                switch(a)
                {
                    case 0:
                        {
                        PolX++;
                        }
                        ...
                }
            }
            else  if (PolX == 0 && PolY < 3 && PolY < 3)
            {
            a%=3;
                ...
            }

ну можно както так.
Цитата:
огромное спасибо за помощь


З.Ы у тут принято благодарить нажимая на фигурку висов
З.Ы.З.Ы. <-------------------------------------------

1.8K
30 апреля 2010 года
LM(AL/M)
332 / / 20.12.2005
Цитата: cpentyc
для начала нужно завести переменные.масив булов 4 на 4


не надо никакого массива, достаточно только координат невидимки и вводимых игроком

30K
30 апреля 2010 года
cpentyc
85 / / 23.02.2010
Цитата:
не надо никакого массива


Вы правы)))) писал на коленки и из глубокого бадуна вот и гнал по тихоньку

а вы классы еще не проходили???
сделайте невидимку классом так прикольнее будет
конструктор передовать координаты а шагание методом сделать.и обезательно счетчик шагов чтобы после 3-4 шагов он посылал и обсирал игрока )))))))))))

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог