На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
Коротко о разделе:
Здесь разрешается создавать темы, относящиеся к любому языку программирования, для которого не существует раздела на форуме (например, Lisp, Tcl/Tk, FORTRAN и т.д.). Если раздел для нужного Вам языка есть, большая просьба создавать тему в нем.
Вопросы, связанные с JScript, Perl, PHP обсуждаются в разделе WWW Masters.

Обратите внимание:
1. Прежде чем задать вопрос, воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали.
2. Если Ваш вопрос связан с конкретным языком программирования, обязательно укажите название языка в имени темы.
3. Постарайтесь давать темам информативные названия. Темы с названиями типа "Помогите, горю" будут удалены.
4. Помните, чем грамотней будет задан Ваш вопрос, тем больше будет у Вас шансов получить на него ответ. Как правильно задавать вопросы
5. Ипользуйте тег [ code ] ...текст программы... [ /code ] для выделения текста программы.

Просьбы выполнить какую-либо работу за автора в этом разделе не обсуждаются. Темы с подобными просьбами будут перемещены или удалены. Для заказов у нас существуют специальные разделы: Разовые заказы и подработка, ПОМОЩЬ СТУДЕНТАМ.

Если кто не понял (а такие есть) — чтобы за вас решали ваши задачки, идите на другие ресурсы.

Полезные ссылки:
Есть. ;)
Наши Исходники | GPSS (en), GPSS (ru) (!) | Common Lisp | Tcl/Tk | Haskell | Lua
Модераторы: B.V.
  
> Поиск выигрышной стратегии - две кучи фишек, Как дописать данную игру
    Два игрока играют в следующую игру. Перед ними лежат две кучки фишек, в первой из которых 3, а во второй - 5 фишек. У каждого игрока неограниченно много фишек. Ходят игроки по очереди. Делая очередной ход, игрок или увеличивает в какой-то кучке число фишек в 2 раза, или добавляет в какую-то кучку 2 фишки. Выигрывает тот игрок, после хода которого общее число фишек в двух кучках становится не менее 23. Выяснить, кто выигрывает при правильной игре - первый или второй игрок.

    Но мне еще нужно добавить чтобы ходы игроков выводились в графическом виде. Вот моя попытка, но я думаю что это как то неправильно, как мне сделать чтобы было более наглядно?

    ExpandedWrap disabled
      swap(1,2).
      swap(2,1).
      win(Winer,P,[A,B]):- A + B > 23, ! ,Winer = P.
      win(Winer,P,[A,B]):-swap(P,P1), write("\nGo player"), write(P1),
      A1 is A*2,win(Winer,P1,[A1,B]), write("\nbunch is: "), write(A1), write(","), write(B),
      B1 is B*2,win(Winer,P1,[A,B1]), write("\nbunch is: "), write(A), write(","), write(B1),
      A2 is A+2,win(Winer,P1,[A2,B]), write("\nbunch is: "), write(A2), write(","), write(B),
      B2 is B+2,win(Winer,P1,[A,B2]), write("\nbunch is: "), write(A), write(","), write(B2).
      win(P1,P,_):-swap(P,P1).


    Тесты:

    ExpandedWrap disabled
      ?- win(1,2,[3,5]).
      Go player1
      Go player2
      Go player1
      bunch is: 24,5
      Go player2
      bunch is: 12,5
      Go player1
      Go player2
      bunch is: 6,10
      Go player1
      Go player2
      bunch is: 8,5
      Go player1
      Go player2
      bunch is: 6,7
      bunch is: 6,5
      Go player2
      Go player1
      Go player2
      bunch is: 6,10
      Go player1
      bunch is: 6,20
      bunch is: 3,40
      bunch is: 5,20
      bunch is: 3,22
      bunch is: 3,20
      Go player1
      Go player2
      bunch is: 5,10
      Go player1
      ...
      true.
      Какой? занятный язык

      Добавлено
      1. Первый выигрывает за один ход, если кучи (>=5, >=9) и (>=3, >=10)
      2. Он проигрывает, когда своим ходом делает кучи из п.1, т.е. при (3, 9), (5, 8), (7, 7)
      3. Первый выигрывает вторым ходом, если если первым приводит к ситуации из п.2, т.е. при (3, 7), (5, 6), (5, 7)
      4. Тогда, если из (3, 5) сделать, что-то отличное от (5, 5), то проиграешь, т.е. первый побеждает из (3, 5)
        это вроде как Пролог, какой-то из вариантов. А что надо-то? Интерактивная игра, расчет вариантов для заданных А, Б и предела?
        Долог путь в бессмертие... я еще вернусь.
        Профильный скилл "Телепатия" 8%
        ТРОЛЛЬ - Троян Разрушительный Опасный, Лучше ЛинятЬ (с) Freezing Spell
        Прошу потестить игру.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script Execution time: 0,0943 ]   [ 17 queries used ]   [ Generated: 23.07.19, 07:59 GMT ]