Changeset 3772


Ignore:
Timestamp:
2012-07-26 15:00:14 (11 years ago)
Author:
juiitamm
Message:

Talletus.

Location:
2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • 2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessa.cs

    r3755 r3772  
    1111    int kenttaNro = 1; 
    1212    PhysicsObject Alus; 
     13    IntMeter pistelaskuri; 
     14    IntMeter elamaLaskuri; 
     15 
     16    EasyHighScore topLista = new EasyHighScore(); 
    1317 
    1418    public override void Begin() 
    1519    { 
     20        pistelaskuri = null; 
     21        elamaLaskuri = null; 
    1622        SeuraavaKentta(); 
    1723    } 
    1824    void SeuraavaKentta() 
    1925    { 
     26        int pisteet = 0; 
     27        int elamat = 3; 
     28 
     29        if (pistelaskuri != null) 
     30        { 
     31            pisteet = pistelaskuri.Value; 
     32            elamat = elamaLaskuri.Value; 
     33        } 
     34 
    2035        ClearAll(); 
    21  
    2236        LuoAlus(); 
    2337        AsetaOhjaimet(); 
    2438        LuoTausta(); 
     39        Luopistlaskuri(); 
     40        LuoElamalaskuri(); 
     41        LuoPistepallo(); 
     42 
     43        pistelaskuri.Value = pisteet; 
     44        elamaLaskuri.Value = elamat; 
    2545 
    2646        if (kenttaNro == 1) SijoitaOliot1(); 
    2747        else if (kenttaNro == 2) SijoitaOliot2(); 
     48        else if (kenttaNro == 3) SijoitaOliot3(); 
     49        else if (kenttaNro == 4) SijoitaOliot4(); 
     50        else if (kenttaNro == 5) ViimeinenKentta(); 
     51        else if (kenttaNro == 6) luotoplista(); 
    2852        else Exit(); 
    2953 
    30         LuoPistelaskuri(); 
    3154        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    3255    } 
     
    4467 
    4568        AddCollisionHandler(Alus, "UFO", Kuole); 
    46     } 
    47     PhysicsObject LuoMaali() 
    48     { 
    49         PhysicsObject Maali = new PhysicsObject(169, 94); 
     69        AddCollisionHandler(Alus, "pistepallo", KeraaPistepallo); 
     70    } 
     71    PhysicsObject LuoMaali(double x, double y) 
     72    { 
     73        PhysicsObject Maali = PhysicsObject.CreateStaticObject(169, 94); 
    5074        Maali.Image = LoadImage("MAALI"); 
    5175        Add(Maali); 
    52         AddCollisionHandler( Alus, Maali, VaihdaKenttaa ); 
     76        AddCollisionHandler(Alus, Maali, VaihdaKenttaa); 
     77        Maali.X = x; 
     78        Maali.Y = y; 
    5379        return Maali; 
    5480    } 
     
    5884        Keyboard.Listen(Key.Left, ButtonState.Down, KaannaAlusta, null, Angle.FromDegrees(1)); 
    5985        Keyboard.Listen(Key.Right, ButtonState.Down, KaannaAlusta, null, Angle.FromDegrees(-1)); 
    60         Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaAlusta, null, 1000.0); 
    61         Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaAlusta, null, -1000.0); 
     86        Keyboard.Listen(Key.Up, ButtonState.Down, LiikutaAlusta, null, 2000.0); 
     87        Keyboard.Listen(Key.Down, ButtonState.Down, LiikutaAlusta, null, -2000.0); 
    6288 
    6389    } 
     
    75101        Level.Background.FitToLevel(); 
    76102    } 
     103    PhysicsObject LuoMaa(double x, double y) 
     104    { 
     105        PhysicsObject Maa = PhysicsObject.CreateStaticObject(207, 201); 
     106        Maa.Image = LoadImage("maa"); 
     107        AddCollisionHandler(Alus, Maa, VaihdaKenttaa); 
     108        Maa.X = x; 
     109        Maa.Y = y; 
     110        Add(Maa); 
     111        return Maa; 
     112    } 
     113 
    77114    void LuoPlaneetta1(double x, double y) 
    78115    { 
     
    91128    void SijoitaOliot1() 
    92129    { 
    93         LuoUfo(-200, -300, new Vector(-150.0, -150.0)); 
     130        LuoUfo(-200, -300, new Vector(150.0, -150.0)); 
    94131        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
    95132        LuoPlaneetta1(-200, 50); 
     
    98135        LuoPlaneetta1(200, 50); 
    99136        LuoPlaneetta1(90, -200); 
    100  
    101         PhysicsObject maali = LuoMaali(); 
    102         maali.X = 200; 
    103         maali.Y = 200; 
     137        PhysicsObject maali = LuoMaali(200, -200); 
     138 
     139 
     140 
    104141    } 
    105142    void SijoitaOliot2() 
    106143    { 
     144        LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 
     145        LuoUfo(200, 300, new Vector(150.0, 150.0)); 
     146        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
     147        LuoPlaneetta1(200, 50); 
     148        LuoPlaneetta1(-300, 150); 
     149        LuoPlaneetta1(-40, -120); 
     150        LuoPlaneetta1(-200, -80); 
     151        LuoPlaneetta1(-90, 200); 
     152 
     153        PhysicsObject maali = LuoMaali(200, 200); 
     154 
     155    } 
     156    void SijoitaOliot3() 
     157    { 
     158        LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 
     159        LuoUfo(200, 300, new Vector(150.0, 150.0)); 
     160        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
     161        LuoUfo(0, 0, new Vector(150.0, 150.0)); 
     162        LuoPlaneetta1(200, 50); 
     163        LuoPlaneetta1(-300, 150); 
     164        LuoPlaneetta1(-40, -120); 
     165        LuoPlaneetta1(-200, -80); 
     166        LuoPlaneetta1(-90, 200); 
     167 
     168        PhysicsObject maali = LuoMaali(300, -100); 
     169 
     170 
     171    } 
     172    void SijoitaOliot4() 
     173    { 
     174        LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 
     175        LuoUfo(200, 300, new Vector(150.0, 150.0)); 
     176        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
     177        LuoUfo(0, 0, new Vector(150.0, 150.0)); 
     178        LuoPlaneetta1(400, -200); 
     179        LuoPlaneetta1(-300, 50); 
     180        LuoPlaneetta1(-40, 120); 
     181        LuoPlaneetta1(-200, -200); 
     182        LuoPlaneetta1(-175, 220); 
     183 
     184        PhysicsObject maali = LuoMaali(200, 200); 
     185 
     186    } 
     187 
     188    void ViimeinenKentta() 
     189    { 
     190        LuoUfo(-200, 300, new Vector(-150.0, -150.0)); 
     191        LuoUfo(200, 300, new Vector(150.0, 150.0)); 
     192        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
     193        LuoUfo(0, 0, new Vector(150.0, 150.0)); 
     194        LuoUfo(-200, 400, new Vector(-150.0, -150.0)); 
     195        LuoUfo(400, 400, new Vector(150.0, 150.0)); 
    107196        LuoUfo(-200, -300, new Vector(-150.0, -150.0)); 
    108197        LuoUfo(200, -300, new Vector(150.0, 150.0)); 
    109         LuoPlaneetta1(-200, 50); 
    110         LuoPlaneetta1(-300, 200); 
    111         LuoPlaneetta1(-40, 120); 
    112         LuoPlaneetta1(200, 50); 
    113         LuoPlaneetta1(90, -200); 
    114  
    115         PhysicsObject maali = LuoMaali(); 
    116         maali.X = 200; 
    117         maali.Y = 200; 
    118     } 
     198        LuoUfo(400, -300, new Vector(150.0, 150.0)); 
     199 
     200        LuoPlaneetta1(80, -400); 
     201        LuoPlaneetta1(-400, 100); 
     202 
     203        PhysicsObject Maa = LuoMaa(200, 200); 
     204 
     205    } 
     206 
     207 
    119208    void LuoUfo(double x, double y, Vector suunta) 
    120209    { 
     
    132221 
    133222    } 
    134     IntMeter pisteLaskuri; 
    135  
    136     void LuoPistelaskuri() 
    137     { 
    138         pisteLaskuri = new IntMeter(3); 
    139         pisteLaskuri.LowerLimit += new Action(pisteLaskuri_LowerLimit); 
     223 
     224    void LuoElamalaskuri() 
     225    { 
     226        elamaLaskuri = new IntMeter(3); 
     227        elamaLaskuri.LowerLimit += new Action(pisteLaskuri_LowerLimit); 
    140228 
    141229        Label pisteNaytto = new Label(); 
     
    144232        pisteNaytto.TextColor = Color.Blue; 
    145233        pisteNaytto.Color = Color.Red; 
    146         pisteNaytto.BindTo(pisteLaskuri); 
     234        pisteNaytto.BindTo(elamaLaskuri); 
    147235        Add(pisteNaytto); 
    148236 
     
    152240    void pisteLaskuri_LowerLimit() 
    153241    { 
     242        Alus.Destroy(); 
    154243        Widget kuva = new Widget(LoadImage("game over")); 
    155244        kuva.Width = Screen.Width; 
    156245        kuva.Height = Screen.Height; 
    157246        Add(kuva); 
    158         Timer.SingleShot(5.0, Begin); 
     247        luotoplista(); 
     248    } 
     249    void luotoplista() 
     250{ 
     251        topLista.EnterAndShow(pistelaskuri.Value); 
     252        topLista.HighScoreWindow.Closed += delegate { Begin(); }; 
     253        topLista.HighScoreWindow.Color = Color.Snow; 
     254         
    159255    } 
    160256    void PelaajaTormasi(PhysicsObject tormaaja, PhysicsObject kohde) 
     
    165261    void Kuole(PhysicsObject tormaaja, PhysicsObject kohde) 
    166262    { 
    167         pisteLaskuri.Value -= 1; 
    168     } 
    169  
     263        elamaLaskuri.Value -= 1; 
     264    } 
     265    void VaihdaKenttaa(PhysicsObject olio, PhysicsObject maali) 
     266    { 
     267        kenttaNro++; 
     268        SeuraavaKentta(); 
     269    } 
     270 
     271    void Luopistlaskuri() 
     272    { 
     273        pistelaskuri = new IntMeter(0); 
     274 
     275        Label pisteNaytto = new Label(); 
     276        pisteNaytto.X = Screen.Left + 100; 
     277        pisteNaytto.Y = Screen.Top - 100; 
     278        pisteNaytto.TextColor = Color.Red; 
     279        pisteNaytto.Color = Color.Blue; 
     280 
     281        pisteNaytto.Title = "Pisteet"; 
     282 
     283        pisteNaytto.BindTo(pistelaskuri); 
     284        Add(pisteNaytto); 
     285    } 
     286    void LuoPistepallo() 
     287    { 
     288        int i = 0; 
     289 
     290        while (i < 50) 
     291        { 
     292            PhysicsObject pistepallo = new PhysicsObject (20, 19); 
     293            pistepallo.Image = LoadImage("pistepallo"); 
     294            pistepallo.Tag = "pistepallo"; 
     295            pistepallo.X = RandomGen.NextDouble(Level.Left, Level.Right); 
     296            pistepallo.Y = RandomGen.NextDouble(Level.Bottom, Level.Top); 
     297            pistepallo.Restitution = 1.0; 
     298            Add(pistepallo); 
     299            i++; 
     300        } 
     301    } 
     302    void KeraaPistepallo(PhysicsObject Alus, PhysicsObject pistepallo) 
     303    { 
     304        MessageDisplay.Add("Pelaaja törmäsi!"); 
     305        pistelaskuri.Value += 10; 
     306        pistepallo.Destroy();  
     307    } 
     308    void PelaajaKuoli() 
     309    { 
     310        Alus.Destroy(); 
     311        topLista.EnterAndShow(pistelaskuri.Value); 
     312        topLista.HighScoreWindow.Closed += delegate { Begin(); }; 
     313    } 
    170314 
    171315} 
    172316 
     317 
     318 
     319 
  • 2012/30/AnttiS/EksyksissäAvaruudessa/EksyksissäAvaruudessa/EksyksissäAvaruudessaContent/EksyksissäAvaruudessaContent.contentproj

    r3755 r3772  
    8686    </Compile> 
    8787  </ItemGroup> 
     88  <ItemGroup> 
     89    <Compile Include="maa.png"> 
     90      <Name>maa</Name> 
     91      <Importer>TextureImporter</Importer> 
     92      <Processor>TextureProcessor</Processor> 
     93    </Compile> 
     94  </ItemGroup> 
     95  <ItemGroup> 
     96    <Compile Include="pistepallo.png"> 
     97      <Name>pistepallo</Name> 
     98      <Importer>TextureImporter</Importer> 
     99      <Processor>TextureProcessor</Processor> 
     100    </Compile> 
     101  </ItemGroup> 
    88102  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    89103  <!--  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.