Inheritance: MonoBehaviour
コード例 #1
0
ファイル: Helper.cs プロジェクト: Remmery/Pong
        /// <summary>
        /// Choose a random powerup.
        /// </summary>
        /// <returns>A random powerup</returns>
        public static PowerUp ChooseRandomPowerUp(int width, int height, Data.Setup s)
        {
            PowerUp powerUp;
            Random  random = new Random();
            double  x      = random.Next(width / 4, width / 4 * 3);
            double  y      = random.Next(height / 5, height / 5 * 4);

            switch (random.Next(5))
            {
            case 0:
                powerUp = new HealthPowerUp(x, y, 40, s.HealingShield);
                break;

            case 1:
                powerUp = new SpeedPowerUp(x, y, 40, s.SpeedBallPercent);
                break;

            case 2:
                powerUp = new ReversePowerUp(x, y, 40, s.ReverseTime);
                break;

            case 3:
                powerUp = new MultiBallPowerUp(x, y, 40);
                break;

            default:
                powerUp = new BombPowerUp(x, y, 40, s.DamageBomb);
                break;
            }
            return(powerUp);
        }
コード例 #2
0
    private void Awake()
    {
        m_Instance = this;

        float   x          = (-Screen.width + TILE_SIZE) / PIXEL_PER_UNIT / 2.0f;
        float   y          = (Screen.height - TILE_SIZE) / PIXEL_PER_UNIT / 2.0f;
        Vector2 initialPos = new Vector2(x, y);

        // These are for positions in scene at Awake
        Vector2 offset        = new Vector2(TILE_SIZE / PIXEL_PER_UNIT, -TILE_SIZE / PIXEL_PER_UNIT);
        Vector2 spawnPos      = initialPos + offset;
        Vector2 EnemySpawnPos = initialPos + offset * 9;
        Vector2 Power1Pos     = initialPos + offset * 3;
        Vector2 SpeedPowerPos = initialPos + offset * 5;

        // Instantiating objects in GamePlay Scene
        PlayerMovement player = Instantiate(m_PlayerPrefab, spawnPos, Quaternion.identity);

        player.Setup(1, 1);
        EnemyMovement enemy = Instantiate(m_EnemyPrefab, EnemySpawnPos, Quaternion.identity);

        enemy.Setup(9, 9);
        BombPowerUp1 bombPowerup1 = Instantiate(m_BombPowerup1, Power1Pos, Quaternion.identity);

        bombPowerup1.Setup(3, 3);
        SpeedPowerUp speedPowerUp = Instantiate(m_SpeedPowerUp, SpeedPowerPos, Quaternion.identity);

        speedPowerUp.Setup(5, 5);

        for (int i = 0; i < m_LevelData.GetWidth(); ++i)
        {
            m_TileObjects.Add(new List <GameObject>());

            for (int j = 0; j < m_LevelData.GetHeight(); ++j)
            {
                offset   = new Vector2(TILE_SIZE * i / PIXEL_PER_UNIT, -TILE_SIZE * j / PIXEL_PER_UNIT);
                spawnPos = initialPos + offset;

                m_TileObjects[i].Add(CreateTile(m_LevelData.Tiles[i][j], spawnPos));
            }
        }

        for (int i = 0; i < m_LevelData.Tiles.Length; i++)
        {
            m_LevelData.Tiles[i].SetCopy();
        }
    }
コード例 #3
0
 private void ResetGame()
 {
     paddlePlayer = new PlayerPaddle(40, (int)(SceneManager.WindowHeight * 0.5), 0, 43, 255);
     paddlePlayer.Init(false);
     paddlePlayer2 = new Player2Paddle(SceneManager.WindowWidth - 40, (int)(SceneManager.WindowHeight * 0.5), 255, 0, 0);
     paddlePlayer2.Init(false);
     ball = new Ball((int)(SceneManager.WindowWidth * 0.5), (int)(SceneManager.WindowHeight * 0.5));
     ball.Init();
     speedPowerUp = new SpeedPowerUp(-180, -180, 255, 255, 0);
     speedPowerUp.Init();
     lengthPowerUp = new LengthPowerUp(-180, -180, 0, 255, 0);
     lengthPowerUp.Init();
     powerUpSpawned       = false;
     player1SpeedEnabled  = false;
     player2SpeedEnabled  = false;
     player1LengthEnabled = false;
     player2LengthEnabled = false;
 }