示例#1
0
        private void GameStateChanged(Game.GameState gameState)
        {
            switch (gameState)
            {
            case Game.GameState.playing:
                //soundPlayer.PlaySingle(playSound);
                break;

            case Game.GameState.deathscreen:
                break;

            case Game.GameState.finishscreen:

                //play win sound
                break;

            //case Game.GameState.levelselection:
            //    soundPlayer.PlaySingle(levelselectionAppearSound);
            //    //soundPlayer.PlaySingle(spawnSound);
            //    break;

            default:
                break;
            }
        }
示例#2
0
        //Game Listener
        private void GameStateChanged(Game.GameState gameState)
        {
            Vector3 spawnPos = Vector3.zero;

            spawnPos = LevelPlacer.generatedLevel.spawn.transform.position;
            switch (gameState)
            {
            case Game.GameState.playing:

                CamZoom.ZoomToMinimum(Game.levelselectionDelay);
                break;

            case Game.GameState.deathscreen:

                CamRotation.RotateToDefault(Game.levelselectionDelay);
                //CamMove.MoveCamTo(spawnPos, Game.levelselectionDelay);
                break;

            case Game.GameState.finishscreen:
                CamRotation.RotateToDefault(Game.levelselectionDelay);
                //CamMove.MoveCamTo(spawnPos, Game.levelselectionDelay);
                break;

            //case Game.GameState.levelselection:
            //    CamMove.MoveCamTo(spawnPos);
            //    break;

            default:
                break;
            }
        }
    public void ReplaceGameGameState(Game.GameState newGameState)
    {
        var index     = GameComponentsLookup.GameGameState;
        var component = (Game.GameStateComponent)CreateComponent(index, typeof(Game.GameStateComponent));

        component.GameState = newGameState;
        ReplaceComponent(index, component);
    }
示例#4
0
 /// <summary>
 /// Handles the current game state
 /// </summary>
 /// <param name="gameState"></param>
 public void CurrentGameState(Game.GameState gameState)
 {
     Game.TheGameState = gameState;
     if (gameState == Game.GameState.Lost)
     {
         frmGameOver gameOver = new frmGameOver();
     }
 }
    public GameEntity SetGameGameState(Game.GameState newGameState)
    {
        if (hasGameGameState)
        {
            throw new Entitas.EntitasException("Could not set GameGameState!\n" + this + " already has an entity with Game.GameStateComponent!",
                                               "You should check if the context already has a gameGameStateEntity before setting it or use context.ReplaceGameGameState().");
        }
        var entity = CreateEntity();

        entity.AddGameGameState(newGameState);
        return(entity);
    }
示例#6
0
        private void GameStateChanged(Game.GameState gs)
        {
            switch (gs)
            {
            case Game.GameState.playing:
                active = activeMemory;
                break;

            default:
                break;
            }
        }
    public void ReplaceGameGameState(Game.GameState newGameState)
    {
        var entity = gameGameStateEntity;

        if (entity == null)
        {
            entity = SetGameGameState(newGameState);
        }
        else
        {
            entity.ReplaceGameGameState(newGameState);
        }
    }
示例#8
0
 private void showState(Game.GameState gs)
 {
     if (gs == Game.GameState.gameSelect)
     {
         show_gameSelect();
     }
     else if (gs == Game.GameState.mainMenu)
     {
         show_mainMenu();
     }
     else if (gs == Game.GameState.inWorld)
     {
         show_inGame();
     }
 }
示例#9
0
        private void GameStateChanged(Game.GameState gs)
        {
            switch (gs)
            {
            case Game.GameState.finishscreen:
                //GetComponent<ParticleSystem>().Clear();
                GetComponent <Animation>().Play("finishFadeOut");

                Debug.Log("PLAYFINISHPARTICLES");
                ps.gameObject.SetActive(true);
                ps.Play();
                //GetComponent<ParticleSystem>().Play();
                break;
            }
        }
示例#10
0
文件: Level.cs 项目: Boddypen/Pixia
        public void update(Level level, Game.GameState gameState, KeyboardState k, KeyboardState kOld, MouseState m, MouseState mOld)
        {
            // Update the player
            if (player.update(level, k, kOld, m, mOld))
            {
                // Player dies
                gameState = Game.GameState.Menu;
            }

            // Update all entities
            for (int i = 0; i < entities.Count; i++)
            {
                // Update the entity, and if it dies, remove it.
                if (entities[i].update(level))
                {
                    entities.RemoveAt(i);
                }
            }
        }
示例#11
0
        //Everything in here happends after the delay on death. To execute before, enter calls in the Trigger function.
        private void GameStateChanged(Game.GameState gameState)
        {
            Debug.Log("[Player]: GameState changed to: " + gameState);
            switch (gameState)
            {
            case Game.GameState.playing:

                break;

            case Game.GameState.deathscreen:

                break;

            case Game.GameState.finishscreen:

                break;

            default:
                break;
            }
        }
