Ignore:
Timestamp:
2011-08-05 12:23:18 (8 years ago)
Author:
peossalu
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/31/PeetuL/Palikoiden sota/Palikoiden sota/Palikoiden sota/Peli.cs

    r2552 r2596  
    99public class Peli : PhysicsGame 
    1010{ 
    11     
     11    List<Label> valikonKohdat; 
    1212    RandomMoverBrain SatunnaisAivot = new RandomMoverBrain(); 
    1313    Behqulo Behqulo; 
    1414    int pahisten_lkm = 0; 
    1515 
     16    IntMeter pistelaskuri = new IntMeter(0); 
     17 
     18    ScoreList topLista = new ScoreList(10, false, 0); 
    1619 
    1720    public override void Begin() 
    1821    { 
    19         MediaPlayer.Play("vs sephiroth"); 
     22        if (DataStorage.Exists("pisteet.xml")) 
     23            topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 
     24 
     25        MediaPlayer.Play("vs sephiroth2"); 
     26        Valikko(); 
     27        Level.CreateGround(55, 45, 7, 5); 
     28    } 
     29 
     30 
     31    void AloitaPeli() 
     32    { 
     33        ClearAll(); 
    2034        LuoAleksikuutio(); 
    2135        LuoBehqulo(); 
    2236 
    23         // TODO: Kirjoita ohjelmakoodisi tähän 
    24  
    25  
    26  
    2737 
    2838        Camera.Follow(Behqulo); 
    2939        Gravity = new Vector(0.0, 0.0); 
    30         Level.BackgroundColor = Color.Black; 
     40         
    3141        Level.CreateBorders(); 
    32  
    33  
    34  
    3542        int i = 0; 
    3643        while (i < 30) 
     
    3946            // i++; 
    4047            i = i + 1; 
    41  
    42         } 
    43  
     48        } 
    4449        int u = 0; 
    4550 
     
    5964        */ 
    6065 
    61         Level.CreateGround(55, 45, 7, 5); 
     66        Label pisteNaytto = new Label(); 
     67        pisteNaytto.Right = Screen.Right - 100; 
     68        pisteNaytto.Bottom = Screen.Bottom + 50; 
     69        pisteNaytto.TextColor = Color.White; 
     70        pisteNaytto.BindTo(pistelaskuri); 
     71        Add(pisteNaytto); 
     72 
    6273    } 
    6374 
     
    7081        } 
    7182    } 
    72  
     83    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     84    { 
     85        foreach (Label kohta in valikonKohdat) 
     86        { 
     87            if (Mouse.IsCursorOn(kohta)) 
     88            { 
     89                kohta.TextColor = Color.Red; 
     90 
     91            } 
     92            else 
     93            { 
     94                kohta.TextColor = Color.Black; 
     95            } 
     96 
     97        } 
     98    } 
     99    void Valikko() 
     100    { 
     101        ClearAll(); 
     102        valikonKohdat = new List<Label>(); 
     103        Level.BackgroundColor = Color.Black; 
     104        Label kohta1 = new Label("Aloita uusi peli"); 
     105        kohta1.Position = new Vector(0, 40); 
     106        valikonKohdat.Add(kohta1); 
     107 
     108        Label kohta2 = new Label("Lopeta"); 
     109        kohta2.Position = new Vector(0, -40); 
     110        valikonKohdat.Add(kohta2); 
     111 
     112        foreach (Label valikonKohta in valikonKohdat) 
     113        { 
     114            Add(valikonKohta); 
     115 
     116        } 
     117 
     118        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     119        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Exit, null); 
     120        Mouse.IsCursorVisible = true; 
     121        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     122        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, ""); 
     123 
     124    } 
    73125    void LuoPahis() 
    74126    { 
     
    79131        // if (pahis.IsDestroyed); 
    80132        pahis.Weapon = new AssaultRifle(20, 5); 
    81         pahis.Weapon.ProjectileCollision =AmmusOsuu2; 
     133        pahis.Weapon.ProjectileCollision = AmmusOsuu2; 
    82134        Vector suunta = (Behqulo.Position - pahis.Position).Normalize(); 
    83135        pahis.Angle = suunta.Angle; 
     
    104156            Pahis k = (Pahis)kohde; 
    105157            k.Hp--; 
    106             if (k.Hp < 1) kohde.Destroy(); 
     158            pistelaskuri.Value += 10; 
     159            if (k.Hp < 1) { kohde.Destroy(); pistelaskuri.Value += 100; }  
    107160        } 
    108161        else if (kohde is Aleksikuutio) 
     
    110163            Aleksikuutio k = (Aleksikuutio)kohde; 
    111164            k.Hp--; 
    112             if (k.Hp < 1) kohde.Destroy(); 
     165            pistelaskuri.Value += 200; 
     166 
     167            if (k.Hp < 1) { kohde.Destroy(); pistelaskuri.Value += 1000; } 
    113168        } 
    114169        else if (kohde is Laserpahis) 
     
    116171            Laserpahis k = (Laserpahis)kohde; 
    117172            k.Hp--; 
    118             if (k.Hp < 1) kohde.Destroy(); 
     173            pistelaskuri.Value += 15; 
     174            if (k.Hp < 1) 
     175            { 
     176                kohde.Destroy(); pistelaskuri.Value += 150; 
     177            }  
    119178        } 
    120179 
     
    128187            Behqulo k = (Behqulo)kohde2; 
    129188            k.Hp--; 
    130             if (k.Hp < 1) kohde2.Destroy(); 
    131         } 
    132     } 
    133      
    134  
     189            if (k.Hp < 1) {  
     190                k.Destroy(); 
     191                ClearAll(); 
     192                TopTen(); 
     193            } 
     194        } 
     195    } 
     196 
     197 
     198    void TopTen() 
     199    { 
     200        HighScoreWindow topIkkuna = new HighScoreWindow( 
     201                             "Parhaat pisteet", 
     202                             "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 
     203                             topLista, pistelaskuri.Value); 
     204        topIkkuna.Closed += TallennaPisteet; 
     205        Add(topIkkuna); 
     206 
     207    } 
     208 
     209    void TallennaPisteet(Window sender) 
     210    { 
     211        DataStorage.Save<ScoreList>(topLista, "pisteet.xml"); 
     212        ClearAll(); pistelaskuri.Reset(); 
     213        Begin(); 
     214    } 
    135215 
    136216 
     
    178258        Laserpahis.Weapon = new LaserGun(5, 5); 
    179259        Laserpahis.Weapon.ProjectileCollision = AmmusOsuu2; 
    180        Laserpahis.Brain = new RandomMoverBrain(1000.0); 
     260        Laserpahis.Brain = new RandomMoverBrain(1000.0); 
    181261        Vector suunta = (Behqulo.Position - Laserpahis.Position).Normalize(); 
    182262 
     
    238318 
    239319 
     320 
    240321} 
    241322 
     
    257338public class Aleksikuutio : PlatformCharacter 
    258339{ 
    259     public int Hp = 100000; 
     340    public int Hp = 400; 
    260341 
    261342    public Aleksikuutio(double width, double height) 
     
    280361public class Behqulo : PlatformCharacter 
    281362{ 
    282     public int Hp = 10; 
     363    public int Hp = 50; 
    283364 
    284365    public Behqulo(double width, double height) 
Note: See TracChangeset for help on using the changeset viewer.