Цель Викторины Шепелявости подобна Рубиновой Викторине - это - все для Вашего собственного удовольствия и помочь Вам учиться программе в Шепелявости. Нет никаких победителей и никаких проигравших, только учеников. Вы конкурируете только против самостоятельно и Ваши собственные способности. В попытке решить проблемы самостоятельно и в рассмотрении ответов, представленных Вашими пэрами, Вы уверены изучить кое-что, что Вы не знали прежде.
Я хотел бы следовать, подобный формат для того, чтобы закончить каждый из контрольных опросов как использовался с Рубиновой Викториной. О каждой викторине будут периодически объявлять, поскольку я получаю время. Немедленно после регистрации, пожалуйста не отправляйте существенное обсуждение или решения о викторине прежде, чем -часовой Период Без помех протек. Это должно дать людям некоторое время, чтобы рассмотреть их собственные решения установленного проблема прежде, чем все вскочат с их собственными ответами. После Периода Без помех, пожалуйста не стесняйтесь обсуждать решения, отправлять Ваши собственные решения как ответы на оригинальную нить викторины на (эта нить прямо здесь). Во время Периода Без помех, пожалуйста не стесняйтесь отправлять вопросы о разъяснении или (!) исправления к оригинальному утверждению проблемы. Намерение не к заставляют замолчать все вопросы или комментарии, а скорее удержаться от влияния на другие, которые пытаются решить вещи их собственное путь.
Я попытаюсь придумать интересные вызовы, которые приведут Вас в части Общей спекуляции Шепелявости, не будучи настолько большими, чтобы потреблять месяцы Вашего времени, придумывающего человека решения. Это является трудным, однако, и я довольно занят работой и семьей. Таким образом, список для новых контрольных опросов будет несколько спорадическим, специфическим, если я должен сделать некоторое программирование, чтобы установить вещи .
Чтобы выручить, Вы можете предложить свои собственные вызовы. Если у Вас есть идея для интересного вызова Викторины Шепелявости, пошлите мне электронную почту через , и мы можем выяснить, как лучше всего вывести его для людей, чтобы продолжить работать.
Викторина Шепелявости #: Минный тральщик
Когда я купил свой первый в , я нашел, что у . было несколько игр, которые шли с этим. Минный тральщик был прост, но чрезвычайно увлечение. Я всегда задавался вопросом, что это возьмет, чтобы построить простой алгоритм, который мог решить Минного тральщика. В частности я задавался вопросом, что будет лучшим способом провести через те липкие ситуации, где Вы не можете весьма продумать который из у соседнего с положениями правления есть месторождение, и Вы имеете к предположение.
Ваш вызов должен написать программу, которая может играть Минного тральщика. Вместо того, чтобы писать целую игру, я поставлял простой двигатель Минного тральщика. Это проживает в пакете МИННОГО ТРАЛЬЩИКА. У Вас может быть Ваш игра программы игра, создавая случай класса ИГРЫ.: и: параметры управляют размером правления игры. Параметр:-СЧЕТА определяет номер шахт в правление.
Каждый раз Вы выбираете положение на правлении, называете ПОКАЗАННЫЙ метод с (, ) положение положения. ПОКАЖИТЕ возвращения любой:-ИГРА-ЗАКОНЧЕНА, если Вы выбираете положение с месторождением, числом шахты в окружающих местоположениях (от до ), или:-ПОБЕДА, когда Вы выбираете последнее положение без месторождение.
Вот расшифровка стенограммы , таким образом Вы можете видеть это в действии:
- Кодекс: Выберите все
- ( ** (- ': : : :- ))
**
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
- (: ** )
:--
-
Однажды концы игры, или потому что Вы выбрали бомбу, или потому что Вы победили, запрос ПОКАЗЫВАЕТ, снова производит ошибку, говоря, что игра уже полна. Нет никакого способа повторно калибровать игру, которая закончилась. Просто создайте другой случай класса ИГРЫ и игры снова.
Ваша задача состоит в том, чтобы использовать превосходящий алгоритм, чтобы последовательно выиграть игру. Отметьте, что Вы не можете произвести прекрасный алгоритм, который побеждает все время, потому что по крайней мере начальный выбор должен быть сделан в случайный, без знания того, где шахты могли бы быть; иногда Вы выберете место с месторождением на Вашем первом предположение.
Двигатель игры не отслеживает ничего, что он не имеет к для его собственного использования. В частности у этого нет никакого пользовательского интерфейса любого вида. Используя публично экспортируемые методы пакета МИННОГО ТРАЛЬЩИКА, Вы можете только создать случаи класса ИГРЫ и попросить, чтобы он ПОКАЗАЛ местоположение на правлении. Если Вы нуждаетесь в больше чем тот (и Вы будете), Вы должны будете отследить все остальное самостоятельно.
Есть другие методы в пакете МИННОГО ТРАЛЬЩИКА, которые не экспортируются. Вы могли бы посчитать некоторых из них полезными, чтобы помочь Вам отладить свой собственный кодекс. Например, см. ПРАВЛЕНИЕ ПЕЧАТИ и ПОКАЗАННЫЙ ПЕЧАТЬЮ.
Вот пакет МИННОГО ТРАЛЬЩИКА:
- Кодекс: Выберите все
( #:
(: #:)
(: #:
#:))
(- #:)
( ()
(( : - : :)
( : - : :)
(- : -- : :- : )
( : - : : : )
( : - : : : )
(- : -- : :- : )))
( - (
( *-*))
.
.
(
( )
= ( )
( )
(= ( (+ ) ))
( )))
( - ( )
(:
. ))
( - (( ) ( *-*))
(- ( )
(-
#'( ( )
( ( ) ))
)))
( - ( )
(: . ))
( - (( ) ( *-*))
(- ( )
(-
#'( ( )
( ( :)
( #\ )
( )))
)))
( -- ( )
(:
(,) , . ))
( -- (( ) )
(- ()
( (( ( (/ )))
( ( )))
( ))))
( -- ( )
(: (,)
. -
(,) . ))
( -- (( ) )
(- ( )
( ( ( ) ;
( = )
( )
( = ))
(+ (* (- )) ))))
( -- ( )
(: , (,),
, . ,
. ))
( -- (( ) )
(- ()
( (( (-- )))
(
( ( ( ) :)
)
)))) ; ,
( -- ( )
(:
, , . ))
( -- (( ) )
(- ( )
;; (,)
;; --
;; -- .
(-- ( )
(-- )
(+ (-- (- ) (- ))
(-- (- ))
(-- (+ ) (- ))
(-- (- ) )
(-- (+ ) )
(-- (- ) (+ ))
(-- (+ ))
(-- (+ ) (+ ))))))
( - : (( ) )
(- ( - -)
( ((- (* )))
( (- - ))
( (- - :- ))
(* (( (- -))
(- -))
( ( -)
( ( ) ))
( ( -)
(* ((- ( -))
( ( -)))
( ( ) :)
( ( ) ) ;
; .
; --
; .
( -)
( ( -)
( -)))))
( ( -)
( ( ( ) :)
( ( ) (-- )))))))
( ( )
(:
(,) . :
, ( - )
. ))
( (( ) )
( (- ) (-- )))
( - ( )
(:
(,) . ))
( - (( ) )
( : ( )))
( - ( )
(: (,)
. ))
( - (( ) )
(- ()
( (( (-- )))
( ( ) ))))
( -- ()
(:
; .
.
-. ))
( -- (( ))
( #' (- )))
( ( )
(:
.
, :--
.
, :-
. ))
( (( ) )
( (-- )
( . ))
( (- )
(
( (-- ) )
:--)
(
(- )
( (-- )
(
( (-- ) )
:-)
( )))))
Позвольте играм начинать!