示例#12
0
 public Product(TV.TVPowerState PowerState, TV.TVInputState InputState, SurroundSound.SoundState SoundState, DVD.DVDState DVDState, Game.GameState GameState)
 {
     InitializeComponent();
     pwrState.Text  = PowerState.ToString();
     inpState.Text  = InputState.ToString();
     sndState.Text  = SoundState.ToString();
     dvdState.Text  = DVDState.ToString();
     gameState.Text = GameState.ToString();
 }
示例#13
0
 public void MakeSettings(TV.TVPowerState PowerState, TV.TVInputState InputState, SurroundSound.SoundState SoundState, DVD.DVDState DVDState, Game.GameState GameState)
 {
     Product product = factoryMethod(PowerState, InputState, SoundState, DVDState, GameState);
 }
示例#14
0
 internal abstract Product factoryMethod(TV.TVPowerState PowerState, TV.TVInputState InputState, SurroundSound.SoundState SoundState, DVD.DVDState DVDState, Game.GameState GameState);
示例#15
0
        static void HumanTest(INeuralNetwork enemy)
        {
            Console.Clear();
            Game game = new Game();

            Game.GameState gameState = Game.GameState.Undetermined;

            bool playerturn = true;

            while (gameState == Game.GameState.Undetermined)
            {
                if (!playerturn)
                {
                    var board = BoardToArray(game.GetBoard());
                    var input = new double[10];
                    input[0] = -1;
                    for (int i = 0; i < board.Length; i++)
                    {
                        input[i + 1] = board[i];
                    }
                    var output = enemy.Activate(input);

                    var        newGameState = Game.GameState.Error;
                    List <int> chosenTiles  = new List <int>();
                    while (newGameState == Game.GameState.Error)
                    {
                        int    tile    = -1;
                        double highest = double.MinValue;
                        for (int i = 0; i < output.Length; i++)
                        {
                            if (output[i] > highest && !chosenTiles.Contains(i))
                            {
                                highest = output[i];
                                tile    = i;
                            }
                        }
                        chosenTiles.Add(tile);
                        tile++;

                        newGameState = game.NewMove((Game.TileNumber)tile);
                    }
                    gameState = newGameState;
                }
                else
                {
                    var newGameState = Game.GameState.Error;
                    while (newGameState == Game.GameState.Error)
                    {
                        int tile = -1;
                        int.TryParse(Console.ReadLine(), out tile);
                        newGameState = game.NewMove((Game.TileNumber)tile);
                    }
                    gameState = newGameState;
                }
                playerturn = !playerturn;
                Console.WriteLine();
                VisualizeBoard(game.GetBoard());
                Console.WriteLine();
            }

            if (gameState == Game.GameState.Win)
            {
                string winner = playerturn ? "Bot" : "Player";
                Console.WriteLine();
                Console.WriteLine(winner + " wins!");
            }
            else if (gameState == Game.GameState.Tie)
            {
                Console.WriteLine();
                Console.WriteLine("Tie!");
            }
            Console.ReadLine();
        }
 public ConcreteProduct(TV.TVPowerState PowerState, TV.TVInputState InputState, SurroundSound.SoundState SoundState, DVD.DVDState DVDState, Game.GameState GameState)
 {
     product         = new Product(PowerState, InputState, SoundState, DVDState, GameState);
     product.Visible = true;
 }
