void Start() { if (!isServer) { return; } game = GameObject.FindGameObjectWithTag("Scripts").GetComponent <TexasHoldEm>(); }
static void Main(string[] args) { Console.WriteLine("Game Begin"); bool run = true; var game = new TexasHoldEm(); game.PlayerJoins("Magnus"); game.PlayerJoins("Per"); game.PlayerJoins("Bertil"); //game.PlayerJoins("Sven"); //game.PlayerJoins("Göran"); //game.PlayerJoins("Adrian"); //game.PlayerJoins("Erik"); //game.PlayerJoins("Nils"); while (run) { game.Begin(); foreach (var player in game.Players()) { Console.WriteLine("Name: {0} Card1: {1} Card2: {2}", player.Name, player.Hand.Cards[0], player.Hand.Cards[1]); } foreach (var card in game.Cards) { Console.WriteLine("Card: {0}", card); } Console.WriteLine(); game.End(); foreach (var player in game.Players()) { Console.WriteLine(string.Concat(player.Name, " ", player.Hand.HandType)); } if (Console.ReadLine() == "exit") { run = false; } } }
public override void OnServerDisconnect(NetworkConnection conn) { print("Client disconnected, removing player"); TexasHoldEm game = GameObject.FindGameObjectWithTag("Scripts").GetComponent <TexasHoldEm>(); Player player = null; foreach (Player p in game.Players) { if (p.GetComponent <NetworkIdentity>().connectionToClient == conn) { player = p; } } player.Ready = true; player.Folded = true; game.RemovePlayer(player); }
public IEnumerator GameProgressesCorrectly() { // Scene setup SceneManager.LoadScene("default", LoadSceneMode.Single); yield return(new WaitForSeconds(1)); CustomNetworkManager networkManager = GameObject.FindGameObjectWithTag("NetworkManager").GetComponent <CustomNetworkManager>(); networkManager.StartHost(); yield return(new WaitForSeconds(1)); Table table = GameObject.FindGameObjectWithTag("Table").GetComponent <Table>(); TexasHoldEm game = GameObject.FindGameObjectWithTag("Scripts").GetComponent <TexasHoldEm>(); Assert.IsNotNull(game); Assert.IsNotNull(table); yield return(new WaitForSeconds(1)); game.PlaceHolderStart(); Assert.IsTrue(game.Players.Length == 1); Assert.IsFalse(game.GameIsReady); game.Players[0].Ready = true; yield return(new WaitForSeconds(2)); Assert.IsTrue(game.RoundIsOn); // AI Assert.IsTrue(game.Players.Length == 10); foreach (Player p in game.Players) { Assert.IsTrue(p.Money == game.BuyIn); } }
/// <summary> /// Ticks timer for Texas Hold 'Em Game /// </summary> public override void Execute() { try { TexasHoldEm Game = (TexasHoldEm)Params[0]; if (Game == null || !Game.GameStarted || !TexasHoldEmManager.GameList.ContainsKey(Game.GameId)) { base.EndTimer(); return; } if (Game.PlayerList.Values.Where(x => x != null && x.UserId > 0).ToList().Count <= 0) { Game.RemovePotFurni(); Game.ResetGame(); base.EndTimer(); return; } if (Game.PlayerList.Values.Where(x => x != null && x.UserId > 0).ToList().Count == 1) { Game.EndGame(Game.PlayerList.Keys.FirstOrDefault()); base.EndTimer(); return; } if (CheckPlayers(Game)) { return; } } catch (Exception e) { Logging.LogRPTimersError("Error in Execute() void: " + e); base.EndTimer(); } }
public bool CheckPlayers(TexasHoldEm Game) { bool Failed = false; try { if (Game == null || !Game.GameStarted || !TexasHoldEmManager.GameList.ContainsKey(Game.GameId)) { return(true); } foreach (var Pair in Game.PlayerList) { if (Pair.Value == null || Pair.Value.UserId <= 0) { continue; } GameClient Player = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Pair.Value.UserId); if (Player == null || Player.GetHabbo() == null || Player.GetRoleplay() == null || Player.GetRoleplay().TexasHoldEmPlayer <= 0 || Player.GetRoomUser() == null || Player.GetRoomUser().GetRoom() == null) { if (Player != null && Player.GetRoleplay() != null) { Player.GetRoleplay().TexasHoldEmPlayer = 0; } if (Game.PlayersTurn == Pair.Key) { Game.ChangeTurn(); } ConcurrentDictionary <int, TexasHoldEmItem> Data; if (Pair.Key == 1) { Data = Game.Player1; } else if (Pair.Key == 2) { Data = Game.Player2; } else { Data = Game.Player3; } if (Data != null) { foreach (var Item in Data.Values) { if (Item.Furni != null) { Item.Furni.ExtraData = "0"; Item.Furni.UpdateState(false, true); } Item.Rolled = false; Item.Value = 0; } } Game.RemoveBetFurni(Pair.Key); Game.PlayerList.TryUpdate(Pair.Key, new TexasHoldEmPlayer(0, Game.PlayerList[Pair.Key].CurrentBet, Game.PlayerList[Pair.Key].TotalAmount), Pair.Value); Failed = true; break; } } } catch (Exception e) { Logging.LogRPGamesError("Error in CheckPlayers() void: " + e); } return(Failed); }
public void ExecuteBet(GameClients.GameClient Session, Rooms.Room Room, string[] Params, TexasHoldEm Game) { if (Game.GameSequence <= 0 || Game.GameSequence > 2) { Session.SendWhisper("Você não pode fazer uma aposta (ou passar) agora!", 1); return; } int Number = Session.GetRoleplay().TexasHoldEmPlayer; if (Game.PlayersTurn != Number) { Session.SendWhisper("Não é a sua vez no jogo!", 1); return; } if (!Game.PlayerList.ContainsKey(Number)) { return; } var Player = Game.PlayerList[Number]; if (Player == null || Player.UserId != Session.GetHabbo().Id) { return; } if (Player.TotalAmount <= 0) { // Already has all their chips in (or has the maximum bet rn) Game.ChangeTurn(); return; } bool Zero = false; if (Params.Length > 1 && Params[1].ToLower() == "0") { Zero = true; } if (Params[0].ToLower() == "passar" && Game.MinimumBet(Number) > 0) { Session.SendWhisper("Você não pode passar neste turno! Você deve :apostar ou :sairjogo!", 1); return; } if (Game.MinimumBet(Number) == 0 && (Params.Length == 1 || Params[0].ToLower() == "passar" || Zero)) { // Doesnt need to make a bet, can pass Game.ChangeTurn(); return; } if (Params.Length == 1) { Session.SendWhisper("Digite o valor que você gostaria de apostar!", 1); return; } int Amount; if (!int.TryParse(Params[1], out Amount)) { Session.SendWhisper("Por favor insira um número válido como o valor que você gostaria de apostar!", 1); return; } // Check if its a multiple of 5 if (Convert.ToDouble((double)Amount / 5) != Math.Floor(Convert.ToDouble((double)Amount / 5))) { Session.SendWhisper("Você só pode apostar dinheiro em múltiplos de 5!", 1); return; } if (Player.TotalAmount < Amount) { Amount = Player.TotalAmount; } if (Amount < Game.MinimumBet(Number) && Amount != Player.TotalAmount) { Session.SendWhisper("Você deve apostar pelo menos R$" + String.Format("{0:N0}", Game.MinimumBet(Number)) + " para combinar o pote atual!", 1); return; } if (Session.GetHabbo().Credits < Amount) { Session.SendWhisper("Você não tem tanto dinheiro para apostar!", 1); return; } Session.Shout("*Faz uma aposta de R$" + String.Format("{0:N0}", Amount) + " para os jogos Pot*", 4); Session.GetHabbo().Credits -= Amount; Session.GetHabbo().UpdateCreditsBalance(); Game.PlacePotFurni(Number, Amount); Game.SpawnStartingBet(Number); Game.ChangeTurn(); return; }
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights) { #region Check Banker Dice Roll if (TexasHoldEmManager.GameList.Count > 0) { if (TexasHoldEmManager.GameList.Values.Where(x => x != null && x.Banker != null && x.Banker.Values.Where(y => y != null && y.Furni != null && y.Furni == Item).ToList().Count > 0).ToList().Count > 0) { if (Item.ExtraData != "-1" && Item.TexasHoldEmData != null && Item.TexasHoldEmData.Value == 0) { Item.ExtraData = "-1"; Item.UpdateState(false, true); Item.RequestUpdate(3, true); } return; } } #endregion RoomUser User = null; if (Session != null) { User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); } if (User == null) { return; } if (TexasHoldEmManager.GameList.Count > 0) { if (Session.GetRoleplay() != null && Session.GetRoleplay().TexasHoldEmPlayer > 0) { TexasHoldEm Game = TexasHoldEmManager.GetGameForUser(Session.GetHabbo().Id); if (Game != null) { if (Game.PlayersTurn == Session.GetRoleplay().TexasHoldEmPlayer) { Game.RollDice(Session, Item, Request); } return; } } } if (Gamemap.TilesTouching(Item.GetX, Item.GetY, User.X, User.Y)) { if (Item.ExtraData != "-1") { if (Request == -1) { Item.ExtraData = "0"; Item.UpdateState(); } else { Item.ExtraData = "-1"; Item.UpdateState(false, true); Item.RequestUpdate(3, true); } } } else { User.MoveTo(Item.SquareInFront); } }
void Start() { player = transform.root.GetComponent <Player>(); game = GameObject.FindGameObjectWithTag("Scripts").GetComponent <TexasHoldEm>(); EnableUI(false); }