Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2013, 15:45   #1
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию ВОЛК, КОЗА, КАПУСТА Логика игры (игра на Flash)

Здравствуйте! Хочу обратиться за помощью в создании игры.
Была создана игра "Волк, коза, капуста". Необходимо внести дополнения в игру таким образом, чтобы программа сама определяла какой выполнять ход. Возможно, например, добавить кнопку "Подсказка", при нажатии которой находился бы наилучший ход в данной ситуации, либо осуществить другим образом.
Пожалуйста помогите с этой работой.
Вложения
Тип файла: rar волк коза капуста.rar (292.8 Кб, 33 просмотров)
Екатерина_92 вне форума Ответить с цитированием
Старый 15.02.2013, 19:00   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Игра настолько простая, что тут наилучшего хода быть не может. Тут есть единственный правильный ход.

Составьте матрицу примерно такого вида:

Цитата:
Волк Коза Капуста

Волк X 0 1

Коза 0 X 0

Капуста 1 0 X
X - невозможные состояния системы
0 - неверные (проигрышные) состояния системы
1 - верные состояния системы.

Очевидно, что в системе Волк-Коза-Капуста Коза вылетает сразу, ибо несовместима ни с одним из остальных участников -> от нее надо избавляться первой

А далее проверяем - если ход приводит к состоянию, отмеченному единицей (и при этом сама лодка находится на противоположном берегу) - значит, ход верный. Если же текущее состояние отмечено нулем и лодка находится на этом берегу, значит, нужно делать ходы для получения состояния единицы.


Надеюсь, понятно объяснил?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 16.02.2013, 13:49   #3
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию

Объяснили понятно, большое спасибо.
В общих чертах логику представить не сложно. Проблема в том, как это реализовать в скриптах...
Екатерина_92 вне форума Ответить с цитированием
Старый 16.02.2013, 17:32   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Екатерина_92 Посмотреть сообщение
В общих чертах логику представить не сложно. Проблема в том, как это реализовать в скриптах...
Если логика понятна, запишите ее подробно по-русски.
А потом просто переведите с русского на нужный Вам скриптовый язык.
s-andriano вне форума Ответить с цитированием
Старый 16.02.2013, 18:07   #5
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию

Работа продвигается следующим образом:
при нажатии кнопки "подсказка" проверяется состояние программы, возможных состояний всего 9 (если ничего не упущено) и выдается соответствующее сообщение о нужном ходе.
Сообщения содержаться в своих кадрах
Кадр4 - отвезти козу,
Кадр5 - отвезти волка,
Кадр6 - отвезти капусту,
Кадр7 - отвезти лодку.
Условия прописываются так:

При нажатии "подсказка" выполняем:
если лодка на левом берегу, волк=коза=капуста на левом берегу, то переходим в кадр 4;
если лодка на левом берегу, волк=капуста на левом берегу, коза на правом берегу, то переходим в кадр5.
и т.д.

Пишу код:
podsk.onPress = function() {
if ((lodka.bereg=="left")&&(volk.bereg =koza.bereg=kapusta.bereg=="left")) {gotoAndStop(4)}
if ((lodka.bereg=="left")&&(volk.bereg =kapusta.bereg=="left")&&(koza.bere g=="right") {gotoAndStop(5)}
и т.д.
при проверке в прописанных состояния выдает кадр4 в любом случае (вместо кадра5).
В чем может быть ошибка? И как исправить?

Последний раз редактировалось Екатерина_92; 16.02.2013 в 18:15.
Екатерина_92 вне форума Ответить с цитированием
Старый 16.02.2013, 18:14   #6
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию

Как вернуться из кадра с подсказкой в предыдущее состояние?
Екатерина_92 вне форума Ответить с цитированием
Старый 16.02.2013, 18:20   #7
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Это на чем написано?
Вот такая инструкция не присвоит ли всем трем переменным left? Тогда логично, что второе условие никогда не выполнится.
Код:
volk.bereg =koza.bereg=kapusta.bereg=="left"
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 16.02.2013, 18:36   #8
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию

Это ActionScript. Возможны Вы правы на счет присвоения, попробую исправить.
Екатерина_92 вне форума Ответить с цитированием
Старый 16.02.2013, 18:44   #9
Екатерина_92
Новичок
Джуниор
 
Регистрация: 15.02.2013
Сообщений: 14
По умолчанию

А с другой стороны, почему должно выполняться присвоение, если эта конструкция прописана как условие в блоке if...
Попробую прописать не одной конструкцией, а каждое условие отдельно, может это что-нибудь изменит.
Екатерина_92 вне форума Ответить с цитированием
Старый 16.02.2013, 18:48   #10
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Екатерина_92 Посмотреть сообщение
почему должно выполняться присвоение, если эта конструкция прописана как условие в блоке if...
Потому что оператор присваивания. Справка по ActionScript тоже говорит, что он оператор присваивания. И от его места положения в коде функция его меняться не должна.
Можно, конечно, реализовать и такой язык.. где в зависимости от положения оператора он будет действовать по-разному.. Но, во-первых, я таких языков не припомню, во-вторых - что-то мне подсказывает, что ActionScript тоже не такой случай.
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логика ИИ для игры Anton911 Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 07.01.2012 23:55
Игры на Flash DragProger Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 24.01.2011 13:44
php+flash игры Krasi PHP 4 04.06.2010 06:30
Flash игра V-Bonya Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 08.02.2010 13:18
Online Flash игра для сайта Cox Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 21.11.2009 11:53