/// <summary> /// Инициализация игры Game /// </summary> /// <param name="form">Форма для связывания с игрой</param> public static void Init(Form form) { CreateLogFile(); CheckWindowSize(form); Graphics g = form.CreateGraphics(); Width = form.ClientSize.Width; Height = form.ClientSize.Height; _context = BufferedGraphicsManager.Current; // Связываем буфер в памяти с графическим объектом, чтобы рисовать в буфере Buffer = _context.Allocate(g, new Rectangle(0, 0, Width, Height)); _backGroundObjects = new List <BackGroundObject>(); _bullets = new List <Bullet>(); _activeObjects = new List <ActiveObject>(); aidStack = new Stack <AidKit>(); gameScore = 0; MakeStarSky(_backGroundObjects); MakeAsteroids(_activeObjects); _shuttle = CreateShuttle(); PrepareAids(aidStack); _aid = null; form.KeyDown += ControlKeyDown; timer = new Timer { Interval = 100 }; timer.Start(); timer.Tick += Timer_Tick; form.ResizeEnd += Form_SizeChanged; }
public GameClient(AbstractGameFactory factory, int fieldWidth, int fieldHeight) { _shuttle = factory.CreateShuttle(fieldHeight); _activeObjects = factory.MakeActiveObjects(fieldWidth, fieldHeight); _aidsClip = factory.MakeAidKit(); _backGroundObjects = factory.MakeStarSky(fieldWidth, fieldHeight); _aid = null; SubcribeAllEvents(); }
public static void CreateShuttle(Form form) { try { Image img = Image.FromFile("img\\space_shuttle.jpg"); SpaceShuttle tmplShuttle = new SpaceShuttle(new Point(5, Game.Height / 2), new Point(0, 0), new Size(25, 25), img); form.KeyDown += tmplShuttle.MoveShuttle; _objs.Add(tmplShuttle); } catch (System.IO.FileNotFoundException e) { } }
/// <summary> /// Установка шатла /// </summary> public override SpaceShuttle CreateShuttle(int height) { try { Image img = Image.FromFile(@"img\space_shuttle.jpg"); SpaceShuttle tmplShuttle = new SpaceShuttle(new Point(5, height / 2), new Size(25, 25), img); return(tmplShuttle); } catch (System.IO.FileNotFoundException e) { throw new GameObjects.Exceptions.GameObjectException(@"Проверьте наличие файла с картинкой шатла " + e.Message); } }
/// <summary> /// Установка шатла /// </summary> /// <param name="form">Форма для связи с событием KeyDown</param> private static SpaceShuttle CreateShuttle() { try { Image img = Image.FromFile(@"img\space_shuttle.jpg"); SpaceShuttle tmplShuttle = new SpaceShuttle(new Point(5, Game.Height / 2), new Size(25, 25), img); tmplShuttle.LogAction += ShowLogs; tmplShuttle.LogAction += WriteLogs; tmplShuttle.ShuttleDieEvent += Finish; return(tmplShuttle); } catch (System.IO.FileNotFoundException e) { throw new GameObjects.Exceptions.GameObjectException(@"Проверьте наличие файла с картинкой шатла " + e.Message); } }