public HttpResponseMessage AddGame() { gameLogs = new GameLogs(); try { frameList = gameLogs.AddNewGame(); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, e.Message)); } var responseMessage = Request.CreateResponse(HttpStatusCode.Created, frameList); for (var i = 0; i < Request.RequestUri.Segments.Length - 1; i++) { request += Request.RequestUri.Segments[i]; } response = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority + request + frameList.Id; responseMessage.Headers.Location = new Uri(response); return(responseMessage); }
public HttpResponseMessage AddFrame(string id, [FromBody] Rolls frame) { gameLogic = new GameLogic(); gameLogs = new GameLogs(); if (frame == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No Input")); } frameList = gameLogs.GameId(id); if (frameList == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Please create a game first!")); } try { gameLogic.ControllInput(frame); frameList.RollsList.Add(frame); AddRollsFrame(frame); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.BadRequest, e.Message)); } gameLogs.SaveLogs(); return(Request.CreateResponse(HttpStatusCode.Created, frameList)); }
void Start() { gamesLogs = SaveManager.GetAllLogs(fileName); gameCurrent = gamesLogs.games[0]; indexLogs = 0; logCurrent = gameCurrent.logs[indexLogs]; state = State.PLAYING; }
public DraftKingsPlayerSelection(LineUpData player, List <PlayerGameLog> gameLogs) { Tier = player.Tier; PlayerName = player.Name; HomeOrAway = player.HomeTeam == player.Team ? "Home" : "Away"; GameLogs = gameLogs.OrderByDescending(x => x.GameInfo.Date).ToList(); AvgFPLast10 = Statistics.Mean(GameLogs.Select(x => CalculateFanPoints(x))); VarFPLast10 = Statistics.Variance(GameLogs.Select(x => CalculateFanPoints(x))); }
public void Test_if_ID_Exist_not_exist() { GameLogs gameLogs = new GameLogs(); try { gameLogs.GameId("c42b7522-3f3a-43bb-a572-xxxxxxxxx"); } catch (Exception e) { Assert.AreEqual(e.Message, "no ID found"); } }
public void Test_if_ID_Exist() { GameLogs gameLogs = new GameLogs(); try { gameLogs.GameId("c42b7522-3f3a-43bb-a572-bfd437da2817"); } catch (Exception e) { Assert.AreEqual(e.Message, "ID OK"); } }
private void SaveGameLogs() { try { LogFileWriter writer = new LogFileWriter(); Logger.Info(Language.Instance.GetMessageFromKey("SAVE_GAMELOGS")); List <GameLogEntry> tmp = GameLogs.GetAllItems(); GameLogs.Clear(); DateTime current = DateTime.UtcNow; string path = "gamelogs"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, current.Year.ToString()); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, current.Month.ToString()); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path = Path.Combine(path, current.Day.ToString()); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } writer.WriteLogFile( Path.Combine(path, $"{(current.Hour < 10 ? $"0{current.Hour}" : $"{current.Hour}")}.{(current.Minute < 10 ? $"0{current.Minute}" : $"{current.Minute}")}.ong"),
// Use this for initialization void Start() { currentGameLogs = new GameLogs(); }
public void AddGame(GameLogs game) { games.Add(game); }
public void RecordLog(GameLogs log, Board board) { AppendRecordsLine($"[Round: {log.Round}] | [Player: {log.currentPlayer.Name} {log.currentPlayer.Id} : {log.currentPlayer.Gold}]"); switch (log.Type) { case LogEventType.AddPlayer: AppendRecordsLine($"[{log.ID}] | 添加玩家:{log.PlayerName}, {log.Info}"); break; case LogEventType.Move: Card card = board.BoardMap[log.EndPoint].PositionCard; AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 移动: from {log.StartPoint} to {log.EndPoint}"); RecordCard(card); break; case LogEventType.IdolContract: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 签约艺人: {log.CardEvent.Id},花费 ${log.CardEvent.InitCost}"); break; case LogEventType.RoundReward: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 获得初始点奖励 {log.GoldWin}"); break; case LogEventType.GoldChange: if (log.CpLoss == 0) { AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 回合支付结算,{log.PayFrom} 向 {log.PayTo} 支付 ${log.GoldLoss}"); } else { AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 回合支付结算,{log.PayFrom} 向 {log.PayTo} 支付 ${log.GoldLoss} + CP: ${log.CpLoss}"); } break; case LogEventType.LevelUp: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 对艺人{log.LevelChangePositionNo}进行升级,lv{log.LevelUpFrom} - lv{log.LevelUpTo},花费${log.CardEvent.LevelUpCost}"); break; case LogEventType.ChanceCardWin: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 获得机会卡 {log.ChanceCardWin}"); break; case LogEventType.ChanceCardUse: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 使用机会卡 {log.ChanceCardUse}"); break; case LogEventType.ChangeCardTrigger: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 触发命运卡 {log.ChangeCardTrigger}"); break; case LogEventType.StartGame: AppendRecordsLine($"[{log.ID}] 游戏开始,欢迎来到 - 杨村大富翁"); break; case LogEventType.PositionFix: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 位置修正 {log.Info}"); break; case LogEventType.PlayerFix: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 信息修正 {log.Info}"); break; case LogEventType.GoldFix: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} 金币修正 {log.Info}"); break; case LogEventType.LevelFix: AppendRecordsLine($"[{log.ID}] |艺人 {log.LevelChangePositionNo} 等级修正 {log.Info}"); break; case LogEventType.IdolOwnerFix: AppendRecordsLine($"[{log.ID}] |艺人 {log.LevelChangePositionNo} 所属经纪人修正 {log.Info}"); break; case LogEventType.BackHome: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; case LogEventType.Holiday: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; case LogEventType.HolidayEnd: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; case LogEventType.Education: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; case LogEventType.Mortgage: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; case LogEventType.Redeem: AppendRecordsLine($"[{log.ID}] |玩家 {log.PlayerName} :{log.Info}"); break; default: break; } }