コード例 #1
0
ファイル: GameState.cs プロジェクト: akaisuisei/umea-rana2
 protected void pause(Game1 game, KeyboardState keybord, Game1.gameState _currentState)
 {
     if (keybord.IsKeyDown(Keys.P) || keybord.IsKeyDown(Keys.Escape))
     {
         game.ChangeState(Game1.gameState.Pause, _currentState);
     }
 }
コード例 #2
0
        public override void Update(Game1 game, Audio audio)
        {
            timer--;
            if (timer <= 0)
                game.ChangeState(Game1.gameState.MainMenuState);

             /*                   KeyboardState keyboard = Keyboard.GetState();
            MouseState mouse = Mouse.GetState();
            listbox.Update(ref keyboard, ref mouse);*/
        }
コード例 #3
0
ファイル: leveleditor.cs プロジェクト: akaisuisei/umea-rana2
        public override void Update(Game1 game, Audio audio)
        {
            KeyboardState keyboard;
            keyboard = Keyboard.GetState();
            if (keyboard.IsKeyDown(Keys.Escape) && latence <= 0)
            {
                _pause.checkpause(keyboard, ref _checkpause);
                latence = 30;
            }
            if (latence > 0)
                --latence;
            if (!_checkpause)
            {
                game.ChangeState2(Game1.gameState.Null);
                // scrolling verticale
                //      scrolling1.Update();
                //     scrolling2.Update();
                Scroll.Update();
                //vaisseau
                vaisseau.Update(keyboard, game, oldkey);

                //update ia jbdcvf
               // aster.update();

                ovini.Update(ref game_time) ;
                manage_T.Update(ref game, ref game_time);
                manage_V.Update(ref vaisseau, ref game_time);
                manage_k.Update(ref vaisseau, ref game_time);
                collision.hero_missile(manage_T, ref vaisseau);
                collision.hero_missile(manage_V, ref  vaisseau);
                collision.col_H_IA(manage_k, ref vaisseau);
                collision.col_H_IA(manage_V, ref vaisseau);
                collision.col_H_IA(manage_T, ref vaisseau);
              //  collision.Ovni_vaiss(ref ovini, ref vaisseau);

                //update collision

                collision.collision_ai_missile(ref vaisseau, manage_k);
                collision.collision_ai_missile(ref vaisseau, manage_V);
                collision.collision_ai_missile(ref vaisseau, manage_T);
            }
            else
            {
                game.ChangeState2(Game1.gameState.Checkpause);
                _pause.Update(game, audio, ref _checkpause);
            }
            // update fin de jeu
            if (manage_k.Ia_manage.Count == 0 && manage_T.Ia_manage.Count == 0 && manage_V.Ia_manage.Count == 0)
            {
                if (timer == -100)
                {
                    vaisseau.gagne();
                    timer = vaisseau.rectangle.Y / 2;
                  //  aster.visible = false;
                    manage_k.bulletL.Clear();
                    manage_T.bulletL.Clear();
                    manage_V.bulletL.Clear();
                }
                if (timer < 0 && timer != -100)
                    game.ChangeState(Game1.gameState.level_Pselect );//va au level2
                timer--;
            }
            //update interface

            oldkey = keyboard;
            game_time++;
        }
