Changeset 1454 for 2010/30


Ignore:
Timestamp:
2010-07-30 12:58:10 (9 years ago)
Author:
alsiseoi
Message:

Peli valmis!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/alsiseoi/WorldOfBallcraft/Peli.cs

    r1411 r1454  
    11using System; 
     2using System.Collections.Generic; 
    23using Jypeli; 
    34using Jypeli.Widgets; 
     
    1011    PhysicsObject Player2; 
    1112 
    12     PhysicsObject Vihollinen; 
     13    //PhysicsObject Vihollinen; 
    1314 
    1415    PhysicsObject VasenReuna; 
     
    2627    Image Talentti0 = LoadImage("Talent0"); 
    2728 
     29    List<PhysicsObject> viholliset; 
     30 
     31    bool saakoLisataEfektin; 
     32 
    2833    protected override void Begin() 
    2934    { 
    3035        LuoKentta(); 
    3136        AsetaOhjaimet(); 
    32         LuoEfekti(); 
     37        Level.AmbientLight = 0.20; 
    3338    } 
    3439 
     
    4247        AddCollisionHandler(pelaaja, KasittelePelaajanTormays); 
    4348        return pelaaja; 
    44     } 
     49 
     50    } 
     51 
     52    void LuoVihollinen(double x, double y, double leveys, double korkeus, Color vari, String tagi) 
     53    { 
     54        PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus); 
     55        vihollinen.Color = vari; 
     56        vihollinen.X = x; 
     57        vihollinen.Y = y; 
     58        vihollinen.Tag = tagi; 
     59        Add(vihollinen); 
     60 
     61        RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
     62        vihollinen.Brain = satunnaisAivot; 
     63        viholliset.Add(vihollinen); 
     64    } 
     65 
    4566 
    4667    void LuoKentta() 
     
    4869        Level.BackgroundColor = new Color (62, 102, 55); 
    4970 
     71        viholliset = new List<PhysicsObject>(); 
     72 
     73        GameObject tausta = new GameObject(Level.Width, Level.Height); 
     74        tausta.Color = new Color (62, 102, 55); 
     75        Add(tausta, -1); 
     76 
    5077        Player1 = LuoPelaaja(300, 100, 40, new Color (1, 14, 105)); 
    51  
    5278        Player2 = LuoPelaaja(300, 200, 40, new Color (64, 0, 0)); 
    53          
     79 
     80        saakoLisataEfektin = true; 
     81 
    5482        Camera.ZoomToLevel(); 
    5583        //Camera.ZoomFactor = 1.5; 
     
    7199        AlaReuna.IsVisible = true; 
    72100 
    73         Vihollinen = new PhysicsObject(30.0, 20.0); 
    74         Vihollinen.Color = Color.GreenYellow; 
    75         Vihollinen.X = 100; 
    76         Vihollinen.Y = 150; 
    77         Vihollinen.Tag = "Osuma"; 
    78         Add(Vihollinen); 
    79  
    80         RandomMoverBrain satunnaisAivot = new RandomMoverBrain(); 
    81         Vihollinen.Brain = satunnaisAivot; 
    82101 
    83102        PhysicsObject nuotio = PhysicsObject.CreateStaticObject(70.0, 70.0); 
     
    86105        nuotio.Image = olionKuva; 
    87106        Add(nuotio); 
     107        LuoEfekti(nuotio.X, nuotio.Y); 
    88108 
    89109        PhysicsObject tulitest = new PhysicsObject(1.0, 1.0); 
    90110        tulitest.Image = Karistaja; 
    91111 
     112        LuoVihollinen(100, 150, 30, 20, Color.GreenYellow, "Vihollinen"); 
     113        LuoVihollinen(-50, -100, 40, 20, Color.GreenYellow, "Vihollinen"); 
     114        LuoVihollinen(-300, -200, 70, 10, Color.GreenYellow, "Vihollinen"); 
     115        LuoVihollinen(-450, -330, 90, 110, Color.GreenYellow, "Vihollinen"); 
     116        LuoVihollinen(200, 200, 5, 5, Color.GreenYellow, "Vihollinen"); 
     117        LuoVihollinen(-200, 200, 5, 5, Color.GreenYellow, "Vihollinen"); 
     118        LuoVihollinen(-150, 100, 5, 5, Color.GreenYellow, "Vihollinen"); 
     119        LuoVihollinen(-50, 50, 170, 7, Color.GreenYellow, "Vihollinen"); 
     120        LuoVihollinen(35, 200, 30, 40, Color.GreenYellow, "Vihollinen"); 
     121        LuoVihollinen(50, 40, 10, 10, Color.GreenYellow, "Vihollinen"); 
     122        LuoVihollinen(400, -200, 50, 50, Color.GreenYellow, "Vihollinen"); 
    92123    } 
    93124 
     
    115146        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    116147 
    117         Keyboard.Listen(Key.NumPad0, ButtonState.Down, LuoTalentit, "Player1: Talent0", Player1 ); 
     148        Keyboard.Listen(Key.NumPad0, ButtonState.Pressed, LuoTalentit, "Player1: Talent0", Player1 ); 
    118149        //Keyboard.Listen(Key.NumPad0, ButtonState.Released, null, Player1,  
     150        Keyboard.Listen(Key.D0, ButtonState.Pressed, LuoTalentit, "Player2: Talent0", Player2); 
    119151 
    120152    } 
     
    130162        if (pelaaja == Player1) 
    131163        { 
    132             if (kohde.Tag.ToString() == "Osuma") 
     164            if (kohde.Tag.ToString() == "Vihollinen") 
    133165            { 
    134166                Player1.Destroy(); 
     
    138170        if (pelaaja == Player2) 
    139171        { 
    140             if (kohde.Tag.ToString() == "Osuma") 
     172            if (kohde.Tag.ToString() == "Vihollinen") 
    141173            { 
    142174                Player2.Destroy(); 
     
    145177    } 
    146178 
    147     void LuoEfekti() 
     179    void LuoEfekti(double X, double Y) 
    148180    { 
    149181 
    150182        Flames liekki = new Flames(Karistaja, 25, Angle.Degrees(270)); 
    151         liekki.Position = new Vector(300, -200); 
     183        liekki.Position = new Vector(X, Y); 
    152184        Add(liekki); 
    153  
    154         int pMaxMaara = 1; 
    155         ExplosionSystem rajahdys = new ExplosionSystem(LoadImage("Talent0"), pMaxMaara); 
    156         Add(rajahdys); 
    157         double x = 0; 
    158         double y = 0; 
    159         int pMaara = 1; 
    160         rajahdys.AddEffect(x, y, pMaara);  
     185         
     186        Light valo = new Light(); 
     187        valo.X = X; 
     188        valo.Y = Y; 
     189        Add(valo); 
    161190    } 
    162191 
    163192    void LuoTalentit(PhysicsObject pelaaja) 
    164193    { 
    165         Vector etaisyys = new Vector(pelaaja.X - Vihollinen.X, pelaaja.Y - Vihollinen.Y); 
    166         if (etaisyys.Magnitude < 100) 
    167         { 
    168             Vihollinen.Destroy(); 
     194        if (saakoLisataEfektin) 
     195        { 
     196            int pMaxMaara = 1; 
     197            ExplosionSystem rajahdys = new ExplosionSystem(Talentti0, pMaxMaara); 
     198            rajahdys.MinVelocity = 0; 
     199            rajahdys.MaxVelocity = 0; 
     200            rajahdys.MaxRotation = 0; 
     201            rajahdys.MaxRotationSpeed = 0; 
     202            rajahdys.MaxRotation = 0; 
     203            rajahdys.MinRotationSpeed = 0; 
     204            rajahdys.MinLifetime = 5; 
     205            rajahdys.MaxLifetime = 5; 
     206            rajahdys.MaxAcceleration = 10; 
     207            rajahdys.MinScale = 1; 
     208            rajahdys.MaxScale = 1; 
     209            Add(rajahdys); 
     210 
     211            rajahdys.AddEffect(pelaaja.X, pelaaja.Y, 1); 
    169212        } 
    170          
     213 
     214        for (int i = 0; i < viholliset.Count; i++) 
     215        { 
     216            Vector etaisyys = new Vector(pelaaja.X - viholliset[i].X, pelaaja.Y - viholliset[i].Y); 
     217            if (etaisyys.Magnitude < 100) 
     218            { 
     219                viholliset[i].Destroy(); 
     220            } 
     221 
     222        }         
     223    } 
     224 
     225    void ajastinLaukesi() 
     226    { 
     227       //...??? 
    171228    } 
    172229} 
Note: See TracChangeset for help on using the changeset viewer.