public static DataSet GetUsersByGameType(ChessTypeE chessType, GameType gameType) { Kv kv = new Kv(); kv.Set("MethodName", (int)MethodNameE.GetUsersByGameType); kv.Set(StdKv.CurrentUserID, Ap.CurrentUserID); kv.Set("ChessTypeID", (int)chessType); kv.Set("GameTypeID", (int)gameType); DataSet ds = SocketClient.Instance.Invoke(kv.DataTable.Copy()); return(ds); }
public static Room GetRoomByTournamentID(Cxt cxt, ChessTypeE chessTypeE) { Room Room = null; if (chessTypeE == ChessTypeE.Human) { Room = new Room(cxt, BaseCollection.SelectItem(InfiChess.Room, "ParentID = 7 and (TournamentID is NULL or TournamentID = 0) ")); } else if (chessTypeE == ChessTypeE.Engine) { Room = new Room(cxt, BaseCollection.SelectItem(InfiChess.Room, "ParentID = 12 and (TournamentID is NULL or TournamentID = 0) ")); } return(Room); }
int GetEloBeforeRating(int rating, int chessType) { if (rating == 0) { ChessTypeE ChessTypeIDE = (ChessTypeE)Enum.ToObject(typeof(ChessTypeE), chessType); if (ChessTypeIDE == ChessTypeE.Engine) { rating = 2200; } else if (ChessTypeIDE == ChessTypeE.Human) { rating = 1500; } } return(rating); }
void GetGameType(string strGameType) { switch (strGameType) { case HumanBullet: chessType = ChessTypeE.Human; gameType = GameType.Bullet; break; case HumanBiltz: chessType = ChessTypeE.Human; gameType = GameType.Blitz; break; case HumanLong: chessType = ChessTypeE.Human; gameType = GameType.Long; break; case HumanRapid: chessType = ChessTypeE.Human; gameType = GameType.Rapid; break; case EngineBullet: chessType = ChessTypeE.Engine; gameType = GameType.Bullet; break; case EngineComputer: chessType = ChessTypeE.Engine; gameType = GameType.Blitz; break; case EngineSlow: chessType = ChessTypeE.Engine; gameType = GameType.Long; break; case Centrues: break; default: break; } }
private void LoadRating(string userName) { ProgressForm frmProgress = ProgressForm.Show(this, "Loading Rating..."); UserElo ue = null; if (userName == "") { ue = new UserElo(userID); } else { ue = new UserElo(userName); } DataTable dt = UserElo.UserGamesRating; int tabs = tabControl1.TabCount; tabs--; if (dt != null && dt.Rows.Count > 0) { isRated = true; this.userID = Convert.ToInt32(dt.Rows[0]["UserID"]); this.userName = dt.Rows[0]["UserName"].ToString(); tabControl1.TabPages.RemoveAt(tabs); var gameTypes = (from DataRow dr in dt.Rows select new { ChessTypeID = dr["ChessTypeID"], GameTypeID = dr["GameTypeID"] }).Distinct(); var centaurGameType = (from DataRow dr in dt.Rows select new { ChessTypeID = 3 }).Distinct(); int ChessTypeID = 0; int GameTypeID = 0; bool isCentaurTabOpened = false; foreach (var item in gameTypes) { ChessTypeID = Convert.ToInt32(item.ChessTypeID); GameTypeID = Convert.ToInt32(item.GameTypeID); ChessTypeE chessType = (ChessTypeE)ChessTypeID; GameType gameType = (GameType)GameTypeID; #region ChessType switch (chessType) { case ChessTypeE.Human: switch (gameType) { case GameType.Bullet: tabControl1.TabPages.Add("Bullet"); RatedGameResultUc ratedGameResultUc1 = new RatedGameResultUc(); ratedGameResultUc1.UserID = UserID; ratedGameResultUc1.chessTypeID = ChessTypeID; ratedGameResultUc1.gameTypeID = GameTypeID; ratedGameResultUc1.UserElo = ue; ratedGameResultUc1.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc1); tabs++; break; case GameType.Blitz: tabControl1.TabPages.Add("Blitz"); RatedGameResultUc ratedGameResultUc2 = new RatedGameResultUc(); ratedGameResultUc2.UserID = UserID; ratedGameResultUc2.chessTypeID = ChessTypeID; ratedGameResultUc2.gameTypeID = GameTypeID; ratedGameResultUc2.UserElo = ue; ratedGameResultUc2.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc2); tabs++; break; case GameType.Rapid: tabControl1.TabPages.Add("Rapid"); RatedGameResultUc ratedGameResultUc3 = new RatedGameResultUc(); ratedGameResultUc3.UserID = UserID; ratedGameResultUc3.chessTypeID = ChessTypeID; ratedGameResultUc3.gameTypeID = GameTypeID; ratedGameResultUc3.UserElo = ue; ratedGameResultUc3.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc3); tabs++; break; case GameType.Long: tabControl1.TabPages.Add("Long"); RatedGameResultUc ratedGameResultUc4 = new RatedGameResultUc(); ratedGameResultUc4.UserID = UserID; ratedGameResultUc4.chessTypeID = ChessTypeID; ratedGameResultUc4.gameTypeID = GameTypeID; ratedGameResultUc4.UserElo = ue; ratedGameResultUc4.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc4); tabs++; break; } break; case ChessTypeE.Engine: switch (gameType) { case GameType.Bullet: tabControl1.TabPages.Add("Computer/Bullet"); RatedGameResultUc ratedGameResultUc5 = new RatedGameResultUc(); ratedGameResultUc5.UserID = UserID; ratedGameResultUc5.chessTypeID = ChessTypeID; ratedGameResultUc5.gameTypeID = GameTypeID; ratedGameResultUc5.UserElo = ue; ratedGameResultUc5.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc5); tabs++; break; case GameType.Blitz: tabControl1.TabPages.Add("Computer/Blitz"); RatedGameResultUc ratedGameResultUc6 = new RatedGameResultUc(); ratedGameResultUc6.UserID = UserID; ratedGameResultUc6.chessTypeID = ChessTypeID; ratedGameResultUc6.gameTypeID = GameTypeID; ratedGameResultUc6.UserElo = ue; ratedGameResultUc6.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc6); tabs++; break; case GameType.Rapid: tabControl1.TabPages.Add("Computer/Rapid"); RatedGameResultUc ratedGameResultUc7 = new RatedGameResultUc(); ratedGameResultUc7.UserID = UserID; ratedGameResultUc7.chessTypeID = ChessTypeID; ratedGameResultUc7.gameTypeID = GameTypeID; ratedGameResultUc7.UserElo = ue; ratedGameResultUc7.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc7); tabs++; break; case GameType.Long: tabControl1.TabPages.Add("Computer/Long"); RatedGameResultUc ratedGameResultUc8 = new RatedGameResultUc(); ratedGameResultUc8.UserID = UserID; ratedGameResultUc8.chessTypeID = ChessTypeID; ratedGameResultUc8.gameTypeID = GameTypeID; ratedGameResultUc8.UserElo = ue; ratedGameResultUc8.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc8); tabs++; break; } break; case ChessTypeE.Centaur: if (!isCentaurTabOpened) { tabControl1.TabPages.Add("Centaur"); RatedGameResultUc ratedGameResultUc9 = new RatedGameResultUc(); ratedGameResultUc9.UserID = UserID; ratedGameResultUc9.chessTypeID = 3; ratedGameResultUc9.gameTypeID = 0; ratedGameResultUc9.UserElo = ue; ratedGameResultUc9.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc9); tabs++; isCentaurTabOpened = true; } break; case ChessTypeE.Correspondence: tabControl1.TabPages.Add("Correspondence"); RatedGameResultUc ratedGameResultUc10 = new RatedGameResultUc(); ratedGameResultUc10.UserID = UserID; ratedGameResultUc10.chessTypeID = ChessTypeID; ratedGameResultUc10.gameTypeID = GameTypeID; ratedGameResultUc10.UserElo = ue; ratedGameResultUc10.SetRating(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc10); tabs++; break; default: break; } } #endregion } else { RatedGameResultUc ratedGameResultUc = new RatedGameResultUc(); tabControl1.TabPages[tabs].Controls.Add(ratedGameResultUc); isRated = false; } frmProgress.Close(); }
public static DataTable GetUsersByGameType(Cxt cxt, ChessTypeE ChessTypeE, GameType GameTypeE) { return(BaseCollection.Execute("GetTopRatingByGameType", ChessTypeE.ToString("d"), GameTypeE.ToString("d"))); }
private void NewGame() { ChessTypeE chessType = ChessTypeE.None; if (base.Game.DbGame.IsCurrentUserWhite) { chessType = base.Game.DbGame.WhiteChessTypeIDE; } else if (base.Game.DbGame.IsCurrentUserBlack) { chessType = base.Game.DbGame.BlackChessTypeIDE; } if (base.Game.DbGame.IsKibitzer) { EnableKibitzerMode(true); base.Game.NewGame(GameMode.Kibitzer, (GameType)base.Game.DbGame.GameTypeID); } else { switch (chessType) { case ChessTypeE.None: break; case ChessTypeE.Human: EnableKibitzerMode(false); base.Game.NewGame(GameMode.OnlineHumanVsHuman, (GameType)base.Game.DbGame.GameTypeID); break; case ChessTypeE.Engine: base.Game.NewGame(GameMode.OnlineEngineVsEngine, (GameType)base.Game.DbGame.GameTypeID); DisableOfferDraw(); break; case ChessTypeE.Centaur: EnableCentaurMode(true); base.Game.NewGame(GameMode.OnlineHumanVsHuman, (GameType)base.Game.DbGame.GameTypeID); break; case ChessTypeE.Correspondence: break; default: break; } } if (base.Game.DbGame.IsCurrentUserBlack) { if (!ChessBoardUc.Flipped) { base.FlipBoard(); } } else { if (ChessBoardUc.Flipped) { base.FlipBoard(); } } SetStatusbarMessage("Ready - New Game"); this.Text = "[" + Ap.CurrentUser.UserName + "] - " + base.Game.DbGame.WhiteUser.UserName + " - " + base.Game.DbGame.BlackUser.UserName + " , " + ((GameType)base.Game.DbGame.GameTypeID).ToString() + " , " + base.Game.DbGame.TimeMin.ToString() + "' + " + base.Game.DbGame.GainPerMoveMin.ToString() + "'' - " + DateTime.Today.Year.ToString(); if (base.Game.DbGame.IsRated) { this.Text += " Rated"; } else { this.Text += " Unrated"; } }
public void GameWindowClosed() { ChessTypeE chessType = (ChessTypeE)Ap.PlayingMode.ChessTypeID;// PlayingModeData.Instance.ChessTypeID; UserStatusE userStatus = UserStatusE.Blank; // by default user status set to "Playing" userStatus = UserStatusE.Playing; // if closing playing game window and atleast one kibitzer window is opened, then user status will be "Kibitzer" if (Ap.KibitzersCount > 0 && (!Ap.IsGameInProgress || (Ap.IsGameInProgress && Ap.Game.DbGame.ID == this.DbGame.ID))) { userStatus = UserStatusE.Kibitzer; } // if close playing game window and there is no kibitzer, then user status will be one of the following options (based on chess type)" else if (Ap.KibitzersCount == 0 && Ap.IsGameInProgress && Ap.Game.DbGame.ID == this.DbGame.ID) { switch (chessType) { case ChessTypeE.None: case ChessTypeE.Human: case ChessTypeE.Correspondence: userStatus = UserStatusE.Blank; break; case ChessTypeE.Engine: userStatus = UserStatusE.Engine; break; case ChessTypeE.Centaur: userStatus = UserStatusE.Centaur; break; default: break; } } // if closing kibitzer window and there is no other kibitzer or playing game window, then user status will be one of the following options (based on chess type)" else if (Ap.KibitzersCount == 0 && !Ap.IsGameInProgress) { switch (chessType) { case ChessTypeE.None: case ChessTypeE.Human: case ChessTypeE.Correspondence: userStatus = UserStatusE.Blank; break; case ChessTypeE.Engine: userStatus = UserStatusE.Engine; break; case ChessTypeE.Centaur: userStatus = UserStatusE.Centaur; break; default: break; } } UserLeaveGame(userStatus); Ap.MsgQueue.Clear(this.DbGame.GameID); DbGame = null; }