コード例 #4
0
ファイル: Button.cs プロジェクト: akaisuisei/umea-rana2
        public void Update(ref KeyboardState Key, ref KeyboardState old, ref MouseState mouse, ref Rectangle mouse_rec, ref Game1 game, ref int tab, string name1, ref bool pause)
        {
            if (tab == this.tab)
            {
                intecep = false;

                for (int i = 0; i < rect.GetLength(0); ++i)
                    for (int j = 0; j < rect.GetLength(1); ++j)
                    {
                        if (mouse_rec.Intersects(rect[i, j]))
                        {
                            X = i;
                            Y = j;
                            intecep = true;
                        }
                    }
                if (old.IsKeyDown(Keys.Up) && Key.IsKeyUp(Keys.Up))
                {
                    Y = (Y - 1) % rect.GetLength(1);
                    if (gameState[X, Y] == null)
                        Y = (Y - 1) % rect.GetLength(1);

                }
                else if (old.IsKeyDown(Keys.Down) && Key.IsKeyUp(Keys.Down))
                {
                    Y = (Y + 1) % rect.GetLength(1);

                    if (gameState[X, Y] == null)
                        Y = (Y + 1) % rect.GetLength(1);
                }
                else if (old.IsKeyDown(Keys.Right) && Key.IsKeyUp(Keys.Right))
                {
                    X = (X + 1) % rect.GetLength(0);
                    if (gameState[X, Y] == null)
                        X = (X + 1) % rect.GetLength(0);

                }
                else if (old.IsKeyDown(Keys.Left) && Key.IsKeyUp(Keys.Left))
                {
                    X = (X - 1) % rect.GetLength(0);
                    if (gameState[X, Y] == null)
                        X = (X - 1) % rect.GetLength(0);

                }

                select = new Vector2(rect[X, Y].X - selection.Width, rect[X, Y].Y);
                if ((intecep && mouse.LeftButton == ButtonState.Pressed) || Key.IsKeyDown(Keys.Enter))
                {
                    if (gameState[X, Y] == "SEU")
                    {
                        game.level = levelname[X, Y];
                        game.ChangeState(Game1.gameState.SEU);
                    }
                    else if (gameState[X, Y] == "Checkpause")
                        game.ChangeState(Game1.gameState.Checkpause);
                    else if (gameState[X, Y] == "EditSEU")
                    {
                        game.level = "edit";
                        game.ChangeState(Game1.gameState.Editeur_mapVV);
                    }
                    else if (gameState[X, Y] == "Init")
                        game.ChangeState(Game1.gameState.Initialisateur);
                    else if (gameState[X, Y] == "LevelSelect")
                        game.ChangeState(Game1.gameState.Level_select_state);
                    else if (gameState[X, Y] == "Level2")
                    {
                        game.level = levelname[X, Y];
                        game.ChangeState(Game1.gameState.Level2);
                    }
                    else if (gameState[X, Y] == "Main")
                        game.ChangeState(Game1.gameState.MainMenuState);
                    else if (gameState[X, Y] == "Null")
                        game.ChangeState(Game1.gameState.Null);
                    else if (gameState[X, Y] == "Option")
                        game.ChangeState(Game1.gameState.OptionsState);
                    else if (gameState[X, Y] == "Pause")
                        game.ChangeState(Game1.gameState.Pause);
                    else if (gameState[X, Y] == "Play")
                        game.ChangeState(Game1.gameState.PlayingState);
                    else if (gameState[X, Y] == "LevelEdit")
                    {
                        if (name1 != string.Empty)
                            game.level = name1;
                        else
                            game.level = name[X, Y];
                        if (game.level != "LevelEdit")
                            game.ChangeState(Game1.gameState.leveleditor);
                    }
                    else if (gameState[X, Y] == "LevelSelect_P")
                        game.ChangeState(Game1.gameState.level_Pselect);
                    else if (gameState[X, Y] == "Exit")
                        game.Exit();
                    else if (gameState[X, Y] == "Last")
                        game.GetPreviousState();
                    else if (gameState[X, Y] == "Resume")
                        game.ChangeState2(Game1.gameState.Null);
                            else if (gameState[X, Y] == "Next")
                        game.nextgame();
                    else if (gameState[X, Y] == "Replay")
                        game.replay();
                    else
                        game.ChangeState(Game1.gameState.MainMenuState);

                                       pause = false;
                    System.Threading.Thread.Sleep(G_latence);
                }
            }
        }
