コード例 #1
0
        public RogueskivInputHandler(
            UxContext uxContext, RogueskivGame game, IGameRenderer gameRenderer
            )
            : base(
                uxContext,
                game,
                gameRenderer,
                controlsByKeys: new Dictionary <int, int>
        {
            { (int)SDL_Keycode.SDLK_q, (int)Controls.QUIT },
            { (int)SDL_Keycode.SDLK_ESCAPE, (int)Controls.PAUSE },

            { (int)SDL_Keycode.SDLK_UP, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_DOWN, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_LEFT, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_RIGHT, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_w, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_s, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_a, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_d, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_KP_8, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_KP_2, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_KP_4, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_KP_6, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_n, (int)Controls.TOGGLE_SOUNDS },
            { (int)SDL_Keycode.SDLK_m, (int)Controls.TOGGLE_MUSIC },
        },
                closeWindowControl: (int)Controls.CLOSE_WINDOW,
                toggleMusicControl: (int)Controls.TOGGLE_MUSIC
                )
        {
        }
コード例 #2
0
        public GameScreen(IGameWorld gameWorld, INetworkManager networkManager) : base("GameScreen")
        {
            GameWorld      = gameWorld;
            NetworkManager = networkManager;

            PacketManager.Initialize(networkManager);

            var gameScreenUserInterface = new GameScreenUserInterface();

            _interfaceController = new GameScreenUserInterfaceController(gameScreenUserInterface);
            UserInterface        = new MyraUserInterface(gameScreenUserInterface);

            _bluePrintManager = new BluePrintManager(this);

            var updateResolver = new CameraBoundsUpdateResolver(_camera);

            _gameRenderer = new GameRenderer(
                new PlayerRenderer(),
                new WorldRenderer(),
                new LightMapRenderer(),
                updateResolver);

            _playerCreator = new PlayerCreator(
                GameWorld,
                _interfaceController,
                _camera,
                updateResolver);
        }
コード例 #3
0
ファイル: GameEngine.cs プロジェクト: BattleFieldTwo/Teamwork
        /// <summary>
        /// This method initializes the GameEngine renderer.
        /// </summary>
        /// <param name="renderer">Object of type IGameRenderer.</param>
        /// <returns>New GameEngine instance holding the IGameRenderer object.</returns>
        public static GameEngine Instance(IGameRenderer renderer)
        {
            if (instance == null)
            {
                instance = new GameEngine(renderer);
            }

            return instance;
        }
コード例 #4
0
        // start a new gameform using the supplied queuemanager and renderer components
        public GameForm(IClientMessenger clientMessenger, IGameRenderer renderer)
        {
            InitializeComponent();

            pbScreen.Image = new Bitmap(pbScreen.Width, pbScreen.Height);

            this.renderer = renderer;

            StartGameListener(clientMessenger);

            this.messenger = clientMessenger;
        }
コード例 #5
0
 public GameEngine(IGameRenderer renderer)
 {
     this.Renderer              = renderer;
     this.Renderer.UIAction    += UIActionHandler;
     this.GameObjects           = new List <IGameObject>();
     this.Bullets               = new List <IBullet>();
     this.Birds                 = new List <IBird>();
     this.Items                 = new List <IGameObject>();
     this.CollisionDetector     = new SimpleCollisionDetector();
     this.AffectableGameObjects = new List <IAffectableGameObject>();
     this.Generator             = new ItemGenerator();
 }
コード例 #6
0
ファイル: GameEngine.cs プロジェクト: Crul/Rogueskiv
 public GameEngine(
     IGameContext gameContext,
     IInputHandler inputHandler,
     IGame <T> game,
     IGameRenderer renderer
     )
 {
     GameContext  = gameContext;
     InputHandler = inputHandler;
     Game         = game;
     Renderer     = renderer;
 }
コード例 #7
0
 public Engine(IMap map, IGameRenderer renderer)
 {
     this.gameMap       = map;
     this.gameRenderer  = renderer;
     this.bestScore     = new HighScore();
     this.isGameStarted = false;
     this.timer         = new DispatcherTimer();
     this.soundProvider = new SoundProvider();
     this.dotFactory    = new DotFactory();
     this.gameRenderer.UIActionHappened += this.HandleUIActionHappened;
     this.StartGame();
 }
