internal static ConsolePlayer Create(PolyGame game, int variant = -1) { var ret = new ConsolePlayer { Game = (variant == -1) ? game : game.Create(variant) }; return(ret); }
// create game model by parsing script internal static GameBoardModel Create(GameManager game, ScriptInfo script) { var gameprog = game.Items.LoadScript(script); if (gameprog == null) { return(null); } // guaranteed never to raise exception!!! var engine = PolyGame.Create(script.Filename, new StringReader(gameprog)); return((engine == null) ? null : new GameBoardModel { Script = script, Seed = 1, // FIX: optional _polygame = engine, }.Setup()); }
static PlayWrapper LoadGame(string gamename, int variant, int level = -1, bool inner = false) { if (level >= 0) { Logger.Level = level; } var game = (inner) ? ((gamename != null) ? PolyGame.CreateInner(gamename) : PolyGame.CreateInner(InputPath)) : ((gamename != null) ? PolyGame.Create(gamename) : PolyGame.Create(InputPath)); if (game == null) { Logger.WriteLine(1, "\n*** {0} did not load ***\n{1}", gamename, PolyGame.LastError); return(null); } if (Logger.Level >= 1) { ShowMenu(gamename, game); } return(new PlayWrapper { Player = ConsolePlayer.Create(game, variant) }); }