/// <summary> /// Ничья /// </summary> /// <param name="user"></param> /// <param name="enemy"></param> public void Draw(UserInGameProcess user, UserInGameProcess enemy) { user.Gold += GameManager.AllBet / 2; enemy.Gold += GameManager.AllBet / 2; user.WinCount++; enemy.WinCount++; }
public void AllInBet(UserInGameProcess userAllInBet, UserInGameProcess enemy) { GameManager.AllBet += userAllInBet.Gold; GameManager.LastBet = userAllInBet.Gold; userAllInBet.Gold = 0; userAllInBet.stateGame = StateGame.allIn; userAllInBet.Step = false; enemy.Step = true; }
public void PassBet(UserInGameProcess userPassBet, UserInGameProcess enemy) { enemy.Gold += GameManager.AllBet; GameManager.LastBet = GameManager.AllBet = 0; enemy.WinCount++; userPassBet.Step = enemy.Step = true; userPassBet.stateGame = enemy.stateGame = StateGame.none; userPassBet.RollRaund = enemy.RollRaund = 0; }
public void UpBet(int gold, UserInGameProcess userUpBet, UserInGameProcess enemy) { userUpBet.Step = false; enemy.Step = true; userUpBet.stateGame = StateGame.upBet; enemy.stateGame = StateGame.none; //по идее в любом случае скидывается, но это не точно userUpBet.Gold -= gold; //списываем бабло GameManager.LastBet = GameManager.LastBet < gold ? (gold - GameManager.LastBet) : gold; //если последняя ставка была меньше чем новая ставка, тогда присваевается разница, если нет, то вся сумма GameManager.AllBet += gold; }
public void AcceptBet(int gold, UserInGameProcess userAcceptBet, UserInGameProcess enemy) { userAcceptBet.Gold -= gold; if (userAcceptBet.Gold < 0) { userAcceptBet.Gold = 0; //если вы пошли в олл-ин то сумма должна быть максимум ноль } GameManager.AllBet += gold; GameManager.LastBet = 0; GameManager.BargainEnd = true;//торг окончен userAcceptBet.Step = enemy.Step = true; userAcceptBet.stateGame = enemy.stateGame = StateGame.none; }
public void Winner(UserInGameProcess user, UserInGameProcess enemy, ApplicationDBContext context) { User userWinnner = context.Users.Include(i => i.UserClient).Where(w => w.Name == user.Name).FirstOrDefault(); userWinnner.UserClient.Gold = user.Gold; if (user.WinCount == 2) { userWinnner.UserClient.WinCount++; //тут изменить систему рангов, пока что просто -- userWinnner.UserClient.Stars++; Rank(userWinnner.UserClient); } else { userWinnner.UserClient.Stars--; Rank(userWinnner.UserClient); } //ememy User userLose = context.Users.Include(i => i.UserClient).Where(w => w.Name == enemy.Name).FirstOrDefault(); userLose.UserClient.Gold = enemy.Gold; //в теории может быть ничья в финале, так что чекаем и этот момент if (enemy.WinCount == 2) { userLose.UserClient.WinCount++; userLose.UserClient.Stars++; Rank(userLose.UserClient); } else { userLose.UserClient.Stars--; Rank(userLose.UserClient); } //ранг не меняем //сохроняем в базе context.SaveChanges(); }
public void TakeBet(UserInGameProcess winner) { winner.Gold += GameManager.AllBet; winner.WinCount++; }