コード例 #8
0
        public ISpaceshipGameObject Get(IGameRenderer renderer)
        {
            var spaceshipSize = new Size(SpaceshipWidth, SpaceshipHeight);

            int spaceshipLeft = 0;
            int spaceshipTop = (renderer.Height / 2) - (spaceshipSize.Height / 2);

            var spaceshipPosition = new Position(spaceshipLeft, spaceshipTop);

            ISpaceshipGameObject newSpaceship = new SpaceshipGameObject(spaceshipPosition, spaceshipSize, renderer);
            return newSpaceship;
        }
コード例 #9
0
 public PickableRenderer(
     IGameRenderer gameRenderer,
     UxContext uxContext,
     IRenderizable game,
     IntPtr texture,
     SDL_Rect textureRect
     )
     : base(
         uxContext,
         game,
         new PickableSpriteProvider <T>(texture, textureRect)
         ) =>
コード例 #10
0
ファイル: Player.cs プロジェクト: meherbensaid/KataTDD
        public Player(string playerName, IGameRenderer renderer = null)
        {
            _playerName = playerName;

            if (renderer == null)
            {
                return;
            }
            PurseChanged                 += renderer.ShowPlayerPurses;
            InPenaltyChanged             += renderer.ShowSentPlayerToPenality;
            IsGettingOutOfPenaltyChanged += renderer.ShowGettingOut;
            PlaceChanged                 += renderer.ShowNewPlace;
        }
コード例 #11
0
 public ClassicGameLauncher(
     IInputListener inputListener,
     ISentenceLoader sentenceLoader,
     ITimeService timeService,
     ITypingCalculator typingCalculator,
     ICommandInvoker commandInvoker,
     IGameRenderer gameRenderer)
     : base(inputListener)
 {
     _sentenceLoader   = sentenceLoader;
     _timeService      = timeService;
     _typingCalculator = typingCalculator;
     _commandInvoker   = commandInvoker;
     _gameRenderer     = gameRenderer;
 }
コード例 #12
0
        public GameManager(IGameRenderer renderer)
        {
            Random = new Random();

            Board = new GameBoard(4);
            Board.BoardSlotChanged += OnBoardSlotChanged;

            Renderer = renderer;
            Renderer.Init(Board.Size, Board.Slots);

            Score = new Scoreboard();
            Score.ScoreChanged += OnScoreChanged;

            State = GameState.IN_PROGRESS;
        }
コード例 #13
0
        public void Setup()
        {
            _typingCalculator = new TypingCalculator();
            _commandInvoker   = new CommandInvoker();
            _gameRenderer     = Substitute.For <IGameRenderer>();
            _timeService      = Substitute.For <ITimeService>();

            _raceInstance = new ClassicTypingRaceInstance(
                title: gameTitle,
                sentence: sentence,
                duration: gameDuration,
                timeService: _timeService,
                typingCalculator: _typingCalculator,
                commandInvoker: _commandInvoker,
                gameRenderer: _gameRenderer);
        }
コード例 #14
0
ファイル: TicTacToeGame.cs プロジェクト: bapti/tic-tac-toe
 public TicTacToeGame(
     ITicTacToeBoard ticTacToeBoard,
     ITicTacToePlayer player1,
     ITicTacToePlayer player2,
     IGameJudge gameJudge,
     IGameRenderer gameRenderer,
     IGamePauser gamePauser
     )
 {
     _ticTacToeBoard = ticTacToeBoard;
     _player1 = player1;
     _player2 = player2;
     _gameJudge = gameJudge;
     _gameRenderer = gameRenderer;
     _gamePauser = gamePauser;
 }
コード例 #15
0
 public GameEngine(
     IGameBoardBuilder gameBoardBuilder,
     IGameRenderer gameRenderer,
     IGameActionReader gameActionReader,
     IShipBuilder shipBuilder,
     IShipPlacementService shipPlacementService,
     IShotService shotService,
     ILogger <GameEngine> logger
     )
 {
     _gameBoardBuilder     = gameBoardBuilder;
     _gameRenderer         = gameRenderer;
     _gameActionReader     = gameActionReader;
     _shipBuilder          = shipBuilder;
     _shipPlacementService = shipPlacementService;
     _shotService          = shotService;
     _logger = logger;
 }
コード例 #16
0
        public TicTacToeGameTests()
        {
            TicTacToeBoard = Substitute.For<ITicTacToeBoard>();
            Player1 = Substitute.For<ITicTacToePlayer>();
            Player2 = Substitute.For<ITicTacToePlayer>();
            GameJudge = Substitute.For<IGameJudge>();
            GameRenderer = Substitute.For<IGameRenderer>();
            GamePauser = Substitute.For<IGamePauser>();

            Sut = new TicTacToeGame(
                TicTacToeBoard,
                Player1,
                Player2,
                GameJudge,
                GameRenderer,
                GamePauser
                );
        }
