public ActionResult Roll(int roll) { g = GetGame(); if (g == null) return RedirectToAction("Index", "Home"); if (g.State == GameState.BeginStep) { if (g.IsManualMode) { var p = g.GetPlayer(CurrUser); if (p.ManRoll == 0) { p.ManRoll = roll; g.Tlog("step.ManRoll.pressed", "{0} нажал", "{0} pressed", p.htmlName); } } else if (g.IsCurrPlayer(CurrUser)) PlayerStep.MakeStep(g); } return RenderGame(g); }
public static string ShowGameState(Game g, string uname) { if (g == null) return ""; var p = g.GetPlayer(uname); if (p == null) return g.Text("PlayerState.WatchingGame", "Вы наблюдаете за игрой", "You are watching game"); string paction = ""; string rolled = "";// string.Format("roll {0} <br />", g.Curr.PrintLastRoll); var IsCurrPlayer = g.IsCurrPlayer(uname); if (!IsCurrPlayer && !g.IsManualMode) paction = rolled + g.Text("Map.Waiting", "ждите ход...", "waiting..."); if (p.IsBot) return rolled + g.Text("Map.RenderBotPlaying", "играет компьютер...", "Bot playing..."); switch (g.State) { case GameState.BeginStep: paction = GameRender.RenderStartState(g, uname); paction += "<br />" + GameRender.RenderRollButton(g, uname); break; case GameState.Mortgage: paction = g.Text("Mortage.Cell", "земля заложена <br />", "land is mortgaged <br />"); break; case GameState.CanBuy: if (IsCurrPlayer) { var tt = g.Text("pAction.CanBuy", "вы можете купить", "you can buy"); paction = string.Format("{0} {1}<br /> {2}", tt, g.CurrCell.Name, UIParts("BuyOrAuc")); } break; case GameState.Auction: paction = RenderAuction(g, uname); break; case GameState.Trade: paction = GameRender.RenderTradeProposal(g, uname); break; case GameState.NeedPay: if (IsCurrPlayer) { if (g.Curr.Police == 4) paction = string.Format("{0} {1} {2}", g.Text("pAction.MustPay", "вы должны заплатить", "you must pay"), UIParts("ButtonPay"), g.PayAmount.PrintMoney() ); else paction = string.Format("{0} {1}", UIParts("ButtonPay"), g.PayAmount.PrintMoney()); } break; case GameState.CantPay: if (IsCurrPlayer) { paction = g.Text("CannotPay", "у вас нет денег, попробуйте заложить", "not enough money, try mortgage land"); if (g.CurrCell.Owner == null && g.CurrCell.IsLand) paction += "<br />" + UIParts("BuyOrAuc"); else paction += "<br />" + UIParts("ButtonPay"); } //g.State = GameState.Pay; break; case GameState.MoveToCell: if (IsCurrPlayer) { if (g.LastRandomCard != null && g.LastRandomCard.Pos != 10) paction = string.Format("{0} {1} {2}", UIParts("ButtonRandomMove"), g.Text("go.RanodmMove", " на клетку ", " to cell "), g.LastRandomCard.Pos); else paction = string.Format("{0} {1}", UIParts("ButtonRandomMove"), g.Text("go.RanodmMove.Police", "вас задержал интерпол", "go to Police")); } break; case GameState.RandomCell: if (g.IsCurrPlayer(uname)) { paction = string.Format("{0} {1}", g.LastRandomCard.Text, UIParts("ButtonOK")); } else paction = g.LastRandomCard.Text; break; default: paction = "Nothing"; break; } return string.Format("{0}", paction); //var lr = g.LastRoll != null ? g.LastRoll : new[] { 1, 1 }; //var roll = string.Format("{0}<br /> {1} {2}", // g.Text("Map.LastRoll", "последний бросок", "last roll"), // //g.Curr.htmlName, // ImageHelper.GetRollImage(lr[0]), // ImageHelper.GetRollImage(lr[1])); //return string.Format("{0} <br /> {1}", roll, paction); }