Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Морской бой играет компьютер с компьютером
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию Морской бой играет компьютер с компьютером - 19.10.2005, 19:45

Есть ли у кого идеи как написать морской бой (можно мальнький 6x6) без всякой логики (пусть рандомом стреляет) на прологе. Вообщем нужно показать, что комп играет в морской бой за обоих. Игра оканчивается, когда некуда больше стрелять т.е. по сути за 36 шагов.
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,858
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 19.10.2005, 23:35

А здесь никаких заумных идей и не надо.
1. Сгенерировал поле с кораблями.
2. Взял два случайных числа (две координаты) и выстрелил, потом посмотрел куда упала бомба. Пометил. Повторил за противника.
3. Повторять пункт 2 до полного удовлетворения одного другим.
Ответить с цитированием
  (#3 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию 20.10.2005, 01:56

А не будет ли он по одной и той же точке дубасить? Т.е. не возможно зацикливания пока все поле еще не открыто? Да и повторно по уже побитой точке стрелять бы не хотелось... Поле с кораблями представлять как список?

p.s. Извини, если вопросы тупые, но я только начал изучать пролог.
Ответить с цитированием
  (#4 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,858
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 20.10.2005, 11:52

Цитата:
А не будет ли он по одной и той же точке дубасить?
Не будет. Я же указал в прошлом посте: "Пометил".

Цитата:
Поле с кораблями представлять как список?
Как угодно. Можно списком, можно БД.
Я бы наверное делал БД.
Ответить с цитированием
  (#5 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию 20.10.2005, 21:01

А в GNU пролог есть БД? Просто мне на гну реализовать надо.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,858
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 21.10.2005, 22:09

Конечно есть. БД есть во всех Прологах. Её просто не может не быть.
Ответить с цитированием
  (#7 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию 23.10.2005, 16:35

Все ок
Ответить с цитированием
  (#8 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию 23.10.2005, 16:55

Или расскажи, пожалуйста, как правильно генерировать поле?
Ответить с цитированием
  (#9 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,858
Сказал(а) спасибо: 2
Поблагодарили 287 раз(а) в 287 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 23.10.2005, 23:14

Цитата:
гну пролог не знает frontstr так же не знает str_int. Как быть?
А я не знаю GNU.
Прологов около пол сотни. У каждого свои особенности, так что извините меня, не знаю. Однако уверен, что предикат типа frontstr в любом Проолге есть, только пишется по другому (посмотрите справку по GNU). А вот преобразование типа str_int в GNU наверное нет, так как он является безтиповым Прологом.
Ответить с цитированием
  (#10 (permalink)) Старый
Bosk Bosk вне форума
Новичок
 
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.10.2005
По умолчанию 24.10.2005, 00:39

Все ок
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу для игры в морской бой stella_diurn Java 6 18.04.2015 21:28
Игра морской бой markel Java 4 15.12.2011 21:31
кто играет в WOW Gendos Игры 0 13.10.2011 14:02
Не играет одна колонка, подскажите решение проблемы Dialog567 Любые вопросы от новичков 38 13.06.2010 17:16
В колонках фоном играет радио, как убрать фон? vmike Любые вопросы от новичков 7 25.12.2008 23:42
Морской бой на C++ Builder 1random1 Задания за деньги 8 20.12.2007 00:47
Кто во что играет??? AToMY Компьютерные игры 172 01.10.2007 18:45
Как написать игру морской бой imported_SwIFT Lisp 1 16.06.2006 17:52
Морской бой играет комп с комп на Strawberry Prolog Jake Prolog 2 12.11.2005 20:31
Морской бой Naturlih Prolog 0 23.05.2005 04:36
помогите написать программы (морской бой) godinka Prolog 0 09.12.2004 21:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов