public GameRecords(byte playingHeight, byte playingWidth, string InitAmusFilename, string initPathFilename, string initAccFilename, string RevealingRulesFilename) { // ----- setting variables ----- parkClosed = true; this.playingHeight = playingHeight; this.playingWidth = playingWidth; this.internalHeight = (byte)(playingHeight + 2); this.internalWidth = (byte)(playingWidth + 2); maxAmusementsCount = playingHeight * playingWidth + 1; // max. count of amusements that can user build, + 1 due to the gate which does not lie on the playing place money = initialMoney; // ----- creating containers ----- maps = new Map(internalWidth, internalHeight, this); gate = new Gate(this, new Coordinates(0, (byte)(new Random()).Next(1, internalHeight - Gate.height - 1))); amusList = new AmusementsList(maxAmusementsCount, gate); // ----- loading initialization data ----- System.Drawing.Image[] im = { Properties.Images.gate, Properties.Images.enter, Properties.Images.exit }; Data data = new Data(im); LoadExternalData(data, InitAmusFilename, initPathFilename, initAccFilename, RevealingRulesFilename); images = data.GetImages(); InitializeCurrBuildedItemsArray(data.GetItemsCount()); effects = new SpecialEffects(this, data.laterShowedItems); data = null; // due to GC }