Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Хорошее дело или машина Тьюринга (http://www.flasher.ru/forum/showthread.php?t=110454)

wvxvw 03.04.2008 20:48

Ну я с теорией не дружу %) Не знал, что это не возможно... %) С виду очень похоже на написание бота для игры... какого-нть лесоруба для УО, например =)
Ну, если не нужно, чтобы компутер сам решал как проложить маршрут - так мой код вполне рабочий, грузовик ездит, коробки возит =)

Да, вот интересно стало, а что нужно делать, если в програме допущена ошибка?
Ну, я так понял, что грузовик не может перевозить больше 1 коробки за раз, поэтому сразу не рассматривал возможность загрузить коробку если грузовик полный... Ну, или более простой вариант - "конечная станция" дает указание грузовику двигаться дальше (вникуда), что в таком случае делать? Насильно останавливать, выдавать сообщение об ошибке? Отправлять на начало? Програмно запретить задавать такую возможность?

zurmansor 04.04.2008 10:36

Цитата:

Сообщение от wvxvw
Програмно запретить задавать такую возможность?

Скорее всего. И ещё есть возможность бесконечного цикла. поэтому нужна кнопка "стоп". и валидация на условия - чтобы пользователь не добавлял пустые и одинаковые условия.

wvxvw 04.04.2008 12:31

Ок, кнопка стоп не проблема, а чем плохо одинаковые условия (вариантов условий не так уж много, при определенной длине цепочки они все равно повторятся - или мне опять лень считать =)?

zurmansor 04.04.2008 13:10

ну а если на два одинаковых условия пользователь назначит две разные команды? Можно конечно просто ограничить список условий... Смотря какую цель перед собой ставит преподаватель. Ну и можно выдавать сообщения об ошбку если грузовик после последнего склада поехал дальше.
Вообще да. лучше не ограничивать - пусть ученики наступают на грабли. чем больше шишек набьют сейчас, тем проще будет им потом :)

lak 04.04.2008 14:03

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

Я предлагаю не делать проверок на непротиворечивость. Пусть грузовик читает по порядку, и то, что подходит будет выполнять. Проблема "программиста" будет наглядной, мне кажется.

lak 04.04.2008 14:06

Объясняю, что значит непротиворечивые условия(они могут быть все таки разными):
Пришел ребенок с работы и видит мамину инструкцию:

Если ты голоден съешь котлету.
Если дрался в школе не ешь котлету.

То что ты "не голоден" не противоречит тому, что ты "не дрался" а значит указания по этим условиям не должны, в принципе, различаться

wvxvw 04.04.2008 14:23

Т.е. применительно к нашему случаю... может все-таки раздать условиям приоритеты?
Например: Если на станции нету коробок, но в путевом листе сказано, что коробку нужно забрать - приоритет = наличие коробок (очевидно).
Если грузовик загружен, а на станции сказано еще раз загрузится - приоритет у загруженности грузовика.

Тут помоему нигде не получается ситуации, когда бы можно было одновременно выполнить 2 условия... или мне кажется?
Т.е. если проверка чего делать на станции всегда осуществляется в такой последовательности:
- наличие коробок
- заргуженность грузовика
- предписания станции
то после этой проверки получится 0..1 вариантов действий
т.е. если первое = тру, второе = фолс, а третье соответствует описанной раньше ситуации - решение только одно, если не соответствует - решений нету.

Да, и еще такой момент, коробки - каждая уникальная, или могут быть взаимозаменимыми?

А, елки, дошло наконец %) На станции может быть несколько предписаний? Если так, то, конечно, зачем одинаковые дублировать? =)
И, да, тогда несколько условий на станции могут удовлетворять одной ситуации... ну, даж не знаю... проще всего, конечно, выбирать первое из списка... ну, или рандомально %)

Т.е. отобрать у пользователя возможность изначально задать для одной ситуации 2 варианта поведения: получится, что на станции может быть максимум 4 предписания
1. для случая когда грузовик не загружен & коробок нет
2. для случая когда грузовик загружен & коробок нет
3. для случая когда грузовик не загружен & есть коробки
4. для случая когда грузовик загружен & есть коробки
Добавить 5-е условие сделать технически невозможным...

zurmansor 04.04.2008 14:44

Не, приоритеты расставлять наверное не стоит. просто условия читаются попорядку: если подходит - выполняется действие и те условия которые стоят ниже - игнорируются.
если ученик пытается увезти груз с пустой базы - выдавать ошибку.
Нагрузить нагруженый грузовик у ученика не получится(такое команды нет, есть команда уехать с грузом или без груза и уехать направо или на лево. Всё.).
PS: Вчера сделал дропдаун лист с картинками для выбора условий и команд. Сегодня буду делать чтото наподобие гридвью для добавления команд и условий(не хочу использовать стандартные контролы)

wvxvw 04.04.2008 15:02

Хм... я немного по другому изначально все понял, млин, ок, ближе к вечеру передлаю...

Ostgur 04.04.2008 15:51

Ничего не понятно в данной теме, но с нетерпением жду результата, видимо, что-то интересное творится.


Часовой пояс GMT +4, время: 19:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.