private void UpdateTries() { NumberOfTries = (int)Mathf.Clamp(NumberOfTries + 1, 0, MaxNumberOfTries); GameStartModel startModel = new GameStartModel(RemainingTries); Messenger.Broadcast <IGameStartModel>(Signals.UpdateAttackTries(), startModel); }
public IActionResult StartGame(GameStartModel model) { if (HybridSupport.IsElectronActive && !_isInitialized) { ElectronNET.API.Electron.IpcMain.OnSync("get-next-move", (args) => { var move = JsonConvert.DeserializeObject <NextMoveModel>(args.ToString()); var nextMove = _uciConnector.GetNextMoveByFen(move.Fen, move.Depth); var from = nextMove.Substring(0, 2); var to = nextMove.Substring(2, 2); char?promotion = null; if (nextMove.Length == 5) { promotion = nextMove.Last(); } var response = new { engineMove = new { from, to, promotion } }; return(JsonConvert.SerializeObject(response)); }); _isInitialized = true; } var gameModel = new GameConfigModel(); gameModel.Depth = model.SetDepth ? model.Depth : model.SelectedLevel; if (model.StartColor == "random") { gameModel.StartColor = (new Random().Next() & 1) == 0 ? "w" : "b"; } else { gameModel.StartColor = model.StartColor; } return(View(gameModel)); }
private void StartGame(int stage = 0) { _stage = stage; _numberOfValidTries = 0; NumberOfTries = 0; int triesIndex = Mathf.Clamp(_stage, 0, Settings.TriesModels.Length - 1); IGameControllerTriesModel triesModel = Settings.TriesModels[triesIndex]; MaxNumberOfTries = Random.Range(triesModel.Tries, triesModel.Tries + triesModel.TriesRange); Messenger.AddListener(Signals.StartAttack(), UpdateTries); Messenger.AddListener(Signals.AttackSucces(), AttackSuccesHandler); Messenger.AddListener(Signals.AttackFailed(), AttackFailedHandler); GameStartModel model = new GameStartModel(RemainingTries); Messenger.Broadcast <IGameStartModel>(Signals.UpdateAttackTries(), model); Messenger.Broadcast(Signals.GameStartPhase()); }
public IActionResult Index() { var model = new GameStartModel(); model.Colors = new List <SelectListItem> { new SelectListItem { Value = "w", Text = _localizationService.GetResource("colors.white") }, new SelectListItem { Value = "b", Text = _localizationService.GetResource("colors.black") }, new SelectListItem { Value = "random", Text = _localizationService.GetResource("colors.random") } }; model.Levels = new List <SelectListItem> { new SelectListItem { Value = "1", Text = "1" }, new SelectListItem { Value = "2", Text = "2" }, new SelectListItem { Value = "3", Text = "3" }, new SelectListItem { Value = "4", Text = "4" }, new SelectListItem { Value = "6", Text = "5" }, new SelectListItem { Value = "8", Text = "6" }, new SelectListItem { Value = "10", Text = "7" }, new SelectListItem { Value = "12", Text = "8" } }; return(View(model)); }