Ignore:
Timestamp:
2012-10-20 15:56:28 (8 years ago)
Author:
hniemi
Message:

Tavarat turvaan.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2012/09-22/JariK/Jimmy The Survivor!/Jimmy The Survivor!/Jimmy The Survivor!/Jimmy_The_Survivor_.cs

    r3854 r3865  
    1212    PhysicsObject Jimmy; 
    1313    PlasmaCannon Jimmyase; 
     14    EasyHighScore topLista = new EasyHighScore(); 
     15 
     16    DoubleMeter elamaLaskuri; 
    1417 
    1518    public override void Begin() 
    1619    { 
     20        LuoElamaLaskuri(); 
     21        LuoPistelaskuri(); 
     22 
    1723        IsMouseVisible = true; 
     24        MultiSelectWindow alkuValikko = new MultiSelectWindow("Jimmy The Survivor", "Start game", "Top ten", "Exit game"); 
     25        
     26        alkuValikko.AddItemHandler(0, AloitaPeli); 
     27        alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     28        alkuValikko.AddItemHandler(2, Exit); 
     29        alkuValikko.DefaultCancel = 2; 
     30        Add(alkuValikko); 
    1831 
    1932        Gravity = new Vector(0.0, -800.0); 
     
    2336        Jimmy.Restitution = 1.0; 
    2437        Add(Jimmy); 
    25         AddCollisionHandler(Jimmy, PelaajaTormasi); 
     38        AddCollisionHandler(Jimmy, VihollinenTormasi); 
    2639        Jimmyase = new PlasmaCannon(30, 10); 
     40        Jimmyase.Ammo.Value = 1000; 
    2741        Jimmy.Add(Jimmyase); 
    2842 
    29         PhysicsObject Vihollinen = new PhysicsObject(50, 50); 
    30         Vihollinen.Shape = Shape.Ellipse; 
    31         Vihollinen.Color = Color.Blue; 
    32         Vihollinen.Position = new Vector(250, 30); 
    33         Add(Vihollinen); 
    34         Vihollinen.Tag = "Vihollinen"; 
    35         
     43       
     44 
     45 
    3646 
    3747        Surface alaReuna = Surface.CreateBottom(Level); 
     
    4757        oikeareuna.Color = Color.LightBlue; 
    4858        Add(oikeareuna); 
    49  
     59        FollowerBrain seuraajanAivot = new FollowerBrain(Jimmy); 
     60        seuraajanAivot.Speed = 10; 
     61        seuraajanAivot.Active = true; 
     62        seuraajanAivot.DistanceClose = 2000; 
     63        seuraajanAivot.StopWhenTargetClose = false; 
     64        seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 
    5065        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
    5166        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", Jimmyase); 
    5267        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 
    53  
    54     } 
    55  
    56  
    57  
    58  
    59     void LiikutaPelaajaa(Vector vektori) 
    60     { 
    61         Jimmy.Push(vektori); 
    62     } 
    63  
     68        LisaaVihollisia(); 
     69    } 
    6470    void CreateBorders() 
    6571    { 
    66  
    67     } 
    68     void PelaajaTormasi(PhysicsObject Vihollinen, PhysicsObject Jimmy) 
    69     { 
    70           
     72     
     73    } 
     74    void VihollinenTormasi(PhysicsObject Jimmy, PhysicsObject kohde) 
     75    { 
     76       //AddCollisionHandler(Jimmy, "Vihollinen", CollisionHandler.AddMeterValue(elamaLaskuri, -1)); 
     77        elamaLaskuri.Value -= 1; 
     78         
    7179    } 
    7280    void AmmuAseella(PlasmaCannon ase) 
    7381    { 
    7482        PhysicsObject ammus = ase.Shoot(); 
    75          
     83 
    7684        if (ammus != null) 
    7785        { 
     
    7987        } 
    8088 
    81         ase.FireRate = 3.0; 
     89        ase.FireRate = 10; 
    8290    } 
    8391    void AmmusOsui(PhysicsObject ammus, PhysicsObject Vihollinen) 
     
    92100    void Tahtaa(AnalogState hiirenLiike) 
    93101    { 
    94          
     102 
    95103        Vector suunta = (Mouse.PositionOnWorld - Jimmyase.AbsolutePosition).Normalize(); 
    96104        Jimmyase.Angle = suunta.Angle; 
     
    98106    void Vihollinenkuolee(PhysicsObject ammus, PhysicsObject Vihollinen) 
    99107    { 
    100         Vihollinen.Destroy();  
     108        Vihollinen.Destroy(); 
     109        pisteLaskuri.Value += 1; 
    101110    } 
    102111    void LisaaVihollisia() 
    103112    { 
    104113        Timer ajastin = new Timer(); 
    105         ajastin.Interval = 1.0; 
    106         ajastin.Timeout += LisaaVihollisia; 
     114        ajastin.Interval = 0.5; 
     115        ajastin.Timeout += LisaaVihollinen; 
    107116        ajastin.Start(); 
    108117    } 
     118    void LisaaVihollinen() 
     119    { 
     120        PhysicsObject Vihollinen = new PhysicsObject(50, 50); 
     121        Vihollinen.Shape = Shape.Ellipse; 
     122        Vihollinen.Color = Color.Blue; 
     123        Vihollinen.Position = new Vector(250, 30); 
     124        Add(Vihollinen); 
     125        Vihollinen.Tag = "Vihollinen"; 
     126 
     127 
     128 
     129 
     130 
     131    } 
     132    void mitaTapahtuuKunOllaanLahella() 
     133    { 
     134         
     135 
     136    } 
     137    void AloitaPeli() 
     138    { 
     139    } 
     140    void ParhaatPisteet() 
     141    { 
     142    } 
     143     
     144    IntMeter pisteLaskuri; 
     145 
     146    void LuoPistelaskuri() 
     147    { 
     148        pisteLaskuri = new IntMeter(0); 
     149 
     150        Label pisteNaytto = new Label(); 
     151        pisteNaytto.X = Screen.Left + 100; 
     152        pisteNaytto.Y = Screen.Top - 100; 
     153        pisteNaytto.TextColor = Color.Black; 
     154        pisteNaytto.Color = Color.White; 
     155 
     156        pisteNaytto.BindTo(pisteLaskuri); 
     157        Add(pisteNaytto); 
     158         
     159         
     160       
     161 
     162    } 
     163    void PainettiinValikonNappia(int valinta) 
     164    { 
     165        switch (valinta) 
     166        { 
     167            case 0: 
     168                // AloitaPeli(); 
     169                break; 
     170            case 1: 
     171                // ParhaatPisteet(); 
     172                break; 
     173            case 2: 
     174                Exit(); 
     175                break; 
     176        } 
     177 
     178    } 
     179    void LuoElamaLaskuri() 
     180    { 
     181        elamaLaskuri = new DoubleMeter(10); 
     182        elamaLaskuri.MaxValue = 100; 
     183        elamaLaskuri.LowerLimit += ElamaLoppui; 
     184         
     185 
     186        ProgressBar elamaPalkki = new ProgressBar(150, 20); 
     187        elamaPalkki.X = Screen.Left + 150; 
     188        elamaPalkki.Y = Screen.Top - 20; 
     189        elamaPalkki.BindTo(elamaLaskuri); 
     190        Add(elamaPalkki); 
     191    } 
     192 
     193    void ElamaLoppui() 
     194    { 
     195        ClearGameObjects(); 
     196        MessageDisplay.Add("Jimmy you fool! You can't never stop my army! Muahhahhahhahhahhaa! "); 
     197        topLista.EnterAndShow(pisteLaskuri.Value); 
     198        topLista.HighScoreWindow.Closed += delegate { Exit(); }; 
     199 
     200    } 
     201 
     202   
     203 
    109204} 
Note: See TracChangeset for help on using the changeset viewer.