示例#17
0
        static Task <STuple <double, double> > FitnessFunction(INeuralNetwork n1, INeuralNetwork n2)
        {
            #region sequence

            /*
             * for (int n = 0; n < 10; n++)
             * {
             *  Random random = new Random();
             *  var options = Enumerable.Range(0, Amount).ToList();
             *  var test = new double[Amount];
             *  for (int i = 0; i < Amount; i++)
             *  {
             *      int r = random.Next(options.Count);
             *      var next = (double)options[r];
             *      next = Extensions.Map(next, 0, (double)Amount, -1, 1);
             *      test[i] = next;
             *      options.RemoveAt(r);
             *  }
             *  if (test.Length != Amount)
             *  {
             *      Console.WriteLine("wtf!");
             *  }
             *  var result = network.Activate(test);
             *  for (int i = 0; i < Amount; i++)
             *  {
             *      double loss = Math.Abs(result[i] - test[i]);
             *      fitness -= loss;
             *      if (debug && n == 0)
             *          Console.WriteLine($"{test[i]} | {result[i]}");
             *  }
             * }
             */
            #endregion
            #region XOR

            /*
             * var tests = new Dictionary<double[], double>
             * {
             *  {
             *      new double[] { 0, 0},
             *      0
             *  },
             *  {
             *      new double[] { 1, 0},
             *      1
             *  },
             *  {
             *      new double[] { 0, 1},
             *      1
             *  },
             *  {
             *      new double[] { 1, 1},
             *      0
             *  },
             * };
             *
             * foreach(var kv in tests)
             * {
             *  var result = network.Activate(kv.Key);
             *  double difference = result[0] - kv.Value;
             *  difference = -Math.Abs(difference);
             *  fitness += difference;
             *  if (debug)
             *  {
             *      Console.WriteLine($"{kv.Key[0]} {kv.Key[1]} | {result[0]}");
             *  }
             * }
             */
            #endregion XOR
            #region linear

            /*
             * for (int i = 0; i < 10; i++)
             * {
             *  double a, b, x;
             *  lock (random)
             *  {
             *      a = Math.Round(random.NextDouble() / 2, 2);
             *      b = Math.Round(random.NextDouble() / 2, 2);
             *      x = Math.Round(random.NextDouble(), 2);
             *  }
             *  var res = network.Activate(new double[] { a, b, x });
             *  var correct = (a * x + b);
             *
             *  fitness -= Math.Abs(res[0] - correct);
             *
             *  if (debug)
             *  {
             *      Console.WriteLine($"{a} * {x} + {b} = {correct} | {res[0]}");
             *  }
             * }
             */
            #endregion
            #region TicTacToe
            Game           game      = new Game();
            Game.GameState gameState = Game.GameState.Undetermined;

            bool n1turn = true;

            while (gameState == Game.GameState.Undetermined)
            {
                var board = BoardToArray(game.GetBoard());
                var input = new double[10];
                input[0] = n1turn ? 1 : -1;
                for (int i = 0; i < board.Length; i++)
                {
                    input[i + 1] = board[i];
                }
                INeuralNetwork network = n1turn ? n1 : n2;
                var            output  = network.Activate(input);

                var        newGameState = Game.GameState.Error;
                List <int> chosenTiles  = new List <int>();
                while (newGameState == Game.GameState.Error)
                {
                    int    tile    = -1;
                    double highest = double.MinValue;
                    for (int i = 0; i < output.Length; i++)
                    {
                        if (output[i] > highest && !chosenTiles.Contains(i))
                        {
                            highest = output[i];
                            tile    = i;
                        }
                    }
                    chosenTiles.Add(tile);
                    tile++;

                    newGameState = game.NewMove((Game.TileNumber)tile);
                }

                n1turn    = !n1turn;
                gameState = newGameState;
            }

            (double, double)fitness = (0, 0);
            if (gameState == Game.GameState.Win)
            {
                if (n1turn)
                {
                    fitness = (-1, 1);
                }
                else
                {
                    fitness = (1, -1);
                }
            }

            #endregion

            var tcs = new TaskCompletionSource <STuple <double, double> >();
            tcs.SetResult(fitness);
            return(tcs.Task);
        }
示例#18
0
 public void SetGameState(Game.GameState gameState)
 {
     protectedData.SetGameState((int)gameState);
 }
示例#19
0
 internal override Product factoryMethod(TV.TVPowerState PowerState, TV.TVInputState InputState, SurroundSound.SoundState SoundState, DVD.DVDState DVDState, Game.GameState GameState)
 {
     return(new ConcreteProduct(PowerState, InputState, SoundState, DVDState, GameState));
 }
示例#20
0
        //Start button click
        private void button1_Click(object sender, EventArgs e)
        {
            gameScreen.Hide(); //The .gif images
            lbTimer.Visible = true;

            gameStarted = true;
            //sql
            //if user wanted a new game;
            //change "Johnny" to real account username

            //N
            if (gStatus == 0)
            {
                //difficulty as int 0 = easy, 1 = medium, 2 = hard
                /*
                int difficulty;
                if (difficultyBox.Text == "Easy") difficulty = 0;
                else if (difficultyBox.Text == "Medium") difficulty = 1;
                else difficulty = 2;
                */

                resetTime(); //Sets hour,min,sec to default
                progressBar1.Increment(-20);
                writeGraphic(hb.startGame(new Game.GameState(gDifficulty,gPlayer)));

            }
            //N

            //N
            if (gStatus == 1)
            {

                sec = gTimeRemain % 60;
                min = gTimeRemain / 60;
                hour = min / 60;
                min %= 60;
                progressBar1.Value = gScareMeter;

                bool[] have = new bool[Game.Constants.NUM_ITEMS];
                have[(int)Game.iName.NOTE] = gHaveNote;
                have[(int)Game.iName.PHONE] = gHavePhone;
                have[(int)Game.iName.AUDIO] = gHaveAudio;
                have[(int)Game.iName.SECRETCASE] = gHaveCase;

                Game.GameState gs = new Game.GameState(gDifficulty, gPlayer, gFloorNo, new Game.PassCode(gFirstDgt, gSecDgt, gThirdDgt),
                                                      new Game.Coordinate(gFloorX, gFloorY), gCaseStatus, have, gCaseHint);
                writeGraphic(hb.startGame(gs));

            }
            //N

            lbTimer.Text = hour.ToString("D2") + ":" + min.ToString("D2") + ":" + sec.ToString("D2"); //start with 5 minutes, may change with difficulty
            timer1.Start();

            playerDisplay.Text = hb.getPlayer().Name;
            pFloorLabel.Text = hb.getPlayer().Floor.Number.ToString();
            pCoordLabel.Text = "(" + hb.getPlayer().Coord.x.ToString() + ", " + hb.getPlayer().Coord.y.ToString() + ")";
        }