Changeset 4999 for 2014/24


Ignore:
Timestamp:
2014-06-13 10:13:18 (9 years ago)
Author:
aaruuttu
Message:
 
Location:
2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 2014/24/AakeR/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu/UkkeliTappelu.cs

    r4985 r4999  
    1010class Ukkeli : PhysicsObject 
    1111{ 
    12     public bool saaHypätä = true; 
     12    public bool saaHypata = true; 
    1313    public int suunta = 0; 
    1414     
     
    1818    public bool onJaahylla = false; 
    1919    public bool katsooOikealle = true; 
     20 
     21    public int hyppyVoima = 2000; 
     22    public int liikkumisVoima = 3000; 
     23 
     24    const int normaaliHyppyVoima = 2000; 
     25    const int normaaliLiikkumisVoima = 3000; 
    2026 
    2127    public Image vihanenKuva; 
     
    3440    } 
    3541 
    36     public void Hyppää() 
    37     { 
    38         if (saaHypätä) 
    39         { 
    40             Hit(new Vector(0, 2000)); 
    41             saaHypätä = false; 
    42         } 
     42    public void Hyppaa() 
     43    { 
     44        if (saaHypata) 
     45        { 
     46            Hit(new Vector(0, hyppyVoima)); 
     47            saaHypata = false; 
     48        } 
     49    } 
     50 
     51    public void setUudetVoimat() 
     52    { 
     53        liikkumisVoima = normaaliLiikkumisVoima * 2; 
     54        hyppyVoima = normaaliHyppyVoima * 2; 
     55        staminaLaskuri.MinValue = 6; 
    4356    } 
    4457 
     
    4659    { 
    4760        suunta = liikkumisSuunta; 
    48         Push(new Vector(suunta*3000, 0)); 
     61        Push(new Vector(suunta*liikkumisVoima, 0)); 
    4962    } 
    5063} 
     
    6174    Ukkeli pelaaja3; 
    6275    Ukkeli pelaaja4; 
     76 
     77    bool onkoNormaaliMoodi; 
    6378 
    6479    Image pelaajan1Kuva = LoadImage("Ukkeli1"); 
     
    7186    Image nyrkkiKuvavasen = LoadImage("Nyrkki2"); 
    7287    Image luurankoKuva = LoadImage("Luuranko"); 
    73     //Image tulivuoriKuva1 = LoadImage("InsideVolcano1"); 
     88    // 
     89    Image tulivuoriKuva1 = LoadImage("InsideVolcano1"); 
    7490    Image laavakiviKuva = LoadImage("LavaStone"); 
    7591    //Image tulivuoriKuva2 = LoadImage("InsideVolcano2"); 
     
    129145        { 
    130146            int t = i; 
    131             alkuValikko.AddItemHandler(i, delegate { AloitaPeli(pelaajaLkm, t+1); }); 
    132         } 
    133     } 
     147            alkuValikko.AddItemHandler(i, delegate { ValitseMoodi(pelaajaLkm, t+1); }); 
     148        } 
     149    } 
     150 
     151 
     152    void ValitseMoodi(int pelaajaLkm, int kentta) 
     153    { 
     154        MultiSelectWindow alkuValikko = new MultiSelectWindow("Valitse pelimoodi", "Normaali", "Insane"); 
     155        Add(alkuValikko); 
     156 
     157        alkuValikko.AddItemHandler(0, delegate { onkoNormaaliMoodi = true; AloitaPeli(pelaajaLkm, kentta); }); 
     158        alkuValikko.AddItemHandler(1, delegate { onkoNormaaliMoodi = false; AloitaPeli(pelaajaLkm, kentta); }); 
     159    } 
     160 
    134161 
    135162    void AloitaPeli(int PelaajaMaara, int kentta) 
     
    148175        //Camera.Velocity = new Vector(0, 0); 
    149176 
    150         Timer ajastinStamina = new Timer(); 
    151         ajastinStamina.Interval = 1.5; 
    152         ajastinStamina.Timeout += delegate 
    153         { 
    154             foreach (Ukkeli ukkeli in ukkeliList) 
     177        if (onkoNormaaliMoodi) 
     178        { 
     179            Timer ajastinStamina = new Timer(); 
     180            ajastinStamina.Interval = 1.5; 
     181            ajastinStamina.Timeout += delegate 
    155182            { 
    156                 if (ukkeli.StaminaLaskuri.Value >= 6) continue; 
    157                 if (!ukkeli.onJaahylla) ukkeli.StaminaLaskuri.Value++; 
    158             } 
    159         }; 
    160         ajastinStamina.Start(); 
     183                foreach (Ukkeli ukkeli in ukkeliList) 
     184                { 
     185                    if (ukkeli.StaminaLaskuri.Value >= 6) continue; 
     186                    if (!ukkeli.onJaahylla) ukkeli.StaminaLaskuri.Value++; 
     187                } 
     188            }; 
     189            ajastinStamina.Start(); 
     190        } 
    161191 
    162192        ukkojenMaara = ukkeliList.Count; 
     
    192222        Laava.Image = laavaKuva; 
    193223        Laava.Top = Level.Bottom + 10; 
    194         Laava.Velocity = new Vector(0, 5); 
     224 
     225        if (onkoNormaaliMoodi) Laava.Velocity = new Vector(0, 5); 
     226        else Laava.Velocity = new Vector(0, 10); 
     227 
    195228        Laava.Tag = "laava"; 
    196229    } 
     
    225258        AddCollisionHandler(pelaaja, "Seina", TormaaSeinaan); 
    226259        Add(pelaaja); 
    227         pelaaja.Restitution = 1; 
     260        pelaaja.Restitution = 0.4; 
     261 
     262        if (!onkoNormaaliMoodi) pelaaja.setUudetVoimat(); 
     263 
    228264        return pelaaja; 
    229265    } 
     
    346382            if (pelaaja != hahmo) 
    347383            { 
    348                 pelaaja.Hit((pelaaja.Position - nyrkki.Position).Normalize() * 1500); 
     384                if (onkoNormaaliMoodi) pelaaja.Hit((pelaaja.Position - nyrkki.Position).Normalize() * 1500); 
     385                else pelaaja.Hit((pelaaja.Position - nyrkki.Position).Normalize() * 5000); 
     386                 
    349387                lyontiAani.Play(); 
    350388                //pelaaja.Velocity = (pelaaja.Position - nyrkki.Position).Normalize() * 1500; 
     
    372410    void Hyppaa(Ukkeli hahmo, double nopeus) 
    373411    { 
    374         hahmo.Hyppää(); 
     412        hahmo.Hyppaa(); 
    375413        hyppyAani.Play(); 
    376414    } 
     
    387425        laavaAani.Play(); 
    388426        ukkojenMaara--; 
    389         PhysicsObject Luuranko = new PhysicsObject(RUUDUN_KOKO, RUUDUN_KOKO); 
    390         Luuranko.IgnoresCollisionResponse = true; 
    391         Luuranko.Image = luurankoKuva; 
    392         Luuranko.Position = hahmo.Position; 
    393         Add(Luuranko); 
    394         Luuranko.Hit(new Vector(RandomGen.NextDouble(-100, 100),400)); 
     427        PhysicsObject luuranko = new PhysicsObject(RUUDUN_KOKO, RUUDUN_KOKO); 
     428        luuranko.IgnoresCollisionResponse = true; 
     429        luuranko.Image = luurankoKuva; 
     430        luuranko.Position = hahmo.Position; 
     431        Add(luuranko); 
     432        if (!onkoNormaaliMoodi) 
     433        { 
     434            Explosion rajahdys = new Explosion(1000); 
     435            rajahdys.Position = luuranko.Position; 
     436            Add(rajahdys); 
     437        } 
     438        luuranko.Hit(new Vector(RandomGen.NextDouble(-100, 100),400)); 
     439 
    395440        if (ukkojenMaara == 1) Voitto(); 
    396441 
     442 
    397443    } 
    398444 
    399445    void TormaaSeinaan(PhysicsObject hahmo, PhysicsObject Seina) 
    400446    { 
    401         (hahmo as Ukkeli).saaHypätä = true; 
     447        (hahmo as Ukkeli).saaHypata = true; 
    402448        laskeutumisAani.Play(); 
    403449    } 
Note: See TracChangeset for help on using the changeset viewer.