Ignore:
Timestamp:
2010-06-16 15:37:44 (10 years ago)
Author:
anlakane
Message:

Sain piikkipallot toimimaan ja tein lisää kenttiä.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/24/olpesasa/Linnapako/Peli.cs

    r905 r919  
    88    PhysicsObject seina; 
    99    PhysicsObject pelaaja; 
    10     PhysicsObject piikki; 
     10    PhysicsObject piikki1; 
     11    PhysicsObject maali; 
    1112    PhysicsObject piikkipallo; 
     13    int kentanNro; 
    1214    const int ruudunLeveys = 50; 
    1315    const int ruudunKorkeus = 50; 
     
    1719        //TODO: Alusta peli tässä 
    1820        Ohjaimet (); 
    19         LuoKentta(); 
     21        //LuoKentta1(); 
     22        SeuraavaKentta(1); 
    2023    } 
    2124    void Ohjaimet() 
    2225    { 
    23         Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-10, 0)); 
    24         Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(10, 0)); 
    25         Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 10)); 
    26         Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -10)); 
     26        Keyboard.Listen(Key.Left, ButtonState.Down, LiikutaPelaajaa, null, new Vector(-200, 0)); 
     27        Keyboard.Listen(Key.Right, ButtonState.Down, LiikutaPelaajaa, null, new Vector(200, 0)); 
     28        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, 200)); 
     29        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaPelaajaa, null, new Vector(0, -200)); 
    2730        Keyboard.Listen(Key.Left, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0)); 
    2831        Keyboard.Listen(Key.Right, ButtonState.Released, PysaytaPelaaja, null, new Vector(0, 0)); 
     
    3538    void LiikutaPelaajaa(Vector vektori) 
    3639    { 
    37         pelaaja.Hit(vektori); 
     40        pelaaja.Velocity = vektori; 
    3841    } 
    3942    void PysaytaPelaaja(Vector vektori) 
     
    4851        pelaaja.Image = LoadImage("pelihahmo1"); 
    4952        AddCollisionHandler(pelaaja, PelaajanTormays); 
     53        pelaaja.Restitution = 0; 
     54        pelaaja.StaticFriction = 0; 
     55        pelaaja.KineticFriction = 0; 
    5056        return pelaaja; 
    5157    } 
     
    6268        piikkipallo.IgnoresCollisionResponse = true; 
    6369        AddCollisionHandler(piikkipallo, PallonTormays); 
     70        piikkipallo.Tag = "p"; 
    6471        return piikkipallo; 
    6572    } 
     
    7279        return seina; 
    7380    } 
    74     void LuoPiikki(Double x, Double y) 
    75     { 
    76         piikki = PhysicsObject.CreateStaticObject(50.0, 50.0); 
    77         piikki.Shape = Shapes.Rectangle; 
    78         piikki.Image = LoadImage("piikkiseina1"); 
    79         piikki.X = x; 
    80         piikki.Y = y; 
    81         Add(piikki); 
    82     } 
    83  
    84     void LuoKentta() 
     81    PhysicsObject LuoPiikki1() 
     82    { 
     83        piikki1 = PhysicsObject.CreateStaticObject(50.0, 50.0); 
     84        piikki1.Shape = Shapes.Rectangle; 
     85        piikki1.Image = LoadImage("piikkiseina1"); 
     86        piikki1.Tag = "piikki1"; 
     87        return piikki1; 
     88    } 
     89    PhysicsObject LuoMaali() 
     90    { 
     91        maali = PhysicsObject.CreateStaticObject(50.0, 50.0); 
     92        maali.Shape = Shapes.Rectangle; 
     93        maali.Image = LoadImage("maali"); 
     94        maali.Tag = "maali"; 
     95        return maali; 
     96    } 
     97 
     98    void LuoKentta1() 
    8599    { 
    86100        TileMap ruudut = TileMap.FromFile("kentta1.txt"); 
    87         LuoPiikki(100.0, -150.0); 
    88         ruudut['v'] = LuoPiikkipallo; 
    89         ruudut['x'] = LuoSeina; 
    90         ruudut['1'] = LuoPelaaja; 
     101        ruudut['v'] = LuoPiikkipallo; 
     102        ruudut['x'] = LuoSeina; 
     103        ruudut['1'] = LuoPelaaja; 
     104        ruudut['p'] = LuoPiikki1; 
     105        ruudut['m'] = LuoMaali; 
     106        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     107        Camera.ZoomToLevel(); 
     108    } 
     109    void LuoKentta2() 
     110    { 
     111        TileMap ruudut = TileMap.FromFile("kentta2.txt"); 
     112        ruudut['v'] = LuoPiikkipallo; 
     113        ruudut['x'] = LuoSeina; 
     114        ruudut['1'] = LuoPelaaja; 
     115        ruudut['p'] = LuoPiikki1; 
     116        ruudut['m'] = LuoMaali; 
     117        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     118        Camera.ZoomToLevel(); 
     119    } 
     120    void LuoKentta3() 
     121    { 
     122        TileMap ruudut = TileMap.FromFile("kentta3.txt"); 
     123        ruudut['v'] = LuoPiikkipallo; 
     124        ruudut['x'] = LuoSeina; 
     125        ruudut['1'] = LuoPelaaja; 
     126        ruudut['p'] = LuoPiikki1; 
     127        ruudut['m'] = LuoMaali; 
     128        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     129        Camera.ZoomToLevel(); 
     130    } 
     131    void LuoKentta4() 
     132    { 
     133        TileMap ruudut = TileMap.FromFile("kentta4.txt"); 
     134        ruudut['v'] = LuoPiikkipallo; 
     135        ruudut['x'] = LuoSeina; 
     136        ruudut['1'] = LuoPelaaja; 
     137        ruudut['p'] = LuoPiikki1; 
     138        ruudut['m'] = LuoMaali; 
     139        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     140        Camera.ZoomToLevel(); 
     141    } 
     142    void LuoKentta5() 
     143    { 
     144        TileMap ruudut = TileMap.FromFile("kentta5.txt"); 
     145        ruudut['v'] = LuoPiikkipallo; 
     146        ruudut['x'] = LuoSeina; 
     147        ruudut['1'] = LuoPelaaja; 
     148        ruudut['p'] = LuoPiikki1; 
     149        ruudut['m'] = LuoMaali; 
     150        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
     151        Camera.ZoomToLevel(); 
     152    } 
     153    void LuoKentta6() 
     154    { 
     155        TileMap ruudut = TileMap.FromFile("kentta6.txt"); 
     156        ruudut['v'] = LuoPiikkipallo; 
     157        ruudut['x'] = LuoSeina; 
     158        ruudut['1'] = LuoPelaaja; 
     159        ruudut['p'] = LuoPiikki1; 
     160        ruudut['m'] = LuoMaali; 
    91161        ruudut.Insert(ruudunLeveys, ruudunKorkeus); 
    92162        Camera.ZoomToLevel(); 
     
    94164    void PelaajanTormays(PhysicsObject pelaaja, PhysicsObject kohde) 
    95165    { 
    96         if (kohde == piikki) 
     166        if (kohde.Tag.ToString() == "piikki1") 
    97167        { 
    98168            AloitaAlusta(); 
    99169        } 
    100         else if (kohde == piikkipallo) 
     170        else if (kohde.Tag.ToString() == "p") 
    101171        { 
    102172            AloitaAlusta(); 
    103173        } 
     174        else if (kohde.Tag.ToString() == "maali") 
     175        { 
     176            kentanNro++; 
     177            SeuraavaKentta(kentanNro); 
     178        } 
    104179    } 
    105180    void PallonTormays(PhysicsObject piikkipallo, PhysicsObject kohde) 
     
    112187    void AloitaAlusta() 
    113188    { 
     189 
    114190        ClearAll(); 
    115191        Ohjaimet(); 
    116         LuoKentta(); 
    117     } 
    118  
     192        SeuraavaKentta(kentanNro); 
     193    } 
     194    void SeuraavaKentta(int kentta) 
     195    { 
     196        ClearAll(); 
     197        if (kentta == 1) LuoKentta1(); 
     198        else if (kentta == 2) LuoKentta2(); 
     199        else if (kentta == 3) LuoKentta3(); 
     200        else if (kentta == 4) LuoKentta4(); 
     201        else if (kentta == 5) LuoKentta5(); 
     202        else if (kentta == 6) LuoKentta6(); 
     203 
     204        Ohjaimet(); 
     205 
     206    } 
    119207 
    120208} 
Note: See TracChangeset for help on using the changeset viewer.