Changeset 3372 for 2012/26


Ignore:
Timestamp:
2012-06-29 10:57:18 (11 years ago)
Author:
totauria
Message:

Talletus.

Location:
2012/26/TopiasT/Ukkeli/Ukkeli
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • 2012/26/TopiasT/Ukkeli/Ukkeli/Ukkeli/Ukkeli.cs

    r3331 r3372  
    3131public class Vihu : PhysicsObject 
    3232{ 
    33     public IntMeter elamaLaskuri = new IntMeter(200, 0, 200); 
     33    public IntMeter elamaLaskuri = new IntMeter(40, 0, 40); 
    3434 
    3535    public Vihu(double leveys, double korkeus) 
     
    5656    Image tasokuva = LoadImage("taso"); 
    5757 
    58  
     58    IntMeter pisteLaskuri; 
     59 
     60    int kenttaNro = 1; 
    5961 
    6062    SoundEffect maaliAani = LoadSoundEffect("maali"); 
     63    ScoreList topLista = new ScoreList(10, false, 0); 
    6164 
    6265    public override void Begin() 
    63     { 
    64          
    65  
    66          
    67          
    68         MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
    69 "Aloita peli", "Lopeta"); 
     66 
     67    { 
     68        if (DataStorage.Exists("pisteet.xml")) 
     69            topLista = DataStorage.Load<ScoreList>(topLista, "pisteet.xml"); 
     70 
     71    
     72 
     73        Valikko();         
     74    } 
     75 
     76    void Valikko() 
     77    { 
     78        ClearAll(); 
     79        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", "Taso1", "Taso2", "Parhaat Pisteet", "Lopeta"); 
    7080        Add(alkuValikko); 
    7181        alkuValikko.ItemSelected += PainettiinValikonNappia; 
    72  
    73  
    74  
    75  
     82    } 
     83 
     84    void AloitaPeli(int kentanNro) 
     85    { 
     86        ClearAll(); 
     87        kenttaNro = kentanNro; 
    7688        Gravity = new Vector(0, -1000); 
    7789 
    7890        IsMouseVisible = true; 
    7991 
    80         LuoKentta(); 
     92        if (kentanNro == 1) 
     93            LuoKentta("kentta"); 
     94        else if (kentanNro == 2) 
     95        { 
     96            LuoKentta("kentta2"); 
     97            LuoPistelaskuri(); 
     98        } 
    8199        LisaaNappaimet(); 
    82100 
     
    86104    } 
    87105 
    88     void LuoKentta() 
    89     { 
    90         ColorTileMap kentta = ColorTileMap.FromLevelAsset("kentta"); 
     106    void LuoKentta(string kenttaNimi) 
     107    { 
     108        ColorTileMap kentta = ColorTileMap.FromLevelAsset(kenttaNimi); 
    91109        kentta.ColorTolerance = 10; 
    92110        kentta.SetTileMethod(Color.Red, LisaaPaha); 
     
    99117 
    100118        LuoMittari(); 
     119         
    101120 
    102121    } 
     
    155174        pelaaja1.Destroyed += delegate 
    156175        { 
    157             Exit(); 
     176            if (kenttaNro == 2) 
     177            { 
     178                HighScoreWindow topIkkuna = new HighScoreWindow( 
     179                             "Parhaat pisteet", 
     180                             "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 
     181                             topLista, pisteLaskuri.Value); 
     182                topIkkuna.Closed += TallennaPisteet; 
     183                Add(topIkkuna); 
     184 
     185            } 
     186            Valikko(); 
    158187        }; 
    159188    } 
    160189 
     190    void TallennaPisteet(Window sender) 
     191    { 
     192        DataStorage.Save<ScoreList>( topLista, "pisteet.xml" ); 
     193        Valikko(); 
     194    } 
     195 
    161196    void LisaaNappaimet() 
    162197    { 
    163198 
    164199        Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 
    165         Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 
    166         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
     200        Keyboard.Listen(Key.Escape, ButtonState.Pressed, Valikko, "Lopeta peli"); 
    167201 
    168202        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 
     
    178212        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammuaseella."); 
    179213        Mouse.ListenMovement(0.1, KuunteleLiiketta, null); 
    180         Keyboard.Listen(Key.Space, ButtonState.Down, AmmulaserAseella, "AmmulaserAseella."); 
     214        Keyboard.Listen(Key.C, ButtonState.Down, AmmulaserAseella, "AmmulaserAseella."); 
    181215        Keyboard.Listen(Key.V, ButtonState.Down, lisaaelama, "lisaaelama."); 
    182216 
     
    257291 
    258292        ampumisAjastin.Start(); 
    259         Paha.Destroyed += delegate { ampumisAjastin.Stop(); }; 
     293        Paha.Destroyed += delegate { ampumisAjastin.Stop(); pisteLaskuri.Value++; if(kenttaNro == 2) LisaaPaha(paikka, leveys, korkeus); }; 
    260294        FollowerBrain seuraajaAivot = new FollowerBrain("pelaaja"); 
    261295        Paha.Brain = seuraajaAivot; 
     
    311345        { 
    312346            case 0: 
    313                 // AloitaPeli(); 
     347                AloitaPeli(1); 
    314348                break; 
    315349            case 1: 
     350                AloitaPeli(2); 
     351                break; 
     352            case 2: 
    316353                Exit(); 
    317354                break; 
     355            case 3: 
     356                Exit(); 
     357                break; 
    318358        } 
    319359 
     
    335375        if (kohde.Tag.ToString() == "vihu") 
    336376        { 
    337             (kohde as Vihu).elamaLaskuri.Value--; 
     377            (kohde as Vihu).elamaLaskuri.Value -= 10; 
    338378        } 
    339379        Explosion rajahdys = new Explosion(10); 
    340380        rajahdys.Position = laserammus.Position; 
    341381        Add(rajahdys); 
    342  
    343  
    344  
    345  
    346382    } 
    347383    void lisaaelama() 
     
    350386     
    351387    } 
     388     
     389    void LuoPistelaskuri() 
     390    { 
     391        pisteLaskuri = new IntMeter(0); 
     392 
     393        Label pisteNaytto = new Label(); 
     394        pisteNaytto.Title = "Pisteet"; 
     395        pisteNaytto.X = Screen.Left + 100; 
     396        pisteNaytto.Y = Screen.Top - 100; 
     397        pisteNaytto.TextColor = Color.Black; 
     398        pisteNaytto.Color = Color.White; 
     399 
     400        pisteNaytto.BindTo(pisteLaskuri); 
     401        Add(pisteNaytto); 
     402    } 
     403 
     404 
     405 
    352406 
    353407 
  • 2012/26/TopiasT/Ukkeli/Ukkeli/UkkeliContent/UkkeliContent.contentproj

    r3331 r3372  
    101101    </Compile> 
    102102  </ItemGroup> 
     103  <ItemGroup> 
     104    <Compile Include="kentta2.png"> 
     105      <Name>kentta2</Name> 
     106      <Importer>TextureImporter</Importer> 
     107      <Processor>TextureProcessor</Processor> 
     108    </Compile> 
     109  </ItemGroup> 
    103110  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    104111  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
Note: See TracChangeset for help on using the changeset viewer.