Ignore:
Timestamp:
2011-06-08 15:30:20 (8 years ago)
Author:
iltakuop
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/iltakuop/Blocks/Blocks/Blocks/Peli.cs

    r1756 r1761  
    2626public class Peli : PhysicsGame 
    2727{ 
    28     Vector nopeusOikea = new Vector(600, 0); 
    29     Vector nopeusVasen = new Vector(-600, 0); 
     28    int mailanNopeus = 600; 
     29    //Vector nopeusVasen = new Vector(-600, 0); 
    3030 
    3131    PhysicsObject pallo; 
     
    5050    IntMeter elämätL; 
    5151 
     52    List<Label> valikonKohdat; 
    5253    List<PhysicsObject> tasot = new List<PhysicsObject>(); 
    5354    List<PhysicsObject> taso2t = new List<PhysicsObject>(); 
     
    5657    public override void Begin() 
    5758    { 
     59        Valikko(); 
     60    } 
     61 
     62    void Valikko() 
     63    { 
     64        ClearAll(); 
     65        valikonKohdat = new List<Label>(); 
     66 
     67        Label kohta1 = new Label("Aloita uusi peli"); 
     68        kohta1.Position = new Vector(-80, 40); 
     69        valikonKohdat.Add(kohta1); 
     70 
     71        Label kohta2 = new Label("Asetukset"); 
     72        kohta2.Position = new Vector(-80, -40); 
     73        valikonKohdat.Add(kohta2); 
     74 
     75        Label kohta3 = new Label("Lopeta"); 
     76        kohta3.Position = new Vector(80, -40); 
     77        valikonKohdat.Add(kohta3); 
     78 
     79        foreach (Label valikonKohta in valikonKohdat) 
     80        { 
     81            Add(valikonKohta); 
     82        } 
     83 
     84        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AloitaPeli, null); 
     85        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, Asetukset, null); 
     86        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Lopeta, null); 
     87 
     88        Mouse.IsCursorVisible = true; 
     89        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     90        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     91    } 
     92 
     93    void ValikossaLiikkuminen(AnalogState hiirenTila) 
     94    { 
     95        foreach (Label kohta in valikonKohdat) 
     96        { 
     97            if (Mouse.IsCursorOn(kohta)) 
     98            { 
     99                kohta.TextColor = Color.Red; 
     100            } 
     101            else 
     102            { 
     103                kohta.TextColor = Color.Black; 
     104            } 
     105 
     106        } 
     107    } 
     108 
     109    void AloitaPeli() 
     110    { 
     111        ClearAll(); 
    58112        LuoKenttä(1); 
    59113        AsetaOhjaimet(); 
    60114        LisääLaskurit(3, 0); 
    61         AloitaPeli(); 
    62     } 
     115        AloitaPeliUudestaan(); 
     116    } 
     117 
     118    void Lopeta() 
     119    { 
     120        Exit(); 
     121    } 
     122 
     123    void Asetukset() 
     124    { 
     125        ClearAll(); 
     126        valikonKohdat = new List<Label>(); 
     127 
     128        Label kohta1 = new Label("Pallon nopeus"); 
     129        kohta1.Position = new Vector(-80, 40); 
     130        valikonKohdat.Add(kohta1); 
     131 
     132        Label kohta2 = new Label("Mailan nopeus"); 
     133        kohta2.Position = new Vector(-80, -40); 
     134        valikonKohdat.Add(kohta2); 
     135 
     136        Label kohta3 = new Label("Takaisin"); 
     137        kohta3.Position = new Vector(80, -40); 
     138        valikonKohdat.Add(kohta3); 
     139 
     140        foreach (Label valikonKohta in valikonKohdat) 
     141        { 
     142            Add(valikonKohta); 
     143        } 
     144 
     145        Mouse.ListenOn(kohta1, MouseButton.Left, ButtonState.Pressed, AsetaPallonNopeus, null); 
     146        Mouse.ListenOn(kohta2, MouseButton.Left, ButtonState.Pressed, AsetaMailanNopeus, null); 
     147        Mouse.ListenOn(kohta3, MouseButton.Left, ButtonState.Pressed, Valikko, null); 
     148 
     149        Mouse.IsCursorVisible = true; 
     150        Mouse.ListenMovement(1.0, ValikossaLiikkuminen, null); 
     151        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Lopeta, ""); 
     152    } 
     153 
     154    void AsetaPallonNopeus() 
     155    { 
     156        InputWindow kysymysIkkuna = new InputWindow("Pallon nopeus", "Oletus on 300"); 
     157        kysymysIkkuna.TextEntered += KäsitteleAsetukset; 
     158        Add(kysymysIkkuna); 
     159 
     160    } 
     161 
     162 
     163    void AsetaMailanNopeus() 
     164    { 
     165        InputWindow kysymysIkkuna = new InputWindow("Mailan nopeus", "Oletus on 600"); 
     166        kysymysIkkuna.TextEntered += KäsitteleAsetukset2; 
     167        Add(kysymysIkkuna); 
     168    } 
     169     
     170    void KäsitteleAsetukset(InputWindow ikkuna) 
     171    { 
     172        try 
     173        { 
     174            int vastaus = int.Parse(ikkuna.InputBox.Text); 
     175        } 
     176        catch (FormatException f) 
     177        { 
     178            ClearAll(); 
     179            Label tekstikentta = new Label("Anna luku!"); 
     180            Add(tekstikentta); 
     181            Timer.SingleShot(2, ClearAll); 
     182            Timer.SingleShot(2.01, Asetukset); 
     183        } 
     184    } 
     185    void KäsitteleAsetukset2(InputWindow ikkuna) 
     186    { 
     187        try 
     188        { 
     189            int vastaus = int.Parse(ikkuna.InputBox.Text); 
     190            mailanNopeus = vastaus; 
     191        } 
     192        catch (FormatException f) 
     193        { 
     194            ClearAll(); 
     195            Label tekstikentta = new Label("Anna luku!"); 
     196            Add(tekstikentta); 
     197            Timer.SingleShot(2, ClearAll); 
     198            Timer.SingleShot(2.01, Asetukset); 
     199        } 
     200    } 
     201 
     202     
    63203    PhysicsObject LuoPallo() //-170 
    64204    { 
     
    85225    } 
    86226 
    87     void AloitaPeli() 
     227    void AloitaPeliUudestaan() 
    88228    { 
    89229        maila.X = 0; 
     
    101241    void AsetaOhjaimet() 
    102242    { 
     243        Vector nopeusVasen = new Vector(-mailanNopeus, 0); 
     244        Vector nopeusOikea = new Vector(mailanNopeus, 0); 
    103245        Keyboard.Listen(Key.Right, ButtonState.Down, AsetaNopeus, "Liikuta mailaa oikealle", maila, nopeusOikea); 
    104246        Keyboard.Listen(Key.Right, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
     
    106248        Keyboard.Listen(Key.Left, ButtonState.Released, AsetaNopeus, null, maila, Vector.Zero); 
    107249 
    108         Keyboard.Listen(Key.T, ButtonState.Pressed, AloitaPeli, "Liikuta mailaa vasemmalle"); 
     250        Keyboard.Listen(Key.T, ButtonState.Pressed, AloitaPeliUudestaan, "Liikuta mailaa vasemmalle"); 
    109251        Keyboard.Listen(Key.R, ButtonState.Pressed, DebugRäjäytys, "Liikuta mailaa vasemmalle"); 
    110252         
     
    148290                    HävisitPelin(); 
    149291                } 
    150                 else Timer.SingleShot(1, AloitaPeli); 
     292                else Timer.SingleShot(1, AloitaPeliUudestaan); 
    151293            } 
    152294            if (kohde.Tag.ToString() == "taso") 
     
    216358        AsetaOhjaimet(); 
    217359        LisääLaskurit(elämät, pisteet); 
    218         AloitaPeli(); 
     360        AloitaPeliUudestaan(); 
    219361    } 
    220362 
     
    387529    } 
    388530 
    389     const double PALLON_NOPEUS = 300; 
     531    double PALLON_NOPEUS = 300; 
    390532 
    391533    protected override void Update(Time time) 
Note: See TracChangeset for help on using the changeset viewer.