コード例 #17
0
        public RogueskivMenuInputHandler(
            UxContext uxContext, RogueskivMenu game, IGameRenderer gameRenderer
            )
            : base(
                uxContext,
                game,
                gameRenderer,
                controlsByKeys: new Dictionary <int, int>
        {
            { (int)SDL_Keycode.SDLK_ESCAPE, (int)Controls.QUIT },
            { (int)SDL_Keycode.SDLK_q, (int)Controls.QUIT },

            { (int)SDL_Keycode.SDLK_UP, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_DOWN, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_LEFT, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_RIGHT, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_w, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_s, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_a, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_d, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_KP_8, (int)Controls.UP },
            { (int)SDL_Keycode.SDLK_KP_2, (int)Controls.DOWN },
            { (int)SDL_Keycode.SDLK_KP_4, (int)Controls.LEFT },
            { (int)SDL_Keycode.SDLK_KP_6, (int)Controls.RIGHT },

            { (int)SDL_Keycode.SDLK_RETURN, (int)Controls.ENTER },
            { (int)SDL_Keycode.SDLK_RETURN2, (int)Controls.ENTER },
            { (int)SDL_Keycode.SDLK_KP_ENTER, (int)Controls.ENTER },
            { (int)SDL_Keycode.SDLK_BACKSPACE, (int)Controls.BACKSPACE },
            { (int)SDL_Keycode.SDLK_m, (int)Controls.TOGGLE_MUSIC },
        },
                closeWindowControl: (int)Controls.CLOSE_WINDOW,
                toggleMusicControl: (int)Controls.TOGGLE_MUSIC,
                allowRepeats: true
                )
        {
            Game = game;
            ControlStates.Add((int)Controls.COPY, false);
            ControlStates.Add((int)Controls.PASTE, false);
        }
コード例 #18
0
        public void PlayGame(Arguments arguments)
        {
            var initialGameState = LoadInitialGameState(arguments);

            _renderer = _gameRendererFactory.CreateGameRenderer(initialGameState.Board.GetType());

            initialGameState = _gameProcessor.StartNewGame(initialGameState);
            _renderer.Render(initialGameState);

            while (true)
            {
                var nextGameState = _gameProcessor.Tick();
                _renderer.Render(nextGameState);

                if (ShouldSaveGame(nextGameState))
                {
                    _gamePersistence.SaveGame(nextGameState, _savePath);
                }
            }
        }
コード例 #19
0
ファイル: FoodRenderer.cs プロジェクト: Crul/Rogueskiv
 public FoodRenderer(
     IGameRenderer gameRenderer,
     UxContext uxContext,
     IRenderizable game,
     IntPtr boardTexture
     )
     : base(
         gameRenderer,
         uxContext,
         game,
         boardTexture,
         new SDL_Rect
 {
     x = 0,
     y = 0,
     w = BoardComp.TILE_SIZE,
     h = BoardComp.TILE_SIZE
 }
         )
 {
 }
コード例 #20
0
ファイル: MatchState.cs プロジェクト: trommlbomml/bombrush
        protected override void OnEntered(object enterInformation)
        {
            Game.Cursor.IsActive    = false;
            _gameSession            = (GameSession)enterInformation;
            _stateChangeInformation = StateChangeInformation.Empty;

            //todo: reactivate 3d
            //var rendererType = Settings.Default.GameMode == "3D" ? GameRendererType.ThreeDe : GameRendererType.TwoDe;
            _gameRenderer = GameRendererFactory.CreateGameRenderer(GameRendererType.TwoDe, Game, _gameSession.CurrentLevel);

            _finishSlideAnimator = new Animator();
            _finishSlideAnimator.AddAnimation("RotateText", new DeltaAnimation(1.0f, RotateAndSetAlphaText, false));
            _finishSlideAnimator.AddAnimation("Wait", new WaitAnimation(1.5f));
            _finishSlideAnimator.AddTransition("RotateText", "Wait");
            _finishSlideAnimator.AnimationFinished += OnFinishSlideFinished;

            _finishedSprite = new Sprite(Game.Content.Load <Texture2D>("textures/headings"))
            {
                Position = new Vector2(Game.ScreenWidth * 0.5f, Game.ScreenHeight * 0.5f),
                Alpha    = 0.0f
            };
        }
