![]() |
Ну я с теорией не дружу %) Не знал, что это не возможно... %) С виду очень похоже на написание бота для игры... какого-нть лесоруба для УО, например =)
Ну, если не нужно, чтобы компутер сам решал как проложить маршрут - так мой код вполне рабочий, грузовик ездит, коробки возит =) Да, вот интересно стало, а что нужно делать, если в програме допущена ошибка? Ну, я так понял, что грузовик не может перевозить больше 1 коробки за раз, поэтому сразу не рассматривал возможность загрузить коробку если грузовик полный... Ну, или более простой вариант - "конечная станция" дает указание грузовику двигаться дальше (вникуда), что в таком случае делать? Насильно останавливать, выдавать сообщение об ошибке? Отправлять на начало? Програмно запретить задавать такую возможность? |
Цитата:
|
Ок, кнопка стоп не проблема, а чем плохо одинаковые условия (вариантов условий не так уж много, при определенной длине цепочки они все равно повторятся - или мне опять лень считать =)?
|
ну а если на два одинаковых условия пользователь назначит две разные команды? Можно конечно просто ограничить список условий... Смотря какую цель перед собой ставит преподаватель. Ну и можно выдавать сообщения об ошбку если грузовик после последнего склада поехал дальше.
Вообще да. лучше не ограничивать - пусть ученики наступают на грабли. чем больше шишек набьют сейчас, тем проще будет им потом :) |
Дети (любые начинающие) постоянно стремятся написать инструкции с двумя непротиворечивыми условиями. Это получается потому, что они не могут охватить программу целиком, а дают грузовику последовательные указания как-будто это происходит в онлайн режиме.
Я предлагаю не делать проверок на непротиворечивость. Пусть грузовик читает по порядку, и то, что подходит будет выполнять. Проблема "программиста" будет наглядной, мне кажется. |
Объясняю, что значит непротиворечивые условия(они могут быть все таки разными):
Пришел ребенок с работы и видит мамину инструкцию: Если ты голоден съешь котлету. Если дрался в школе не ешь котлету. То что ты "не голоден" не противоречит тому, что ты "не дрался" а значит указания по этим условиям не должны, в принципе, различаться |
Т.е. применительно к нашему случаю... может все-таки раздать условиям приоритеты?
Например: Если на станции нету коробок, но в путевом листе сказано, что коробку нужно забрать - приоритет = наличие коробок (очевидно). Если грузовик загружен, а на станции сказано еще раз загрузится - приоритет у загруженности грузовика. Тут помоему нигде не получается ситуации, когда бы можно было одновременно выполнить 2 условия... или мне кажется? Т.е. если проверка чего делать на станции всегда осуществляется в такой последовательности: - наличие коробок - заргуженность грузовика - предписания станции то после этой проверки получится 0..1 вариантов действий т.е. если первое = тру, второе = фолс, а третье соответствует описанной раньше ситуации - решение только одно, если не соответствует - решений нету. Да, и еще такой момент, коробки - каждая уникальная, или могут быть взаимозаменимыми? А, елки, дошло наконец %) На станции может быть несколько предписаний? Если так, то, конечно, зачем одинаковые дублировать? =) И, да, тогда несколько условий на станции могут удовлетворять одной ситуации... ну, даж не знаю... проще всего, конечно, выбирать первое из списка... ну, или рандомально %) Т.е. отобрать у пользователя возможность изначально задать для одной ситуации 2 варианта поведения: получится, что на станции может быть максимум 4 предписания 1. для случая когда грузовик не загружен & коробок нет 2. для случая когда грузовик загружен & коробок нет 3. для случая когда грузовик не загружен & есть коробки 4. для случая когда грузовик загружен & есть коробки Добавить 5-е условие сделать технически невозможным... |
Не, приоритеты расставлять наверное не стоит. просто условия читаются попорядку: если подходит - выполняется действие и те условия которые стоят ниже - игнорируются.
если ученик пытается увезти груз с пустой базы - выдавать ошибку. Нагрузить нагруженый грузовик у ученика не получится(такое команды нет, есть команда уехать с грузом или без груза и уехать направо или на лево. Всё.). PS: Вчера сделал дропдаун лист с картинками для выбора условий и команд. Сегодня буду делать чтото наподобие гридвью для добавления команд и условий(не хочу использовать стандартные контролы) |
Хм... я немного по другому изначально все понял, млин, ок, ближе к вечеру передлаю...
|
Ничего не понятно в данной теме, но с нетерпением жду результата, видимо, что-то интересное творится.
|
| Часовой пояс GMT +4, время: 19:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.