Ignore:
Timestamp:
2013-06-27 14:56:47 (8 years ago)
Author:
rotaraih
Message:

Talletus.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2013/26/RoopeR/The Random game/The Random game/The Random game/The_Random_game.cs

    r4233 r4276  
    99public class The_Random_game : PhysicsGame 
    1010{ 
    11  
    12     const double nopeus = 200; 
    13     const double hyppyNopeus = 3000; 
     11    ScoreList topLista = new ScoreList(10, false, 0); 
     12 
     13    const double nopeus = 100; 
     14    const double hyppyNopeus = 2000; 
    1415    const int RUUDUN_KOKO = 60; 
    1516    int kenttaNro = 1; 
     17    int maara = 0; 
    1618    PlatformCharacter pelaaja1; 
    1719 
    18  
    19     Image tahtiKuva = LoadImage("tahti"); 
     20    IntMeter pisteLaskuri; 
     21 
     22    Image kerattavaKuva = LoadImage("kerattava"); 
    2023    Image esteKuva = LoadImage("Este"); 
    2124    Image pelaajakuva = LoadImage("pelaaja"); 
    2225    Image maalikuva = LoadImage("Untitled"); 
    23      
     26 
    2427    SoundEffect maaliAani = LoadSoundEffect("maali"); 
    2528 
    2629    public override void Begin() 
    2730    { 
     31        alkuvalikko(); 
     32 
     33 
     34        
     35    } 
     36    
     37 
     38    void alkuvalikko() 
     39    { 
     40        MultiSelectWindow alkuValikko = new MultiSelectWindow("The Random Game", "Start game", "exit"); 
     41        Add(alkuValikko); 
     42        alkuValikko.AddItemHandler(0, SeuraavaKentta); 
     43        //alkuValikko.AddItemHandler(1, ParhaatPisteet); 
     44        alkuValikko.AddItemHandler(1, Exit); 
     45    } 
     46 
     47    void TormaaMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
     48    { 
     49        if (maara == 0) 
     50        { 
     51            kenttaNro++; 
     52            SeuraavaKentta(); 
     53        } 
     54    } 
     55    void SeuraavaKentta() 
     56    { 
     57        ClearAll(); 
     58        maara = 0; 
     59        if (kenttaNro > 17) Exit(); 
     60        else LuoKentta("kentta" + kenttaNro); 
     61        //if (kenttaNro == 1) LuoKentta("kentta1"); 
     62        //else if (kenttaNro == 2) LuoKentta("kentta2"); 
     63        //else if (kenttaNro == 3) LuoKentta("kentta3"); 
     64        //else if (kenttaNro == 4) LuoKentta("kentta4"); 
     65        //else if (kenttaNro == 5) LuoKentta("kentta5"); 
     66        //else if (kenttaNro == 6) LuoKentta("kentta6"); 
     67        //else if (kenttaNro == 7) LuoKentta("kentta7"); 
     68        //else if (kenttaNro == 8) LuoKentta("kentta8"); 
     69        //else if (kenttaNro == 9) LuoKentta("kentta9"); 
     70        //else if (kenttaNro == 10) LuoKentta("kentta10"); 
     71        //else if (kenttaNro == 11) LuoKentta("kentta11"); 
     72        //else if (kenttaNro == 12) LuoKentta("kentta12"); 
     73        //else if (kenttaNro == 13) LuoKentta("kentta13"); 
     74        //else if (kenttaNro == 14) LuoKentta("kentta14"); 
     75        //else if (kenttaNro == 15) LuoKentta("kentta15"); 
     76        //else if (kenttaNro == 16) LuoKentta("kentta16"); 
     77        //else if (kenttaNro == 17) LuoKentta("kentta17"); 
     78        //else if (kenttaNro > 17) Exit(); 
     79 
    2880        Gravity = new Vector(0, -3000); 
    2981 
    30         SeuraavaKentta(); 
    3182        LisaaNappaimet(); 
     83        LuoPistelaskuri(); 
     84        LuoAikaLaskuri(); 
    3285 
    3386        Camera.Follow(pelaaja1); 
    3487        Camera.ZoomFactor = 1.2; 
    3588        Camera.StayInLevel = true; 
    36     } 
    37  
    38     void TormaaMaaliin(PhysicsObject pelaaja, PhysicsObject maali) 
    39     { 
    40  
    41     } 
    42     void SeuraavaKentta() 
    43     { 
    44         if (kenttaNro == 1) LuoKentta("kentta1"); 
    45         else if (kenttaNro == 2) LuoKentta("kentta2"); 
    46         else if (kenttaNro == 3) LuoKentta("kentta3"); 
    47         else if (kenttaNro > 3) Exit(); 
    4889    } 
    4990 
     
    89130    void LisaaEste(Vector paikka, double leveys, double korkeus) 
    90131    { 
    91         PhysicsObject este = PhysicsObject.CreateStaticObject(leveys * 1.5, korkeus); 
     132        PhysicsObject este = PhysicsObject.CreateStaticObject(leveys / 2, korkeus / 2); 
    92133        este.Image = esteKuva; 
    93134        este.Shape = Shape.FromImage(esteKuva); 
     
    95136        este.Color = Color.Magenta; 
    96137        Add(este); 
    97         este.Restitution = (5.0); 
     138        este.Restitution = (1.0); 
    98139 
    99140    } 
     
    104145        tahti.IgnoresCollisionResponse = true; 
    105146        tahti.Position = paikka; 
    106         tahti.Image = tahtiKuva; 
     147        tahti.Image = kerattavaKuva; 
    107148        tahti.Tag = "random"; 
    108149        Add(tahti); 
    109         tahti.Restitution = (2.0); 
     150        tahti.Restitution = (0.0); 
     151        maara++; 
    110152    } 
    111153 
    112154    void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 
    113155    { 
    114         pelaaja1 = new PlatformCharacter(leveys, korkeus); 
     156        pelaaja1 = new PlatformCharacter(leveys / 2, korkeus / 2); 
    115157        pelaaja1.Position = paikka; 
    116158        pelaaja1.Mass = 5.0; 
    117         pelaaja1.Restitution = 5.0; 
     159        pelaaja1.Restitution = 1.0; 
    118160        pelaaja1.Image = pelaajakuva; 
    119         AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 
     161        AddCollisionHandler(pelaaja1, "random", TormaaTahteen); 
    120162        AddCollisionHandler(pelaaja1, "maali", TormaaMaaliin); 
    121163        Add(pelaaja1); 
    122         pelaaja1.LifetimeLeft = TimeSpan.FromSeconds(60.0); 
    123         pelaaja1.Push(new Vector(1000, 0)); 
    124     } 
    125      
     164        pelaaja1.LifetimeLeft = TimeSpan.FromSeconds(60); 
     165        pelaaja1.Push(new Vector(1, 0)); 
     166    } 
     167 
    126168 
    127169 
     
    130172        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    131173        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    132  
     174        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     175        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
     176        Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppaa, "pelaaja hyppää", pelaaja1, hyppyNopeus); 
    133177        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
    134178        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 
    135179        Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    136180        Keyboard.Listen(Key.P, ButtonState.Pressed, Pause, "Pysäyttää pelin"); 
    137         ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    138  
    139         ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 
    140         ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 
    141         ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 
    142  
    143         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    144     } 
     181        Keyboard.Listen(Key.Enter, ButtonState.Pressed, SeuraavaKentta, "Aloittaa kentän uudestaan"); 
     182 
     183        ControllerOne.ListenAnalog(AnalogControl.LeftStick, 0.1, 
     184   LiikutaTatilla, "Liikuta pelaajaa tattia pyörittämällä.", pelaaja1, 1000.0); 
     185        ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, null, pelaaja1, -100.0); 
     186        ControllerOne.Listen(Button.DPadRight, ButtonState.Down, 
     187          Liikuta, null, pelaaja1, 100.0); 
     188        ControllerOne.Listen(Button.DPadUp, ButtonState.Down, 
     189          Hyppaa, null, pelaaja1, 1000.0); 
     190        ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Hyppää", pelaaja1, 1000.0); 
     191 
     192    } 
     193 
     194    void LiikutaTatilla(AnalogState a, PlatformCharacter pelaaja, double voima) 
     195    { 
     196        Vector tatinAsento = a.StateVector; 
     197        //if (tatinAsento.Y > 0) pelaaja.Jump(voima*2); 
     198        pelaaja.Walk(tatinAsento.X * voima); 
     199 
     200    } 
     201 
    145202 
    146203    void Liikuta(PlatformCharacter hahmo, double nopeus) 
     
    157214    { 
    158215        // maaliAani.Play(); 
    159         MessageDisplay.Add("Onnea keräsit tähden!!! :)"); 
     216        MessageDisplay.Add("Onnea keräsit merkin!!! :)"); 
    160217        tahti.Destroy(); 
    161     } 
    162 } 
     218        pisteLaskuri.Value++; 
     219        maara--; 
     220    } 
     221 
     222    void LuoPistelaskuri() 
     223    { 
     224        pisteLaskuri = new IntMeter(0); 
     225 
     226        Label pisteNaytto = new Label(); 
     227        pisteNaytto.X = Screen.Right - 100; 
     228        pisteNaytto.Y = Screen.Top - 100; 
     229        pisteNaytto.TextColor = Color.Black; 
     230        pisteNaytto.Color = Color.HotPink; 
     231        pisteNaytto.Title = "Pisteet"; 
     232        pisteNaytto.BindTo(pisteLaskuri); 
     233        Add(pisteNaytto); 
     234 
     235    } 
     236 
     237 
     238    void LuoAikaLaskuri() 
     239    { 
     240        Timer aikaLaskuri = new Timer(); 
     241        //aikaLaskuri.Interval = 30.0; 
     242        aikaLaskuri.GetType().GetField("trigInterval", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance).SetValue(aikaLaskuri, TimeSpan.FromSeconds(300)); 
     243        aikaLaskuri.Timeout += AikaLoppui; 
     244        aikaLaskuri.Start(1); 
     245              
     246 
     247        Label aikaNaytto = new Label(); 
     248        aikaNaytto.TextColor = Color.Black; 
     249        aikaNaytto.DecimalPlaces = 1; 
     250        aikaNaytto.X = Screen.Right - 100; 
     251        aikaNaytto.Y = Screen.Top - 200; 
     252        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     253        Add(aikaNaytto); 
     254    } 
     255 
     256    void AikaLoppui() 
     257    { 
     258        MessageDisplay.Add("Aika loppui..."); 
     259        SeuraavaKentta(); 
     260 
     261    } 
     262 
     263    } 
     264 
     265 
     266 
    163267     
    164  
    165      
Note: See TracChangeset for help on using the changeset viewer.