Ignore:
Timestamp:
2010-07-27 21:02:46 (11 years ago)
Author:
tekrjant
Message:

Esine-valikko.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2010/30/tekrjant/Seikkailu/Peli.cs

    r1269 r1346  
    3636 
    3737    EsineRuutu esineRuutu; 
     38    EsineValikko esineValikko; 
    3839 
    3940    PhysicsObject pelaaja; 
    40     List<Esine> pelaajanTavarat = new List<Esine>(); 
    4141    Esine viimeksiKoskettuEsine; 
    4242 
     
    6767        esineRuutu.Y = Screen.Top - esineRuutu.Height / 2; 
    6868        Add( esineRuutu ); 
     69 
     70        esineValikko = new EsineValikko( 100, 100 ); 
     71        esineValikko.X = 0; 
     72        esineValikko.Y = Screen.Bottom + esineValikko.Height / 2; 
     73        Add( esineValikko ); 
    6974    } 
    7075 
     
    222227        Keyboard.Listen( Key.Right, ButtonState.Released, EiKaanny, null ); 
    223228 
     229        Keyboard.Listen( Key.Q, ButtonState.Pressed, esineValikko.Vasemmalle, null ); 
     230        Keyboard.Listen( Key.W, ButtonState.Pressed, esineValikko.Oikealle, null ); 
     231        Keyboard.Listen( Key.Space, ButtonState.Pressed, KaytaValittuaEsinetta, null ); 
     232 
    224233        Keyboard.Listen( Key.P, ButtonState.Pressed, Keraa, null ); 
    225  
    226         Keyboard.Listen( Key.Z, ButtonState.Pressed, KaytaTaikaSauvaa, null ); 
    227         Keyboard.Disable( Key.Z ); 
    228  
    229         Keyboard.Listen( Key.L, ButtonState.Pressed, KaytaLamppua, null ); 
    230         Keyboard.Disable( Key.L ); 
     234    } 
     235 
     236    void KaytaValittuaEsinetta() 
     237    { 
     238        Esine valittu = esineValikko.ValittuEsine; 
     239 
     240        switch ( valittu.Tyyppi ) 
     241        { 
     242            case EsineenTyyppi.Taikasauva: 
     243                KaytaTaikaSauvaa(); 
     244                break; 
     245            case EsineenTyyppi.Lyhty: 
     246                KaytaLamppua(); 
     247                break; 
     248            case EsineenTyyppi.Timantti: 
     249                break; 
     250            default: 
     251                break; 
     252        } 
    231253    } 
    232254 
     
    246268            return; 
    247269 
     270        Remove( viimeksiKoskettuEsine ); 
     271        esineValikko.Add( viimeksiKoskettuEsine ); 
     272 
    248273        switch ( viimeksiKoskettuEsine.Tyyppi ) 
    249274        { 
    250275            case EsineenTyyppi.Taikasauva: 
    251                 viimeksiKoskettuEsine.Destroy(); 
    252                 GameObject taikaSauva = new GameObject( viimeksiKoskettuEsine.Width, viimeksiKoskettuEsine.Height ); 
    253                 taikaSauva.Color = viimeksiKoskettuEsine.Color; 
    254                 pelaaja.Add( taikaSauva ); 
    255                 taikaSauva.X = pelaaja.Width / 2 + taikaSauva.Width / 4; 
    256                 Keyboard.Enable( Key.Z ); 
    257                 viimeksiKoskettuEsine = null; 
     276                GameObject klooni = new GameObject( viimeksiKoskettuEsine.Width, viimeksiKoskettuEsine.Height ); 
     277                klooni.Color = viimeksiKoskettuEsine.Color; 
     278                pelaaja.Add( klooni ); 
     279                klooni.X = pelaaja.Width / 2 + klooni.Width / 4; 
    258280                break; 
    259281            case EsineenTyyppi.Lyhty: 
    260                 Remove( viimeksiKoskettuEsine ); 
    261                 pelaajanTavarat.Add( viimeksiKoskettuEsine ); 
    262                 Keyboard.Enable( Key.L ); 
    263                 viimeksiKoskettuEsine = null; 
    264282                break; 
    265283            case EsineenTyyppi.Timantti: 
     
    272290                break; 
    273291        } 
     292 
     293        viimeksiKoskettuEsine = null; 
    274294    } 
    275295 
Note: See TracChangeset for help on using the changeset viewer.