Ejemplo n.º 1
0
        public BasicGameFinder(Tenhou.TenhouHashList Hashes)
        {
            // Create blank ResultList from hash table
            for (int h = 0; h < Hashes.Hashes.Count; h++ )
            {
                string Hash = Hashes.Hashes[h];
                Mahjong.Replay R = new Mahjong.Replay();

                Console.Title = String.Format("Loading {0:d}/{1:d}", h + 1, Hashes.Hashes.Count);

                if (R.LoadXml(Hash))
                {
                    Result Res = new Result();
                    Res.Replay = R;
                    Res.ReplayMark = true;

                    for (int i = 0; i < 4; i++) Res.PlayerMark[i] = true;
                    // Exclude 4th player in 3man game
                    if (R.PlayerCount == 3) Res.PlayerMark[3] = false;

                    for (int i = 0; i < R.Rounds.Count; i++)
                    {
                        bool[] Marks = new bool[4];
                        for (int j = 0; j < Res.Replay.PlayerCount; j++) Marks[j] = true;

                        Res.RoundMark.Add(true);
                        Res.HandMark.Add(Marks);
                    }

                    GameList.Add(Res);
                }
                else
                {
                    Console.WriteLine(Hash + " - not found");
                }
            }
        }
Ejemplo n.º 2
0
        public YakuConfig()
        {
            var id = 0;

            aka_dora = new AkaDora(++id);
            tenhou   = new Tenhou(++id);
            // Yaku situations
            tsumo              = new Tsumo(++id);
            riichi             = new Riichi(++id);
            open_riichi        = new OpenRiichi(++id);
            ippatsu            = new Ippatsu(++id);
            chankan            = new Chankan(++id);
            rinshan            = new Rinshan(++id);
            haitei             = new Haitei(++id);
            houtei             = new Houtei(++id);
            daburu_riichi      = new DaburuRiichi(++id);
            daburu_open_riichi = new DaburuOpenRiichi(++id);
            nagashi_mangan     = new NagashiMangan(++id);
            renhou             = new Renhou(++id);
            // Yaku 1 Han
            pinfu         = new Pinfu(++id);
            tanyao        = new Tanyao(++id);
            iipeiko       = new Iipeikou(++id);
            haku          = new Haku(++id);
            hatsu         = new Hatsu(++id);
            chun          = new Chun(++id);
            east          = new East(++id);
            south         = new South(++id);
            west          = new West(++id);
            north         = new North(++id);
            yakuhai_place = new YakuhaiPlace(++id);
            yakuhai_round = new YakuhaiRound(++id);
            // Yaku 2 Hans
            sanshoku       = new Sanshoku(++id);
            ittsu          = new Ittsu(++id);
            chantai        = new Chanta(++id);
            honroto        = new Honroutou(++id);
            toitoi         = new Toitoi(++id);
            sanankou       = new Sanankou(++id);
            sankantsu      = new Sankantsu(++id);
            sanshoku_douko = new SanshokuDoukou(++id);
            chiitoitsu     = new Chiitoitsu(++id);
            shosangen      = new Shousangen(++id);
            // Yaku 3 Hans
            honitsu   = new Honitsu(++id);
            junchan   = new Junchan(++id);
            ryanpeiko = new Ryanpeikou(++id);
            // Yaku 6 Hans
            chinitsu = new Chinitsu(++id);
            // Yakuman list
            kokushi        = new Kokushi(++id);
            chuuren_poutou = new ChuurenPoutou(++id);
            suuankou       = new Suuankou(++id);
            daisangen      = new Daisangen(++id);
            shosuushi      = new Shousuushii(++id);
            ryuisou        = new Ryuuiisou(++id);
            suukantsu      = new Suukantsu(++id);
            tsuisou        = new Tsuisou(++id);
            chinroto       = new Chinroutou(++id);
            daisharin      = new Daisharin(++id);
            daichisei      = new Daichisei(++id);
            // Double yakuman
            daisuushi             = new Daisuushii(++id);
            daburu_kokushi        = new DaburuKokushi(++id);
            suuankou_tanki        = new SuuankouTanki(++id);
            daburu_chuuren_poutou = new DaburuChuurenPoutou(++id);
            // Yakuman situations
            tenhou         = new Tenhou(id++);
            chiihou        = new Chiihou(++id);
            renhou_yakuman = new RenhouYakuman(++id);
            sashikomi      = new Sashikomi(++id);
            paarenchan     = new Paarenchan(++id);
            // Other
            dora     = new Dora(++id);
            aka_dora = new AkaDora(++id);
        }
Ejemplo n.º 3
0
 public GameFinder(Tenhou.TenhouHashList Hashes) : base(Hashes)
 { }