コード例 #5
0
ファイル: level2.cs プロジェクト: akaisuisei/umea-rana2
        public override void Update(Game1 game, Audio audio)
        {
            KeyboardState keyboard;
            keyboard = Keyboard.GetState();
            if (keyboard.IsKeyDown(Keys.Escape) && latence <= 0)
            {
                _pause.checkpause(keyboard, ref _checkpause);
                latence = 30;
            }
            if (latence > 0)
                --latence;
            if (!_checkpause)
            {
                game.ChangeState2(Game1.gameState.Null);
                // scrolling
                scrolling1.Update(keyboard);

                // collision Allen
                if (collision.Collision_sp_sol(ref allen, ref platform_M))
                {
                    allen.marche();
                    allen.jump_off = true;
                    allen.chute = false;
                }
                else
                {
                    allen.air();
                }
                allen.update(keyboard);

                //collision ia
                collision.collision_ia_sol(manageS, ref platform_M);
                manageS.Update(allen, ref keyboard);
                collision.collision_ia_AR_sol(managerAR, ref platform_M);
                managerAA.Update(ref keyboard);
                collision.collision_ia_sol(managerAA, ref platform_M);

                collision.coll_AL_IA(manageS, ref allen);
               collision.coll_AL_IA(managerAA , ref allen);
                collision.coll_AL_IA(managerAR, ref allen);
                //manager IA
                managerAR.Update(ref keyboard);

                //manager platform
                platform_M.Update(keyboard);
            }
            else
            {
                game.ChangeState2(Game1.gameState.Checkpause);
                MediaPlayer.Stop();
                ParticleAdder.adder(game, Game1.gameState.Checkpause,height,width);
                _pause.Update(game, audio, ref _checkpause);
            }

            //partie perdu
            fail(game, allen, Game1.gameState.SEU);

            //audio

            if (allen.rectangle.Right >= width * 2 - 50)
                game.ChangeState(Game1.gameState.Pause, Game1.gameState.win );
        }
コード例 #6
0
ファイル: sripte_V.cs プロジェクト: akaisuisei/umea-rana2
        public void Update(KeyboardState keyboard, Game1 game, KeyboardState oldkey)
        {
            if (automatic_controlled)//movement automatic de fin de jeu
                up();
            else// controlle du vaisseau
            {
                if (keyboard.IsKeyUp(Keys.T) && oldkey.IsKeyDown(Keys.T))
                    type += 3;
                else if (type < 3)
                {
                    if ((keyboard.IsKeyUp(Keys.Up) && keyboard.IsKeyUp(Keys.Down) && keyboard.IsKeyUp(Keys.Right) && keyboard.IsKeyUp(Keys.Left)) || keyboard.IsKeyDown(Keys.Left) && keyboard.IsKeyDown(Keys.Right))
                        move();
                    else
                    {
                        if (keyboard.IsKeyDown(Keys.Up) && (rectangle_C.Y > 0))
                            up();
                        if (keyboard.IsKeyDown(Keys.Down) && (rectangle_C.Bottom < height))
                            down();
                        if (keyboard.IsKeyDown(Keys.Right) && (rectangle_C.X + rectangle_C.Width < width))
                            right();
                        if (keyboard.IsKeyDown(Keys.Left) && (rectangle_C.X > 0))
                            left();
                    }
                }
                else
                {
                    type %= 5;
                    Transform();
                }
            }

            change_T += 1;// timer pour l animation
            if (keyboard.IsKeyDown(Keys.D1) || keyboard.IsKeyDown(Keys.F1))
                power = 1;
            if (keyboard.IsKeyDown(Keys.D2) || keyboard.IsKeyDown(Keys.F2))
                power = 2;
            if (keyboard.IsKeyDown(Keys.D3) || keyboard.IsKeyDown(Keys.F3))
                power = 3;
            if (keyboard.IsKeyDown(Keys.D4) || keyboard.IsKeyDown(Keys.F4))
                power = 4;
            if (vie <= 0)
                game.ChangeState(Game1.gameState.Pause);

            bullet.Bullet_Update(keyboard, this, oldkey, new Vector2(0, 1), power, ref bulletL, ref sizeX, ref sizeY, ref timer);
            Update_rec_collision();
        }
コード例 #7
0
ファイル: GameState.cs プロジェクト: akaisuisei/umea-rana2
 protected void fail(Game1 game, sprite_broillon sprite, Game1.gameState _currentState)
 {
     if (sprite.rectangle.Bottom > 2 * height||sprite.dead )
         game.ChangeState(Game1.gameState.Pause, _currentState);
 }