ズンドコキヨシ with Nemerle

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    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() : string {
            Thread.Sleep(1000);
            def s = if(Random().Next(2) == 0 ) "ズン" else "ドコ";
            Write(s + " ");
            s;
    }
    
    Main() : void
    {
       def MainLoop(_) {
          | ["ズン","ズン","ズン","ズン","ドコ"] => true
          | _::xs when xs.Length > 3  => MainLoop(xs + [GetZun()])
          | x::xs => MainLoop((x :: xs) + [GetZun()])
       }
       _ = MainLoop([GetZun()]);
       WriteLine("キ・ヨ・シ!");
    }