------------------------
|стол | стул | шкаф |
------------------------
|стул | |кресло|
------------------------
Возникла проблема с алгоритмом. Может кто знает как он реализовывается???
Сообщение отредактировано: samec -
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Что то типа игры в "пятнашки", помощь с алгоритмом |
samec |
Сообщение
#1
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: 1 |
Добрый день всем! Есть задачка, под названием "расстановка мебели". Условие: Площадь разделена на шесть квадратов, пять из которых занято мебелью, шестой свободен. Переставить мебель так, чтобы шкаф и кресло поменялись естами, при этом никакие два премета не могут стоять на одном квадрате. На поле емееться один шкаф, одно кресло, один стул и два стула, например:
Код ------------------------ |стол | стул | шкаф | ------------------------ |стул | |кресло| ------------------------ Возникла проблема с алгоритмом. Может кто знает как он реализовывается??? Сообщение отредактировано: samec - |
dream-x |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 64 Пол: Мужской Реальное имя: Макс Репутация: 1 |
Я на этой неделе закончил пятнашки писать))... Алгоритм таков (я все делал в графическом режиме и тебе советую)... в теле программы ты делаешь цикл с пост условием и например выход из него когда ты нажмешь Q...
Затем: 1. Раставляем в массив в произвольном порядке твою мебель изпользуя Random и проверяем его на то чтобы в нем не было одинаковых элементов (если они есть то повторяем заново с того элемента который повторился); 2. Теперь ты должен найти пустой элемент или элемент для которого нет мебели и как-то его выделитьж 3. Теперь ты считываешь клавишу которую нажал на клаве и смотришь что именно тебе поменять местами т.е. ты должен если например ты пошел в лево переместить что у тебя есть в соседней ячейки в ту где у тебя пусто а в ту которую походил нужно затереть... Тут ничего сложного эксперементируй... Если, что пиши... Удачи! |
samec |
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 180 Пол: Мужской Реальное имя: Юра Репутация: 1 |
Я на этой неделе закончил пятнашки писать))... Алгоритм таков (я все делал в графическом режиме и тебе советую)... в теле программы ты делаешь цикл с пост условием и например выход из него когда ты нажмешь Q... Затем: 1. Раставляем в массив в произвольном порядке твою мебель изпользуя Random и проверяем его на то чтобы в нем не было одинаковых элементов (если они есть то повторяем заново с того элемента который повторился); 2. Теперь ты должен найти пустой элемент или элемент для которого нет мебели и как-то его выделитьж 3. Теперь ты считываешь клавишу которую нажал на клаве и смотришь что именно тебе поменять местами т.е. ты должен если например ты пошел в лево переместить что у тебя есть в соседней ячейки в ту где у тебя пусто а в ту которую походил нужно затереть... Тут ничего сложного эксперементируй... Если, что пиши... Удачи! Это всё конечно хорошо, и так я уже давненько сделал (можно посмотреть, если хочется, в прикреплённом файле). Меня же интересует несколько другой вопрос, как сделать так, чтобы я расставил мебель сам, а компьютер, по некоему алгоритму решил поставленную задачу (без моего участия ). Вот. Прикрепленные файлы MEBEL.PAS ( 6.18 килобайт ) Кол-во скачиваний: 295 |
Текстовая версия | 28.03.2024 16:25 |