Changeset 4897 for 2014/23


Ignore:
Timestamp:
2014-06-06 12:33:01 (5 years ago)
Author:
anlakane
Message:
 
Location:
2014/23/MitjaL/Gravity/Gravity
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • 2014/23/MitjaL/Gravity/Gravity/Gravity/Gravity.cs

    r4887 r4897  
    1919    Image maalinkuva = LoadImage("Maali"); 
    2020 
    21  
     21    int helppo = 110; 
     22    int normaali = 140; 
     23    int vaikea = 170; 
     24 
     25    int vaikeusTaso = 140; 
    2226 
    2327    bool pelikaynnissa = false; 
    2428    //const double LIIKKUVANSEINAN_MIN_NOPEUS = 100; 
    2529 
     30    DoubleMeter etenemisMittari = new DoubleMeter(0, 0, 100); 
     31 
    2632    public override void Begin() 
    2733    { 
     34        SmoothTextures = false; 
    2835        AlkuValikko(); 
    2936    } 
     
    3542        LisaaOhjaimet(); 
    3643        //IsFullScreen = true; 
     44 
     45        Label prosentteina = new Label(); 
     46        prosentteina.Position = new Vector(Screen.Right - 50, Screen.Top - 50); 
     47        prosentteina.Color = new Color(255, 255, 255, 100); 
     48        prosentteina.TextColor = Color.Black; 
     49        Add(prosentteina); 
     50        prosentteina.IntFormatString = "Olet edennyt {0:D1} %"; 
     51        prosentteina.BindTo(etenemisMittari); 
     52 
    3753        Camera.Position = new Vector(pelaaja.X + 100, 0); 
    3854 
     
    5268        pelikaynnissa = false; 
    5369        Pause(); 
    54         MultiSelectWindow alkuValikko = new MultiSelectWindow("Game Paused", "Resume", "Restart", "Lopeta"); 
     70        MultiSelectWindow alkuValikko = new MultiSelectWindow("Game Paused", "Play Again", "Change Difficulty", "Exit"); 
    5571        Level.Background.CreateGradient(Color.Black, Color.Purple); 
    5672        alkuValikko.BorderColor = Color.Black; 
     
    5975        alkuValikko.SetButtonTextColor(Color.Red); 
    6076        Add(alkuValikko); 
    61         alkuValikko.AddItemHandler(0, delegate { IsPaused = false; }); 
    62         alkuValikko.AddItemHandler(1, AloitaPeli); 
     77        alkuValikko.AddItemHandler(0, AloitaPeli); 
     78        alkuValikko.AddItemHandler(1, VaikeustasoValikko); 
    6379        alkuValikko.AddItemHandler(2, Exit); 
    6480        alkuValikko.DefaultCancel = 0; 
     
    6884        if (pelikaynnissa == false) 
    6985        { 
    70             Camera.Velocity = new Vector(150, 0); 
     86            Camera.Velocity = new Vector(vaikeusTaso, 0); 
    7187            pelikaynnissa = true; 
    7288        } 
     
    92108        ruudut.SetTileMethod(new Color(0, 38, 255), LuoPiikkiVasen); 
    93109        ruudut.SetTileMethod(new Color(178, 0, 255), LuoPiikkiAlas); 
    94         ruudut.SetTileMethod(new Color(76, 255, 0), LuoMaali); 
     110        ruudut.SetTileMethod(Color.FromHexCode("FFD800"), LuoMaali); 
    95111 
    96112        //3. Execute luo kentän 
     
    103119        pelaaja.Shape = Shape.Circle; 
    104120        pelaaja.Position = paikka; 
    105         pelaaja.Color = Color.Aqua; 
     121        pelaaja.Color = Color.Gray; 
    106122        pelaaja.CollisionIgnoreGroup = 2; 
    107123        pelaaja.Restitution = 0.1; 
     124 
     125 
     126        AddCollisionHandler(pelaaja, "maali", PaaseeMaaliin); 
    108127 
    109128        AddCollisionHandler(pelaaja, "piikki", TormaaPiikkiin); 
     
    116135        pelikaynnissa = false; 
    117136        ClearAll(); 
    118         AlkuValikko(); 
    119  
     137        HavioValikko(); 
     138    } 
     139    void PaaseeMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
     140    { 
     141        pelikaynnissa = false; 
     142        ClearAll(); 
     143        Maalivalikko(); 
     144    } 
     145    void Maalivalikko() 
     146    { 
     147        MultiSelectWindow Maalivalikko = new MultiSelectWindow("You Won!", "Restart", "Change Difficulty", "Exit"); 
     148        Level.Background.CreateGradient(Color.Black, Color.Purple); 
     149        Maalivalikko.BorderColor = Color.Black; 
     150        Maalivalikko.Color = Color.DarkGray; 
     151        Maalivalikko.SetButtonColor(Color.Black); 
     152        Maalivalikko.SetButtonTextColor(Color.Red); 
     153 
     154        Add(Maalivalikko); 
     155        Maalivalikko.AddItemHandler(0, AloitaPeli); 
     156        Maalivalikko.AddItemHandler(1, VaikeustasoValikko); 
     157        Maalivalikko.AddItemHandler(2, Exit); 
     158        Maalivalikko.DefaultCancel = 1; 
    120159    } 
    121160    void AlkuValikko() 
    122161    { 
    123         MultiSelectWindow alkuValikko = new MultiSelectWindow("Gravity", "Aloita peli", "Lopeta"); 
     162        MultiSelectWindow alkuValikko = new MultiSelectWindow("Gravity", "Start Game", "Exit"); 
    124163        Level.Background.CreateGradient(Color.Black, Color.Purple); 
    125164        alkuValikko.BorderColor = Color.Black; 
     
    132171         
    133172        Add(alkuValikko); 
    134         alkuValikko.AddItemHandler(0, AloitaPeli); 
     173        alkuValikko.AddItemHandler(0, VaikeustasoValikko); 
    135174        alkuValikko.AddItemHandler(1, Exit); 
    136175        alkuValikko.DefaultCancel = 1; 
     176    } 
     177    void HavioValikko() 
     178    { 
     179        MultiSelectWindow HavioValikko = new MultiSelectWindow("You Failed!", "Play Again", "Change Difficulty", "Exit"); 
     180        Level.Background.CreateGradient(Color.Black, Color.Purple); 
     181        HavioValikko.BorderColor = Color.Black; 
     182        HavioValikko.Color = Color.DarkGray; 
     183        HavioValikko.SetButtonColor(Color.Black); 
     184        HavioValikko.SetButtonTextColor(Color.Red); 
     185        Add(HavioValikko); 
     186        HavioValikko.AddItemHandler(0, AloitaPeli); 
     187        HavioValikko.AddItemHandler(1, VaikeustasoValikko); 
     188        HavioValikko.AddItemHandler(2, Exit); 
     189        HavioValikko.DefaultCancel = 1; 
     190    } 
     191    void VaikeustasoValikko() 
     192    { 
     193        MultiSelectWindow VaikeustasoValikko = new MultiSelectWindow("Difficulty","Easy", "Normal", "Hard", "Back"); 
     194        Level.Background.CreateGradient(Color.Black, Color.Purple); 
     195        VaikeustasoValikko.BorderColor = Color.Black; 
     196        VaikeustasoValikko.Color = Color.DarkGray; 
     197        VaikeustasoValikko.SetButtonColor(Color.Black); 
     198        VaikeustasoValikko.SetButtonTextColor(Color.Red); 
     199        Add(VaikeustasoValikko); 
     200        VaikeustasoValikko.AddItemHandler(0, LuoHelppo); 
     201        VaikeustasoValikko.AddItemHandler(1, LuoNormaali); 
     202        VaikeustasoValikko.AddItemHandler(2, LuoVaikea); 
     203        VaikeustasoValikko.AddItemHandler(3, AlkuValikko); 
     204        VaikeustasoValikko.DefaultCancel = 1; 
     205    } 
     206    void LuoHelppo() 
     207    { 
     208        vaikeusTaso = helppo; 
     209        AloitaPeli(); 
     210    } 
     211    void LuoNormaali() 
     212    { 
     213        vaikeusTaso = normaali; 
     214        AloitaPeli(); 
     215    } 
     216    void LuoVaikea() 
     217    { 
     218        vaikeusTaso = vaikea; 
     219        AloitaPeli(); 
    137220    } 
    138221    void LuoSeina(Vector paikka, double leveys, double korkeus) 
     
    179262        PhysicsObject Maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
    180263        Maali.Position = paikka; 
    181         Maali.Color = Color.Yellow; 
     264        Maali.Color = Color.FromHexCode("FFD800"); 
    182265        Maali.Image = maalinkuva; 
    183266        Add(Maali); 
    184267        Maali.CollisionIgnoreGroup = 1; 
     268        Maali.Tag = "maali"; 
    185269    } 
    186270 
    187271    protected override void Update(Time time) 
    188272    { 
    189         if (pelaaja != null && pelikaynnissa) pelaaja.Velocity = new Vector(150, pelaaja.Velocity.Y); 
     273        if (pelaaja != null && pelikaynnissa) 
     274        { 
     275            pelaaja.Velocity = new Vector(vaikeusTaso, pelaaja.Velocity.Y); 
     276            etenemisMittari.Value = (Math.Abs(pelaaja.X - Level.Left)) / Level.Width * 100; 
     277        } 
     278 
    190279        if (pelaaja != null && pelikaynnissa) 
    191280            if (pelaaja.Left < Camera.ScreenToWorld(new Vector(Screen.Left, 0)).X) TormaaPiikkiin(pelaaja, null); 
Note: See TracChangeset for help on using the changeset viewer.