Ignore:
Timestamp:
2014-07-03 14:58:42 (5 years ago)
Author:
beamechi
Message:

Mä on tehny ne paholaiset ja se ase. Enä menu ja kulo ja varma effectsia.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2014/27/BenjaminE/AttackOfTheChicken/AttackOfTheChicken/AttackOfTheChicken/AttackOfTheChicken.cs

    r5249 r5378  
    77using Jypeli.Widgets; 
    88 
    9 public class AttackOfTheChicken : PhysicsGame 
    10 { 
     9public class AttackOfTheChicken : PhysicsGame { 
     10 
     11    int screen = 1; 
    1112 
    1213    PlatformCharacter player; 
    1314 
    14     public override void Begin() 
    15     { 
    16         CreateLevel(); 
    17  
    18         KeyInput(); 
    19  
    20         Camera.Follow(player); 
    21         Camera.Zoom(1); 
    22         Camera.StayInLevel = true; 
    23  
    24         Gravity = new Vector(0, -200.0); 
    25          
    26     } 
    27  
     15    PlatformCharacter chicken; 
     16 
     17    PhysicsObject stone; 
     18    PhysicsObject lava; 
     19    GameObject spawner; 
     20 
     21    Timer sTimer; 
     22 
     23    ExplosionSystem explosion = new ExplosionSystem(LoadImage("Sprites\\Explosion"), 100); 
     24 
     25    int weapon = 0; 
     26    Timer wTimer; 
     27 
     28    public override void Begin() { 
     29 
     30        switch (screen) { 
     31            case 0: 
     32                MainMenu(); 
     33            break; 
     34            case 1: 
     35                CreateLevel(); 
     36                LoadBackground(); 
     37                CreatePowerUp(); 
     38                StartSpawnTimer(); 
     39 
     40                KeyInput(); 
     41 
     42                Camera.Follow(player); 
     43                Camera.Zoom(1); 
     44                Camera.StayInLevel = true; 
     45                SetWindowSize(1280, 760); 
     46 
     47                Gravity = new Vector(0, -2500.0); 
     48            break; 
     49            case 2: 
     50 
     51            break; 
     52        } 
     53 
     54        SmoothTextures = false; 
     55    } 
     56 
     57    /// 
     58    /// <summary> 
     59    /// Main Menu 
     60    /// <summmary> 
     61    /// 
     62 
     63    void MainMenu() { 
     64        Level.Background.Color = Color.Black; 
     65    } 
     66 
     67    /// 
    2868    /// <summary> 
    2969    /// Creating the Level and all it's assets 
    3070    /// </summary> 
     71    ///  
    3172 
    3273    void CreateLevel() { 
    33         ColorTileMap level = ColorTileMap.FromLevelAsset("Level"); 
    34  
    35         level.SetTileMethod(Color.ForestGreen, CreateGrass); 
    36         level.SetTileMethod(Color.Brown, CreateDirt); 
     74        ColorTileMap level = ColorTileMap.FromLevelAsset("Sprites\\Level"); 
     75 
    3776        level.SetTileMethod(Color.Gray, CreateStone); 
    38         level.SetTileMethod(Color.Red, CreatePlayer); 
    39  
     77        level.SetTileMethod(Color.Red, CreateLava); 
     78        level.SetTileMethod(new Color(255, 216, 0), CreatePlayer); 
     79         
    4080        level.Execute(32, 32); 
    41     } 
    42  
    43     void CreateGrass(Vector place, double width, double height) { 
    44         PhysicsObject grass = PhysicsObject.CreateStaticObject(32.0, 32.0); 
    45         grass.Image = LoadImage("Grass"); 
    46         grass.Position = place; 
    47         Add(grass); 
    48     } 
    49  
    50     void CreateDirt(Vector place, double width, double height) { 
    51         GameObject dirt = new GameObject(32.0, 32.0); 
    52         dirt.Image = LoadImage("Dirt"); 
    53         dirt.Position = place; 
    54         Add(dirt); 
     81 
     82    } 
     83 
     84    void LoadBackground() { 
     85        Image background = LoadImage("Sprites\\LevelBackground"); 
     86        Level.Background.Image = background; 
     87        Level.Background.TileToLevel(); 
    5588    } 
    5689 
    5790    void CreateStone(Vector place, double width, double height) { 
    58         PhysicsObject stone = PhysicsObject.CreateStaticObject(32.0, 32.0); 
    59         stone.Image = LoadImage("Stone"); 
     91        stone = PhysicsObject.CreateStaticObject(32.0, 32.0); 
     92        stone.Image = LoadImage("Sprites\\Stone"); 
    6093        stone.Position = place; 
    6194        Add(stone); 
    6295    } 
    6396 
     97    void CreateLava(Vector place, double width, double height) { 
     98        lava = PhysicsObject.CreateStaticObject(32.0, 18.0); 
     99        lava.Image = LoadImage("Sprites\\Lava"); 
     100        lava.Position = place - new Vector(0.0, 14.0); 
     101        Add(lava); 
     102    } 
     103 
    64104    void CreatePlayer(Vector place, double width, double height) { 
    65105        player = new PlatformCharacter(32.0, 32.0); 
    66         player.Image = LoadImage("Player"); 
     106        player.Image = LoadImage("Sprites\\PlayerStand"); 
    67107        player.Position = place; 
     108        player.IgnoresExplosions = true; 
    68109        Add(player); 
    69     } 
    70  
    71  
     110 
     111        Bullet bullet = new Bullet(1); 
     112        bullet.Size = new Vector(4, 2); 
     113 
     114        player.Weapon = new AssaultRifle(0.0, 0.0); 
     115        bullet.Image = LoadImage("Sprites\\Image"); 
     116        player.Weapon.FireRate = 2; 
     117        player.Weapon.ProjectileCollision = HitByGun; 
     118        player.Weapon.AttackSound = LoadSoundEffect("Sounds\\Gun"); 
     119    } 
     120 
     121    void StartSpawnTimer() { 
     122        sTimer = new Timer(); 
     123        sTimer.Interval = 10.0; 
     124        sTimer.Timeout += CreateChicken; 
     125        sTimer.Start(); 
     126    } 
     127 
     128    void CreateChicken() { 
     129        int bigOrSmall = RandomGen.NextInt(0, 2); 
     130 
     131        if (bigOrSmall == 1) 
     132        { 
     133            chicken = new PlatformCharacter(64.0, 64.0); 
     134            chicken.Image = LoadImage("Sprites\\EvilChicken"); 
     135        } else { 
     136            chicken = new PlatformCharacter(32.0, 32.0); 
     137            chicken.Image = LoadImage("Sprites\\EvilChicken"); 
     138             
     139             
     140        } 
     141        chicken.Position = new Vector(0, Level.Top); 
     142 
     143        PlatformWandererBrain chickenAI = new PlatformWandererBrain(); 
     144        chickenAI.Speed = 100; 
     145        chickenAI.FallsOffPlatforms = true; 
     146        chicken.Brain = chickenAI; 
     147        Add(chicken); 
     148    } 
     149 
     150    void NewWeapon() { 
     151        Bullet bullet = new Bullet(1); 
     152        bullet.Size = new Vector(4, 2); 
     153        switch (weapon) 
     154        { 
     155            case 0: 
     156                // Pistol 
     157                player.Weapon = new AssaultRifle(0.0, 0.0); 
     158                bullet.Image = LoadImage("Sprites\\Image"); 
     159                player.Weapon.FireRate = 2; 
     160                player.Weapon.ProjectileCollision = HitByGun; 
     161                player.Weapon.AttackSound = LoadSoundEffect("Sounds\\Gun"); 
     162                break; 
     163            case 1: 
     164                // Machine Gun 
     165                player.Weapon = new AssaultRifle(0.0, 0.0); 
     166                bullet.Image = LoadImage("Sprites\\Image"); 
     167                player.Weapon.ProjectileCollision = HitByGun; 
     168                player.Weapon.AttackSound = LoadSoundEffect("Sounds\\Gun"); 
     169                break; 
     170            case 2: 
     171                // Lazer Gun 
     172                player.Weapon = new LaserGun(0.0, 0.0); 
     173                bullet.Image = LoadImage("Sprites\\Image"); 
     174                player.Weapon.FireRate = 2; 
     175                player.Weapon.ProjectileCollision = HitByGun; 
     176                player.Weapon.AttackSound = LoadSoundEffect("Sounds\\LaserShoot"); 
     177                break; 
     178        } 
     179    } 
     180 
     181    void CreatePowerUp() { 
     182        PhysicsObject machinePowerUp = new PhysicsObject(16.0, 16.0); 
     183        machinePowerUp.Image = LoadImage("Sprites\\MachineGunPowerUp"); 
     184        machinePowerUp.IgnoresExplosions = true; 
     185        machinePowerUp.MaximumLifetime = new TimeSpan(0, 0, 5); 
     186        machinePowerUp.X = player.X + 40; 
     187        machinePowerUp.Y = player.Y; 
     188        AddCollisionHandler(machinePowerUp, player, MachineGunPowerUp); 
     189        Add(machinePowerUp); 
     190 
     191        PhysicsObject lazerPowerUp = new PhysicsObject(16.0, 16.0); 
     192        lazerPowerUp.Image = LoadImage("Sprites\\LazerGunPowerUp"); 
     193        lazerPowerUp.IgnoresExplosions = true; 
     194        lazerPowerUp.MaximumLifetime = new TimeSpan(0, 0, 5); 
     195        lazerPowerUp.X = player.X + 80; 
     196        lazerPowerUp.Y = player.Y; 
     197        AddCollisionHandler(lazerPowerUp, player, LazerPowerUp); 
     198        Add(lazerPowerUp); 
     199    } 
     200 
     201    void MachineGunPowerUp(PhysicsObject pu, PlatformCharacter playa) { 
     202        weapon = 1; 
     203        NewWeapon(); 
     204        pu.Destroy(); 
     205 
     206        wTimer = new Timer(); 
     207        wTimer.Interval = 10.0; 
     208        wTimer.Timeout += setPistol; 
     209        wTimer.Start(); 
     210    } 
     211 
     212    void LazerPowerUp(PhysicsObject pu, PlatformCharacter playa) { 
     213        weapon = 2; 
     214        NewWeapon(); 
     215        pu.Destroy(); 
     216 
     217        wTimer = new Timer(); 
     218        wTimer.Interval = 10.0; 
     219        wTimer.Timeout += setPistol; 
     220        wTimer.Start(); 
     221    } 
     222 
     223    void setPistol() { 
     224        weapon = 0; 
     225        NewWeapon(); 
     226    } 
     227 
     228    void HitByGun(PhysicsObject ammo, PhysicsObject target) { 
     229        if (weapon != 2 || target == stone) { 
     230            ammo.Destroy(); 
     231        } 
     232 
     233        explosion.Position = ammo.Position; 
     234        explosion.Layer = new Layer(); 
     235        explosion.AddEffect(ammo.X, ammo.Y, 10); 
     236        explosion.MinScale = 1; 
     237        explosion.MaxScale = 10; 
     238        explosion.MaxLifetime = 0.75; 
     239         
     240        Add(explosion); 
     241    } 
     242 
     243    void PlayerShoot(PlatformCharacter playerShoot) { 
     244        PhysicsObject bullet = playerShoot.Weapon.Shoot(); 
     245    } 
     246 
     247    /// 
     248    /// <summary> 
     249    /// Player Stuff 
     250    /// </summary> 
     251    ///  
    72252 
    73253    void PlayerJump(double speed) { 
     
    79259    } 
    80260 
     261    /// 
     262    ///<summary> 
     263    /// Keyboard Input and Pausing 
     264    ///<summary> 
     265    /// 
     266 
     267    void PauseGame() { 
     268        if (IsPaused) 
     269        { 
     270            IsPaused = false; 
     271        } 
     272        else { 
     273            IsPaused = true; 
     274        } 
     275    } 
     276 
    81277    void KeyInput() { 
    82         Keyboard.Listen(Key.Right, ButtonState.Down, MovePlayer, "Key Right pressed", 300.0); 
    83         Keyboard.Listen(Key.Left, ButtonState.Down, MovePlayer, "Key Right pressed", -300.0); 
    84  
    85         Keyboard.Listen(Key.Space, ButtonState.Pressed, PlayerJump, "Key Space pressed", 100.0); 
    86  
     278        // Keyboard Controls 
     279        Keyboard.Listen(Key.Right, ButtonState.Down, MovePlayer, "Key Right down", 300.0); 
     280        Keyboard.Listen(Key.Left, ButtonState.Down, MovePlayer, "Key Right down", -300.0); 
     281        Keyboard.Listen(Key.Space, ButtonState.Pressed, PlayerJump, "Key Space pressed", 1200.0); 
     282        Keyboard.Listen(Key.A, ButtonState.Down, PlayerShoot, "Key A down", player); 
     283 
     284        // Pause Game 
     285        Keyboard.Listen(Key.P, ButtonState.Pressed, PauseGame, "Key P pressed"); 
     286 
     287        // Close Window 
    87288        Keyboard.Listen(Key.Escape, ButtonState.Down, Exit, "Sionara Bitch!"); 
    88289    } 
Note: See TracChangeset for help on using the changeset viewer.