/// <summary> /// 玩家按下暗槓事件呼叫 /// </summary> internal void dark_kong(Brand brand) { CheckBrands c = new CheckBrands(brand, NowPlayer_removeTeam); CheckBrands d = new CheckBrands(NowPlayer_removeTeam); if (c.Kong()) { all.DarkKong(brand, c.SuccessPlayer); } else if (d.DarkKong()) { all.DarkKong(brand, d.SuccessPlayer); } }
/// <summary> /// 摸牌 /// </summary> internal void touchBrand() { table.updateNowPlayer(); // 摸牌給現在的玩家 Brand nextbrand = all.nextBrand(); // 補花並加上一張牌 if (all.Player_setFlower(nextbrand)) { touchBrand(); } else { // 是否胡牌或槓牌(手牌加摸到的牌) CheckBrands win = new CheckBrands(nextbrand, all.NowPlayer); // 除去顯示牌看是否有暗槓(移除牌組的牌加摸到的牌) CheckBrands kong = new CheckBrands(nextbrand, NowPlayer_removeTeam); // 除去顯示或打出的牌看是否有暗槓 CheckBrands darkkong = new CheckBrands(NowPlayer_removeTeam); // 只有牌組和摸進來的牌做比較 CheckBrands teamKong = new CheckBrands(nextbrand, NowPlayer_OnlyTeam); if (win.Win()) { // 更新資訊盒 setInforamtion(); if (showMessageBox) { ShowMessage(Settings.Default.TouchWin); } win_game(nextbrand); } // 手牌暗槓(摸到有暗槓和手牌中就有暗槓) else if (darkkong.DarkKong() || kong.Kong()) { // 如果是玩家 if (NowPlayer_is_Real_Player) { Brand br = null; if (darkkong.DarkKong()) { br = darkkong.SuccessPlayer.getBrand(0); } else if (kong.Kong()) { br = kong.SuccessPlayer.getBrand(0); } toUser(br, false, false, false, kong.Kong() || darkkong.DarkKong(), false); // 如果玩家按下過水 就跳過 if (Player_Pass_Brand) { Player_Pass_Brand = false; } else { touchBrand(); } } // 如果不是玩家 else { if (showMessageBox) { ShowMessage(Mahjong.Properties.Settings.Default.DarkKong); } if (kong.Kong()) { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } all.DarkKong(nextbrand, kong.SuccessPlayer); } else if (darkkong.DarkKong()) { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } all.DarkKong(nextbrand, darkkong.SuccessPlayer); } touchBrand(); } } // 明碰之後再槓 else if (teamKong.Kong()) { if (NowPlayer_is_Real_Player) { toUser(nextbrand, false, false, teamKong.Kong(), false, false); if (Player_Pass_Brand) { Player_Pass_Brand = false; } else { touchBrand(); } } else { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } if (showMessageBox) { ShowMessage(Mahjong.Properties.Settings.Default.Kong); } all.kong(nextbrand, darkkong.SuccessPlayer); touchBrand(); } } else { // 把牌加入玩家 all.NowPlayer.add(nextbrand); table.updateNowPlayer(); } } }
public CheckTest() { BrandPlayer a = new BrandPlayer(); //a.add(new TenThousandBrand(5)); //a.add(new TenThousandBrand(6)); //a.add(new TenThousandBrand(7)); //a.add(new TenThousandBrand(6)); //a.add(new TenThousandBrand(7)); //a.add(new TenThousandBrand(8)); //a.add(new RopeBrand(4)); //a.add(new RopeBrand(5)); //a.add(new RopeBrand(6)); a.add(new TubeBrand(2)); a.add(new TubeBrand(2)); a.add(new TubeBrand(2)); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(5)); //a.add(new TubeBrand(8)); //a.add(new TubeBrand(8)); //FlowerBrand f = new FlowerBrand(1); //f.Team = 1; //a.add(f); //WordBrand r = new WordBrand(9); ////r.Team = 2; //a.add(r); //a.add(r); //a.add(r); ////a.add(r); //TubeBrand t = new TubeBrand(9); //t.Team = 3; //a.add(t); //a.add(t); //a.add(t); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(9)); //a.add(new TubeBrand(9)); //WordBrand w = new WordBrand(6); //w.Team = 2; //a.add(w); //a.add(w); //a.add(w); //a.add(w); //Brand b = new TubeBrand(2); //CheckUser c = new Check(b,a); printplayer(a); CheckBrands c = new CheckBrands(new TubeBrand(2), a); a.add(new TubeBrand(2)); CheckBrands d = new CheckBrands(a); //if (c.Win()) //{ // Console.WriteLine("有胡!!"); // printplayer(c.SuccessPlayer); //} if (c.Chow()) { Console.WriteLine("==========="); Console.WriteLine("\n有吃"); Console.WriteLine(c.ChowLength); printplayer(c.SuccessPlayer); printplayer(c.ChowPlayer[0]); printplayer(c.ChowPlayer[1]); printplayer(c.ChowPlayer[2]); Console.WriteLine("==========="); } if (c.Pong()) { Console.WriteLine("\n有碰"); printplayer(c.SuccessPlayer); } if (c.Kong()) { Console.WriteLine("\n有槓"); printplayer(c.SuccessPlayer); } if (d.DarkKong()) { Console.WriteLine("\n有暗槓"); printplayer(c.SuccessPlayer); } if (//!c.Win() && !c.Chow() && !c.Pong() && !c.Kong() && !c.DarkKong()) { Console.WriteLine("\n都沒"); } printplayer(a); }
/// <summary> /// ���a���U�t�b�ƥ�I�s /// </summary> internal void dark_kong(Brand brand) { CheckBrands c = new CheckBrands(brand, NowPlayer_removeTeam); CheckBrands d = new CheckBrands(NowPlayer_removeTeam); if (c.Kong()) all.DarkKong(brand, c.SuccessPlayer); else if (d.DarkKong()) all.DarkKong(brand, d.SuccessPlayer); }
/// <summary> /// �N�P /// </summary> internal void touchBrand() { table.updateNowPlayer(); // �N�P���{�b�����a Brand nextbrand = all.nextBrand(); // �ɪ�å[�W�@�i�P if (all.Player_setFlower(nextbrand)) { touchBrand(); } else { // �O�_�J�P�κb�P(��P�[�N�쪺�P) CheckBrands win = new CheckBrands(nextbrand, all.NowPlayer); // ���h��ܵP�ݬO�_���t�b(�����P�ժ��P�[�N�쪺�P) CheckBrands kong = new CheckBrands(nextbrand, NowPlayer_removeTeam); // ���h��ܩΥ��X���P�ݬO�_���t�b CheckBrands darkkong = new CheckBrands(NowPlayer_removeTeam); // �u���P�թM�N�i�Ӫ��P����� CheckBrands teamKong = new CheckBrands(nextbrand, NowPlayer_OnlyTeam); if (win.Win()) { // ��s��T�� setInforamtion(); if (showMessageBox) ShowMessage(Settings.Default.TouchWin); win_game(nextbrand); } // ��P�t�b(�N�즳�t�b�M��P���N���t�b) else if (darkkong.DarkKong() || kong.Kong()) { // �p�G�O���a if (NowPlayer_is_Real_Player) { Brand br = null; if (darkkong.DarkKong()) { br = darkkong.SuccessPlayer.getBrand(0); } else if (kong.Kong()) { br = kong.SuccessPlayer.getBrand(0); } toUser(br, false, false, false, kong.Kong() || darkkong.DarkKong(), false); // �p�G���a���U�L�� �N���L if (Player_Pass_Brand) Player_Pass_Brand = false; else { touchBrand(); } } // �p�G���O���a else { if (showMessageBox) ShowMessage(Mahjong.Properties.Settings.Default.DarkKong); if (kong.Kong()) { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } all.DarkKong(nextbrand, kong.SuccessPlayer); } else if (darkkong.DarkKong()) { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } all.DarkKong(nextbrand, darkkong.SuccessPlayer); } touchBrand(); } } // ���I����A�b else if (teamKong.Kong()) { if (NowPlayer_is_Real_Player) { toUser(nextbrand, false, false, teamKong.Kong(), false, false); if (Player_Pass_Brand) Player_Pass_Brand = false; else { touchBrand(); } } else { if (PlayerSound) { soundplayer.Stream = Resources.kong; soundplayer.Play(); } if (showMessageBox) ShowMessage(Mahjong.Properties.Settings.Default.Kong); all.kong(nextbrand, darkkong.SuccessPlayer); touchBrand(); } } else { // ��P�[�J���a all.NowPlayer.add(nextbrand); table.updateNowPlayer(); } } }
public CheckTest() { BrandPlayer a = new BrandPlayer(); //a.add(new TenThousandBrand(5)); //a.add(new TenThousandBrand(6)); //a.add(new TenThousandBrand(7)); //a.add(new TenThousandBrand(6)); //a.add(new TenThousandBrand(7)); //a.add(new TenThousandBrand(8)); //a.add(new RopeBrand(4)); //a.add(new RopeBrand(5)); //a.add(new RopeBrand(6)); a.add(new TubeBrand(2)); a.add(new TubeBrand(2)); a.add(new TubeBrand(2)); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(5)); //a.add(new TubeBrand(8)); //a.add(new TubeBrand(8)); //FlowerBrand f = new FlowerBrand(1); //f.Team = 1; //a.add(f); //WordBrand r = new WordBrand(9); ////r.Team = 2; //a.add(r); //a.add(r); //a.add(r); ////a.add(r); //TubeBrand t = new TubeBrand(9); //t.Team = 3; //a.add(t); //a.add(t); //a.add(t); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(2)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(3)); //a.add(new TubeBrand(9)); //a.add(new TubeBrand(9)); //WordBrand w = new WordBrand(6); //w.Team = 2; //a.add(w); //a.add(w); //a.add(w); //a.add(w); //Brand b = new TubeBrand(2); //CheckUser c = new Check(b,a); printplayer(a); CheckBrands c = new CheckBrands(new TubeBrand(2), a); a.add(new TubeBrand(2)); CheckBrands d = new CheckBrands(a); //if (c.Win()) //{ // Console.WriteLine("有胡!!"); // printplayer(c.SuccessPlayer); //} if (c.Chow()) { Console.WriteLine("==========="); Console.WriteLine("\n有吃"); Console.WriteLine(c.ChowLength); printplayer(c.SuccessPlayer); printplayer(c.ChowPlayer[0]); printplayer(c.ChowPlayer[1]); printplayer(c.ChowPlayer[2]); Console.WriteLine("==========="); } if (c.Pong()) { Console.WriteLine("\n有碰"); printplayer(c.SuccessPlayer); } if (c.Kong()) { Console.WriteLine("\n有槓"); printplayer(c.SuccessPlayer); } if (d.DarkKong()) { Console.WriteLine("\n有暗槓"); printplayer(c.SuccessPlayer); } if (//!c.Win() && !c.Chow() && !c.Pong() && !c.Kong() && !c.DarkKong()) Console.WriteLine("\n都沒"); printplayer(a); }