Changeset 9650


Ignore:
Timestamp:
2018-06-07 11:52:58 (2 years ago)
Author:
nivertai
Message:
 
Location:
2018/23/NIILOV/peli1
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • 2018/23/NIILOV/peli1/peli1.cs

    r9621 r9650  
    1212    int pisteet = 0; 
    1313    int arvottu = 0; 
    14     int nykypaikka = 0; 
    15     int vanhapaikka = 0; 
     14    int nykypaikka = -50; 
     15    int vanhapaikka = -0; 
    1616    bool osuuko = false; 
     17    IntMeter PelaajanPisteet; 
    1718 
    1819    PhysicsObject pallo; 
    1920    PhysicsObject vasenreuna; 
    20     PhysicsObject oikeareuna; 
    21     PhysicsObject ylareuna; 
    22     PhysicsObject alareuna; 
     21    const double VASEN_RAJA = -500; 
    2322    bool palloLuotu = false; 
     23    bool luotiinko = false; 
    2424 
    2525    Vector nopeus = new Vector(-200, 0); 
     
    3232            pallo.X = 0; 
    3333        } 
     34        if (luotiinko) 
     35        { 
     36            PelaajanPisteet.Value += 1; 
     37        } 
    3438 
    3539        base.Update(gameTime); 
     
    3943    { 
    4044        // Kirjoita ohjelmakoodisi tähän 
    41  
     45        alkuvalikko(); 
     46         
     47    } 
     48    void alkuvalikko() 
     49    { 
     50        MultiSelectWindow alkuvalikko = new MultiSelectWindow("Menu", "New Game", "Exit"); 
     51        Add(alkuvalikko); 
     52        alkuvalikko.AddItemHandler(0, tasovalinta); 
     53        alkuvalikko.AddItemHandler(1, Exit); 
     54    } 
     55    void tasovalinta() 
     56    { 
     57        MultiSelectWindow taso = new MultiSelectWindow("Select","Impossible", "Hard", "Medium", "Easy"); 
     58        Add(taso); 
     59        taso.AddItemHandler(0, mahdoton); 
     60        taso.AddItemHandler(1, vaikea); 
     61        taso.AddItemHandler(2, keskitaso); 
     62        taso.AddItemHandler(3, helppo); 
     63    } 
     64    void mahdoton() 
     65    { 
     66        nopeus = new Vector(-600, 0); 
     67        alku(); 
     68    } 
     69    void vaikea() 
     70    { 
     71        nopeus = new Vector(-400, 0); 
     72        alku(); 
     73    } 
     74    void keskitaso() 
     75    { 
     76        nopeus = new Vector(-200,0); 
     77        alku(); 
     78    } 
     79    void helppo() 
     80    { 
     81        nopeus = new Vector(-100,0); 
     82        alku(); 
     83    } 
     84    void alku() 
     85    { 
    4286        Level.BackgroundColor = Color.Red; 
    4387 
    4488 
     89        LuoPisteLaskuri(); 
    4590        luokentta(Color.Black); 
    4691 
    47         Keyboard.Listen(Key.Space, ButtonState.Pressed, hyppaa, "pallo hyppää"); 
     92        Keyboard.Listen(Key.Space, ButtonState.Down, hyppaa, "pallo hyppää"); 
    4893        //Keyboard.Listen(Key.A, ButtonState.Released, asetanopeus, null, Vector.Zero); 
    4994        //Keyboard.Listen(Key.Z, ButtonState.Down, asetanopeus, "Pelaaja 1: Liikuta mailaa alas",nopeus); 
    5095        //Keyboard.Listen(Key.Z, ButtonState.Released, asetanopeus, null, Vector.Zero); 
    5196 
    52         PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 
    5397        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    5498        AddCollisionHandler(pallo, "timantti", keraa); 
     
    71115        palloLuotu = true; 
    72116 
    73         vasenreuna = new PhysicsObject(100, Screen.Height); 
    74         vasenreuna.X = Level.Left - 100; 
     117        PelaajanPisteet = LuoPisteLaskuri(); 
     118        
     119 
     120        vasenreuna = new PhysicsObject(1, Screen.Height); 
     121        vasenreuna.X = VASEN_RAJA - vasenreuna.Width * 22; 
    75122        //vasenreuna.MakeStatic(); 
    76123        Add(vasenreuna); 
     
    81128        vasenreuna.IgnoresCollisionResponse = true; 
    82129 
    83         oikeareuna = Level.CreateRightBorder(); 
    84         oikeareuna.Restitution = 0.0; 
    85         oikeareuna.IsVisible = false; 
    86  
    87         ylareuna = Level.CreateTopBorder(); 
    88         ylareuna.Restitution = 0.0; 
    89         ylareuna.IsVisible = false; 
    90  
    91         alareuna = Level.CreateBottomBorder(); 
    92         alareuna.Restitution = 0.0; 
    93         alareuna.IsVisible = false; 
    94  
    95         for (int i = -10; i < 10; i++) 
     130        for (int i = 0; i < 20; i++) 
    96131        { 
    97132            luotimantit(i * 50, 0); 
     
    100135        Camera.Follow(pallo); 
    101136    } 
    102  
    103  
    104137    PhysicsObject luoruudut(double x, double y) 
    105138    { 
     
    113146        ruutu.Velocity = nopeus; 
    114147        ruutu.Tag = ("ruutu"); 
    115         ruutu.IgnoresGravity = true; 
    116148        ruutu.MakeStatic(); 
    117149 
     
    124156        timantti.X = x; 
    125157        timantti.Y = y; 
    126         timantti.Velocity = nopeus; 
     158        timantti.Velocity = new Vector(-200,0); 
    127159        timantti.Shape = Shape.Diamond; 
    128160        Add(timantti); 
     
    194226            { 
    195227                vanhapaikka = nykypaikka; 
    196                 arvottu = RandomGen.NextInt(1,2); 
     228                arvottu = RandomGen.NextInt(1, 3); 
    197229                vaihtuukoy = 0; 
    198230            } 
    199231            //MessageDisplay.Add("ruutu osui!"); 
    200             kohde.X = Level.Right - 100; 
     232            kohde.X = -VASEN_RAJA; 
    201233 
    202234            if (arvottu == 1) 
     
    204236                kohde.Y = vanhapaikka - 50; 
    205237                nykypaikka = vanhapaikka - 50; 
    206             } 
    207             else if (arvottu == 2) 
     238                vasenreuna.Y = vanhapaikka - 50; 
     239 
     240            } 
     241            if (arvottu == 2) 
    208242            { 
    209243                kohde.Y = vanhapaikka + 50; 
    210244                nykypaikka = vanhapaikka + 50; 
     245                vasenreuna.Y = vanhapaikka + 50; 
    211246            } 
    212247        } 
     
    214249        { 
    215250            //MessageDisplay.Add("ruutu osui!"); 
    216             kohde.X = Level.Right - 100; 
    217         } 
    218         if (kohde.Tag.ToString().Equals("pallo")) 
    219         { 
    220             pallo.X = Level.Left; 
    221         } 
    222     } 
     251            kohde.Destroy(); 
     252            luotimantit(-VASEN_RAJA, nykypaikka + 100); 
     253        } 
     254    } 
     255 
    223256    void kuoliko(PhysicsObject pallo, PhysicsObject kohde) 
    224257    { 
    225258        if (pallo.Bottom < kohde.Top-30) 
    226259        { 
    227             IsPaused = true; 
     260            Explosion rajahdys = new Explosion(100); 
     261            rajahdys.X = pallo.X; 
     262            rajahdys.Y = pallo.Y; 
     263            Add(rajahdys); 
     264            pallo.Destroy(); 
     265            nopeus = new Vector(0, 0); 
     266            //IsPaused = true; 
    228267            MultiSelectWindow alkuvalikko = new MultiSelectWindow("You Died!" ,"New Game", "Exit"); 
    229268            Add(alkuvalikko); 
     
    244283        IsPaused = false; 
    245284        ClearAll(); // Tyhjennetään kenttä kaikista peliolioista 
     285        nykypaikka = -50; 
     286        nopeus = new Vector(-200, 0); 
    246287        Begin(); 
    247288    } 
     289    IntMeter LuoPisteLaskuri() 
     290    { 
     291        IntMeter laskuri = new IntMeter(0); 
     292 
     293        Label naytto = new Label(); 
     294        naytto.BindTo(laskuri); 
     295        naytto.X = 100; 
     296        naytto.Y = 100; 
     297        naytto.TextColor = Color.White; 
     298        naytto.BorderColor = Level.BackgroundColor; 
     299        naytto.Color = Level.BackgroundColor; 
     300        Add(naytto); 
     301 
     302        return laskuri; 
     303        luotiinko = true; 
     304    } 
    248305} 
Note: See TracChangeset for help on using the changeset viewer.