ズンドコキヨシ with Nemerle

  • 0
    いいね
  • 0
    コメント

    Nemerleでやってみた(´・ω・`) (GetZunで1秒間のウェイトを入れてます.嫌ならば,Thread.Sleep(1000)を消して,Randomクラスのコンストラクタに,毎回値が異なるシード値を入れてやればいいでしょう(´・ω・`))

    zundoko
    using System;
    using System.Threading;
    using System.Console;
    using Nemerle.Collections;
    using Nemerle.Text;
    using Nemerle.Utility;
    
    GetZun(randMaker : Random) : string {
            Thread.Sleep(1000);
            def s = if(randMaker.Next(2) == 0 ) "ズン" else "ドコ";
            Write(s + " ");
            s;
    }
    
    Main() : void
    {
       def randMaker = Ramdom()
       def MainLoop(_) {
          | ["ズン","ズン","ズン","ズン","ドコ"] => true
          | _::xs when xs.Length > 3  => MainLoop(xs + [GetZun(randMaker)])
          | x::xs => MainLoop((x :: xs) + [GetZun(randMaker)])
       }
       _ = MainLoop([GetZun(randMaker)]);
       WriteLine("キ・ヨ・シ!");
    }