IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Что то типа игры в "пятнашки", помощь с алгоритмом
samec
сообщение 20.05.2008 3:10
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Добрый день всем! Есть задачка, под названием "расстановка мебели". Условие: Площадь разделена на шесть квадратов, пять из которых занято мебелью, шестой свободен. Переставить мебель так, чтобы шкаф и кресло поменялись естами, при этом никакие два премета не могут стоять на одном квадрате. На поле емееться один шкаф, одно кресло, один стул и два стула, например:
Код

------------------------
|стол |   стул   | шкаф |
------------------------
|стул |         |кресло|
------------------------


Возникла проблема с алгоритмом. Может кто знает как он реализовывается???

Сообщение отредактировано: samec - 20.05.2008 4:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
dream-x
сообщение 20.05.2008 20:07
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 64
Пол: Мужской
Реальное имя: Макс

Репутация: -  1  +


Я на этой неделе закончил пятнашки писать))... Алгоритм таков (я все делал в графическом режиме и тебе советую)... в теле программы ты делаешь цикл с пост условием и например выход из него когда ты нажмешь Q...
Затем:
1. Раставляем в массив в произвольном порядке твою мебель изпользуя Random и проверяем его на то чтобы в нем не было одинаковых элементов (если они есть то повторяем заново с того элемента который повторился);
2. Теперь ты должен найти пустой элемент или элемент для которого нет мебели и как-то его выделитьж
3. Теперь ты считываешь клавишу которую нажал на клаве и смотришь что именно тебе поменять местами т.е. ты должен если например ты пошел в лево переместить что у тебя есть в соседней ячейки в ту где у тебя пусто а в ту которую походил нужно затереть...
Тут ничего сложного эксперементируй... Если, что пиши... Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
samec
сообщение 20.05.2008 22:25
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Цитата(dream-x @ 21.05.2008 0:07) *

Я на этой неделе закончил пятнашки писать))... Алгоритм таков (я все делал в графическом режиме и тебе советую)... в теле программы ты делаешь цикл с пост условием и например выход из него когда ты нажмешь Q...
Затем:
1. Раставляем в массив в произвольном порядке твою мебель изпользуя Random и проверяем его на то чтобы в нем не было одинаковых элементов (если они есть то повторяем заново с того элемента который повторился);
2. Теперь ты должен найти пустой элемент или элемент для которого нет мебели и как-то его выделитьж
3. Теперь ты считываешь клавишу которую нажал на клаве и смотришь что именно тебе поменять местами т.е. ты должен если например ты пошел в лево переместить что у тебя есть в соседней ячейки в ту где у тебя пусто а в ту которую походил нужно затереть...
Тут ничего сложного эксперементируй... Если, что пиши... Удачи!

Это всё конечно хорошо, и так я уже давненько сделал smile.gif (можно посмотреть, если хочется, в прикреплённом файле). Меня же интересует несколько другой вопрос, как сделать так, чтобы я расставил мебель сам, а компьютер, по некоему алгоритму решил поставленную задачу (без моего участияsmile.gif ). Вот.


Прикрепленные файлы
Прикрепленный файл  MEBEL.PAS ( 6.18 килобайт ) Кол-во скачиваний: 216
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 14:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"