Example #1
0
        public Field(
            float px, float py,
            GameConfig gameConfig, AiLogger aiLogger, GameMain gameMain, SpriteBatch spriteBatch = null,
            Camera camera = null,
            MonoGameControl gameControl = null, string fileName = null)
        {
            SpriteBatch = spriteBatch;
            Camera      = camera;
            GameMain    = gameMain;
            GameConfig  = gameConfig;
            AiLogger    = aiLogger;
            X           = px;
            Y           = py;

            _ojamaQueues = new Queue <OjamaBall> [Column + 1];
            for (var i = 1; i <= Column; ++i)
            {
                _ojamaQueues[i] = new Queue <OjamaBall>();
            }

            _balls   = new Ball[Column, Row];
            BallSize = Math.Min(FieldWidth / Column, FieldHeight / Row);

            Initialize();

            if (fileName == null)
            {
                Player = new HumanPlayer(this, gameControl, Camera, GameMain);
            }
            else
            {
                Player = new AiPlayer(this, GameMain, fileName);
            }
        }
Example #2
0
        public Field(
            float px, float py,
            GameConfig gameConfig, AiLogger aiLogger, GameMain gameMain, SpriteBatch spriteBatch, Camera camera,
            MonoGameControl gameControl, ReplayPlayerData replayPlayerData)
        {
            SpriteBatch = spriteBatch;
            Camera      = camera;
            GameMain    = gameMain;
            GameConfig  = gameConfig;
            AiLogger    = aiLogger;
            X           = px;
            Y           = py;

            _ojamaQueues = new Queue <OjamaBall> [Column + 1];
            for (var i = 1; i <= Column; ++i)
            {
                _ojamaQueues[i] = new Queue <OjamaBall>();
            }

            _balls   = new Ball[Column, Row];
            BallSize = Math.Min(FieldWidth / Column, FieldHeight / Row);

            Initialize();

            Player = new ReplayPlayer(this, GameMain, replayPlayerData);
        }
Example #3
0
        public PersistentField(float px, float py, GameConfig gameConfig, AiLogger aiLogger,
                               GameMain gameMain, SpriteBatch spriteBatch, Camera camera, MonoGameControl gameControl,
                               ReplayPlayerData replayPlayerData)
            : base(
                px, py, gameConfig, aiLogger, gameMain, spriteBatch, camera, gameControl,
                replayPlayerData)
        {
            _crossParticle = new CrossParticle(SpriteBatch, Camera, GameMain, this)
            {
                IsPersistent = true
            };
            _crossParticle.LoadContent();

            _turnCaches.Add(new TurnCache(this));
            _replayPlayerData = replayPlayerData;
        }