コード例 #21
0
        public InputHandler(
            UxContext uxContext,
            T game,
            IGameRenderer gameRenderer,
            IDictionary<int, int> controlsByKeys,
            int closeWindowControl,
            int toggleMusicControl,
            bool allowRepeats = false
        )
        {
            UxContext = uxContext;
            Game = game;
            GameRenderer = gameRenderer;
            ControlsByKeys = controlsByKeys;
            ControlStates = ControlsByKeys
                .Select(kc => kc.Value)
                .Distinct()
                .ToDictionary(kc => kc, _ => false);

            CloseWindowControl = closeWindowControl;
            ToggleMusicControl = toggleMusicControl;
            AllowRepeats = allowRepeats;
        }
コード例 #22
0
        public ClassicTypingRaceInstance(
            string title,
            string sentence,
            TimeSpan duration,
            ITimeService timeService,
            ITypingCalculator typingCalculator,
            ICommandInvoker commandInvoker,
            IGameRenderer gameRenderer)
        {
            _timeService      = timeService;
            _typingCalculator = typingCalculator;
            _invoker          = commandInvoker;

            _gameRenderer = gameRenderer;
            _gameRenderer.SetTypingRaceInstance(this);

            Title         = title;
            Sentence      = sentence;
            Duration      = duration;
            ShouldExit    = false;
            ShouldRestart = false;

            ChangeState(new InitializedState());
        }
コード例 #23
0
ファイル: Game.cs プロジェクト: markovcd/Tetris
        public Game(IGameRenderer renderer)
        {
            _renderer = renderer;
            _timer    = new Timer();
            _board    = renderer.Board;
            _score    = renderer.Score;

            _board.LinesCleared += delegate(object sender, LinesEventArgs args) { _score.Add(args.Lines); };
            _board.GameEnd      += delegate { New(); };
            _score.NewLevel     += delegate { _timer.Interval = _score.TimerInterval; };

            _timer.Tick    += delegate { DropPiece(); Invalidate(); };
            _timer.Interval = _score.InitialInterval;
            _timer.Enabled  = true;

            _keyBindings = CreateKeyBindings();

            ClientSize      = _renderer.Size;
            DoubleBuffered  = true;
            KeyPreview      = true;
            MaximizeBox     = false;
            FormBorderStyle = FormBorderStyle.FixedSingle;
            Text            = "Tetris";
        }
コード例 #24
0
ファイル: GameManager.cs プロジェクト: Koneke/DeepMagic
		public GameManager(DmGame game, InputHandler inputHandler, IGameRenderer renderer)
		{
			this.game = game;
			this.inputHandler = inputHandler;
			this.renderer = renderer;
		}
コード例 #25
0
 public Game(IGameRenderer renderer)
 {
     _renderer = renderer;
     CreateQuestions();
 }
コード例 #26
0
        public GameEngine(IGameRenderer renderer)
        {
            this.renderer = renderer;

            this.renderer.Draw();
        }
コード例 #27
0
        public GameEngine(IGameRenderer renderer)
        {
            this.renderer = renderer;

            this.renderer.Draw();
        }
コード例 #28
0
 public void Render(IGameRenderer renderer)
 {
     renderer.Render(board);
 }
コード例 #29
0
 public void SetRenderer(IGameRenderer gameRenderer)
 {
     _gameRenderer = gameRenderer;
 }
コード例 #30
0
ファイル: GameEngine.cs プロジェクト: plmng/SoftUni_OOP_HWs
 public GameEngine(IGameRenderer renderer, IInputHandlerer inputHandlerer)
 {
     this._renderer = renderer;
     this._inputHandlerer = inputHandlerer;
     this._inputHandlerer.UiActionHappened += this.HandleUiActionHappend;
 }
コード例 #31
0
 public SpaceshipGameObject(Position position, Size size, IGameRenderer renderer)
     : base(position, size)
 {
     this.renderer = renderer;
 }
コード例 #32
0
ファイル: GameEngine.cs プロジェクト: BattleFieldTwo/Teamwork
 private GameEngine(IGameRenderer renderer)
 {
     this.renderer = renderer;
 }
コード例 #33
0
ファイル: Game.cs プロジェクト: Kedoodle/acceleration-katas
 public Game(IGameRenderer gameRenderer, IUserInputGetter userInputGetter)
 {
     _gameRenderer    = gameRenderer;
     _userInputGetter = userInputGetter;
 }