Ignore:
Timestamp:
2011-06-08 20:46:32 (9 years ago)
Author:
hejumunt
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/hejumunt/RunRunRun/RunRunRun/RunRunRun/Peli.cs

    r1757 r1770  
    2525    Image puunKuva = LoadImage("puurunko"); 
    2626    Image puun1Kuva = LoadImage("puulehdet"); 
     27    Image kellonKuva = LoadImage("kello"); 
    2728    Shape hahmonMuoto; 
    2829 
     
    3132    DoubleMeter alaspainLaskuri; 
    3233    int elämät = 3; 
     34    Timer ajastin; 
     35    PhysicsObject kello; 
     36 
     37    List<Label> valikonKohdat; 
    3338 
    3439    public override void Begin() 
    3540    { 
    3641        // TODO: Kirjoita ohjelmakoodisi tähän 
    37         hahmonMuoto = Shape.FromImage(hahmonKuva); 
    38  
    39         LuoKenttä(); 
    40         AloitaPeli(); 
    41         AsetaOhjaimet(); 
    42  
    43         alaspainLaskuri = new DoubleMeter(2); 
    44  
    45         Timer ajastin = new Timer(); 
    46         ajastin.Interval = 0.1; 
    47         ajastin.Trigger += aikaloppui; 
    48         ajastin.Start(); 
    49  
    50         Label aikaNaytto = new Label(); 
    51         aikaNaytto.TextColor = Color.Black; 
    52         aikaNaytto.BindTo(alaspainLaskuri); 
    53         Add(aikaNaytto); 
    54  
    55     
    56     } 
     42        Valikko(); 
     43 
     44 
     45    } 
     46    void Valikko() 
     47    { 
     48        ClearAll(); 
     49        valikonKohdat = new List<Label>(); 
     50 
     51        Label kohta1 = new Label("Aloita uusi peli"); 
     52        kohta1.Position = new Vector(0, 40); 
     53        valikonKohdat.Add(kohta1); 
     54 
     55        Label kohta2 = new Label("Lopeta"); 
     56        kohta2.Position = new Vector(0, -40); 
     57        valikonKohdat.Add(kohta2); 
     58 
     59        foreach (Label valikonKohta in valikonKohdat) 
     60        { 
     61            Add(valikonKohta); 
     62        } 
     63 
     64        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     65        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 
     66 
     67        Mouse.IsCursorVisible = true; 
     68        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     69        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     70    } 
     71    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     72    { 
     73        foreach (Label kohta in valikonKohdat) 
     74        { 
     75            if (Mouse.IsCursorOn(kohta)) 
     76            { 
     77                kohta.TextColor = Color.Red; 
     78            } 
     79            else 
     80            { 
     81                kohta.TextColor = Color.Black; 
     82            } 
     83 
     84        } 
     85    } 
     86 
     87 
    5788    void aikaloppui(Timer Sender) 
    5889    { 
     
    74105 
    75106    } 
     107    void Lopeta() 
     108    { 
     109        Exit(); 
     110    } 
     111 
    76112    void gameover() 
    77113    { 
    78  
     114        ClearAll(); 
     115        Label teksti = new Label("Oho! Hävisit pelin! Paina ESC palataksesi alkuvalikkoon!"); 
     116        teksti.TextColor = Color.Yellow; 
     117        Add( teksti ); 
     118        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Palaaminen, null); 
     119         
     120    } 
     121    void Palaaminen() 
     122    { 
     123        ClearAll(); 
     124        Valikko(); 
    79125    } 
    80126    void Uudestaan() 
     
    82128        ClearGameObjects(); 
    83129        LuoKenttä(); 
    84         ResetElapsedTime(); 
    85     } 
    86     void LuoAloitusruutu() 
    87     { 
    88     } 
     130        alaspainLaskuri.Value = 700; 
     131        ajastin.Start(); 
     132    } 
     133     
    89134    void LuoKenttä() 
    90135    { 
     
    107152        kentta['0'] = lisaaPuu; 
    108153        kentta['9'] = lisaaPuu1; 
     154        kentta['E'] = lisaaKello; 
    109155        kentta.Insert(40.0, 40.0); 
    110156 
     
    124170        //Timer ajastin = new Timer(); 
    125171        //ajastin.Interval = 0.01; 
    126         //ajastin.Trigger += liikutaHahmoa; 
     172        //ajastin.Trigger += liikutaHahmoa 
    127173        //ajastin.Start(); 
    128174    } 
    129175    void kasittelehahmontormays(PhysicsObject hahmo, PhysicsObject kohde) 
    130176    { 
    131  
     177        if (kohde.Tag.ToString() == "kello") 
     178        { 
     179            kohde.Destroy(); 
     180        } 
     181    } 
     182    PhysicsObject lisaaKello() 
     183    { 
     184        PhysicsObject kello = PhysicsObject.CreateStaticObject(40, 40); 
     185        kello.Image = kellonKuva; 
     186        kello.Tag = "kello"; 
     187        return kello; 
     188    } 
     189    void osuKelloon(PhysicsObject hahmo, PhysicsObject kohde) 
     190    { 
     191        if (kohde.Tag.ToString() == "kello") 
     192        { 
     193            kohde.Destroy(); 
     194        } 
    132195    } 
    133196    PhysicsObject lisaaTaso() 
     
    211274    void AloitaPeli() 
    212275    { 
    213         Vector impulssi = new Vector(300.0, 0.0); 
    214         hahmo.Hit(impulssi); 
     276        ClearAll(); 
     277        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Palaa valikkoon"); 
     278        hahmonMuoto = Shape.FromImage(hahmonKuva); 
     279 
     280        LuoKenttä(); 
     281        AsetaOhjaimet(); 
     282        elämät = 3; 
     283        alaspainLaskuri = new DoubleMeter(700); 
     284 
     285        ajastin = new Timer(); 
     286        ajastin.Interval = 0.1; 
     287        ajastin.Trigger += aikaloppui; 
     288        ajastin.Start(); 
     289 
     290        Label aikaNaytto = new Label(); 
     291        aikaNaytto.TextColor = Color.Black; 
     292        aikaNaytto.BindTo(alaspainLaskuri); 
     293        Add(aikaNaytto); 
     294 
    215295    } 
    216296    PhysicsObject lisaaPuska() 
     
    238318        Keyboard.Listen(Key.Space, ButtonState.Pressed, LiikutaPelaajaa, "Paina SPACE niin hahmo hyppää"); 
    239319        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    240         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); 
     320        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Poistu valikkoon"); 
    241321 
    242322    } 
Note: See TracChangeset for help on using the changeset viewer.