Changeset 6927


Ignore:
Timestamp:
2015-07-22 14:48:25 (4 years ago)
Author:
misakana
Message:
 
Location:
2015/30/MatiasR/kuulapeli
Files:
5 added
15 edited

Legend:

Unmodified
Added
Removed
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeli/kuulapeli.cs

    r6873 r6927  
    99public class kuulapeli : PhysicsGame 
    1010{ 
    11     PhysicsObject Pelaaja; 
     11    PhysicsObject Pelaaja1; 
     12    PhysicsObject Pelaaja2; 
    1213    IntMeter pisteLaskuri; 
    1314    Label pisteNaytto; 
    1415    int kenttaNro = 1; 
    15  
     16    int kenttiayhteensa = 3; 
     17    Timer aikaLaskuri; 
     18    EasyHighScore topLista = new EasyHighScore(); 
     19    //ScoreList topLista2 = new ScoreList(10, true, 0); 
    1620    SoundEffect pickup = LoadSoundEffect("Pickup_Coin3"); 
    1721 
    1822    public override void Begin() 
    1923    { 
     24        topLista.HighScoreWindow.Closed +=  w => alkuvalikko(); 
     25        //topLista2 = DataStorage.TryLoad<ScoreList>(topLista2, "pisteet.xml"); 
     26        alkuvalikko(); 
     27    } 
     28 
     29    void aloitapelialusta() 
     30    { 
     31        kenttaNro = 1; 
     32         
     33        aikaLaskuri = new Timer(); 
     34        aikaLaskuri.Start(); 
     35 
    2036        aloitapeli(); 
    2137    } 
     
    2339    void aloitapeli() 
    2440    { 
    25         ClearAll(); 
     41        //ClearAll(); 
     42        ClearControls(); 
     43        ClearGameObjects(); 
     44 
     45        if (kenttaNro > kenttiayhteensa) 
     46        { 
     47            voitapeli(); 
     48            return; 
     49        } 
    2650        LuoPistelaskuri(); 
     51        LuoAikaLaskuri(); 
    2752        Luokentta(); 
    2853 
    29         Camera.Follow(Pelaaja); 
    30  
    31         Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 
    32         Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "liiku", new Vector(-3000,0)); 
    33         Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "liiku", new Vector(3000, 0)); 
    34         Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "liiku", new Vector(0, 3000)); 
    35         Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "liiku", new Vector(0, -3000)); 
    36     } 
    37  
    38     void Liikuta(Vector suunta) 
    39     { 
    40         Pelaaja.Push(suunta); 
     54        Camera.Follow(Pelaaja1, Pelaaja2); 
     55 
     56        Keyboard.Listen(Key.Escape, ButtonState.Pressed, lopetusvalikko, "Lopeta peli"); 
     57        Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "liiku",Pelaaja1, new Vector(-3000,0)); 
     58        Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "liiku",Pelaaja1, new Vector(3000, 0)); 
     59        Keyboard.Listen(Key.Up, ButtonState.Down, Liikuta, "liiku",Pelaaja1, new Vector(0, 3000)); 
     60        Keyboard.Listen(Key.Down, ButtonState.Down, Liikuta, "liiku",Pelaaja1, new Vector(0, -3000)); 
     61 
     62        Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "liiku", Pelaaja2, new Vector(-3000, 0)); 
     63        Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "liiku", Pelaaja2, new Vector(3000, 0)); 
     64        Keyboard.Listen(Key.W, ButtonState.Down, Liikuta, "liiku", Pelaaja2, new Vector(0, 3000)); 
     65        Keyboard.Listen(Key.S, ButtonState.Down, Liikuta, "liiku", Pelaaja2, new Vector(0, -3000)); 
     66 
     67        Keyboard.Listen(Key.F12, ButtonState.Down, voitapeli, "l"); 
     68 
     69        ControllerOne.ListenAnalog(AnalogControl.RightStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", Pelaaja1); 
     70        ControllerTwo.ListenAnalog(AnalogControl.RightStick, 0.1, LiikutaPelaajaa, "Liikuta pelaajaa tattia pyörittämällä.", Pelaaja2); 
     71 
     72        Keyboard.Listen(Key.LeftShift, ButtonState.Pressed, SiirrySeuraavaan, "siirry seuraavaan kenttään"); 
     73    } 
     74 
     75    void SiirrySeuraavaan() 
     76    { 
     77        kenttaNro++; 
     78        aloitapeli(); 
     79    } 
     80 
     81    void LiikutaPelaajaa(AnalogState tatinTila, PhysicsObject pelaaja) 
     82    { 
     83        pelaaja.Push(tatinTila.StateVector * 3000); 
     84    } 
     85 
     86    void Liikuta(PhysicsObject pelaaja, Vector suunta) 
     87    { 
     88        pelaaja.Push(suunta); 
    4189    } 
    4290 
     
    4593        pisteLaskuri.MaxValue = 0; 
    4694     ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta " + kenttaNro); 
    47      ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoPelaaja); 
     95     ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoPelaaja1); 
    4896     ruudut.SetTileMethod(Color.Black, LuoTaso); 
    4997     ruudut.SetTileMethod(Color.FromHexCode("00FF00"), LuoPallo); 
    5098     ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoViimeinenPallo); 
    5199     ruudut.SetTileMethod(Color.FromHexCode("FF0F13"), LuoPunainenTaso); 
     100     ruudut.SetTileMethod(Color.FromHexCode("FF00DC"), LuoPelaaja2); 
    52101     ruudut.Execute(20, 20); 
    53102     pisteNaytto.IntFormatString = "{0} / "+pisteLaskuri.MaxValue; 
    54     } 
    55     void LuoPelaaja(Vector paikka, double leveys, double korkeus) 
    56     { 
    57         Pelaaja = new PhysicsObject(leveys, korkeus); 
     103 
     104    } 
     105 
     106    PhysicsObject LuoPelaaja(Vector paikka, double leveys, double korkeus) 
     107    { 
     108        PhysicsObject Pelaaja = new PhysicsObject(leveys, korkeus); 
    58109        Pelaaja.LinearDamping = 0.7; 
     110        Pelaaja.CanRotate = false; 
    59111        Pelaaja.Position = paikka; 
    60112        Add(Pelaaja); 
     
    62114        AddCollisionHandler(Pelaaja, "pallo", tormaapalloon); 
    63115        AddCollisionHandler(Pelaaja, "seina", tormaaseinaan); 
    64          
    65     } 
     116        return Pelaaja; 
     117    } 
     118    void LuoPelaaja1(Vector paikka, double leveys, double korkeus) 
     119    { 
     120        Pelaaja1 = LuoPelaaja(paikka, leveys, korkeus); 
     121    } 
     122    void LuoPelaaja2(Vector paikka, double leveys, double korkeus) 
     123    { 
     124        Pelaaja2 = LuoPelaaja(paikka, leveys, korkeus); 
     125    } 
     126 
    66127    void LuoTaso(Vector paikka, double leveys, double korkeus) 
    67128    { 
     
    110171            GetObjectsWithTag("avaa").ForEach(o => o.Destroy()); 
    111172        } 
    112         if (pisteLaskuri.Value == 1) 
     173        if (pisteLaskuri.Value == pisteLaskuri.MaxValue) 
    113174        { 
    114175            kenttaNro++; 
     
    133194        Add(pisteNaytto); 
    134195    } 
     196    void LuoAikaLaskuri() 
     197    { 
     198        Label aikaNaytto = new Label(); 
     199        aikaNaytto.TextColor = Color.Red; 
     200        aikaNaytto.DecimalPlaces = 1; 
     201        aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 
     202        Add(aikaNaytto); 
     203        aikaNaytto.X = Screen.Right - 100; 
     204        aikaNaytto.Y = Screen.Top - 100; 
     205    } 
     206 
     207    void voitapeli() 
     208    { 
     209        aikaLaskuri.Stop(); 
     210        topLista.EnterAndShow(aikaLaskuri.CurrentTime); 
     211        //HighScoreWindow topIkkuna = new HighScoreWindow( 
     212        //                     "Parhaat pisteet", 
     213        //                     "Onneksi olkoon, pääsit listalle pisteillä %p! Syötä nimesi:", 
     214        //                     topLista2, aikaLaskuri.CurrentTime); 
     215        //topIkkuna.Closed += w => alkuvalikko(); 
     216        //Add(topIkkuna); 
     217 
     218    } 
     219 
     220    void lopetusvalikko() 
     221    { 
     222        MultiSelectWindow lopetusValikko = new MultiSelectWindow("palaa alkuvalikkoon?", "kyllä", "ei"); 
     223        Add(lopetusValikko); 
     224        lopetusValikko.AddItemHandler(0, alkuvalikko); 
     225    } 
     226    void alkuvalikko() 
     227    { 
     228        ClearAll(); 
     229        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko","Aloita peli", "Parhaat pisteet", "Lopeta"); 
     230        Add(alkuValikko); 
     231        alkuValikko.AddItemHandler(0, aloitapelialusta); 
     232        alkuValikko.AddItemHandler(1, parhaatpisteet); 
     233        alkuValikko.AddItemHandler(2, Exit); 
     234    } 
     235    void parhaatpisteet() 
     236    { 
     237        topLista.Show(); 
     238        //HighScoreWindow topIkkuna = new HighScoreWindow( 
     239        //                      "Parhaat pisteet", 
     240        //                      topLista2); 
     241        //topIkkuna.Closed += w => alkuvalikko(); 
     242        //Add(topIkkuna); 
     243 
     244    } 
    135245 
    136246} 
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeli/kuulapeli.csproj.Debug.cachefile

    r6873 r6927  
    22Content\Pickup_Coin3.xnb 
    33Content\kentta 2.xnb 
     4Content\kentta 3.xnb 
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeli/obj/x86/Debug/cachefile-{F92200B9-3993-463A-A23D-32D2E79508C1}-targetpath.txt

    r6873 r6927  
    22Content\Pickup_Coin3.xnb 
    33Content\kentta 2.xnb 
     4Content\kentta 3.xnb 
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeli/obj/x86/Debug/kuulapeli.csproj.FileListAbsolute.txt

    r6873 r6927  
    1010C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\Pickup_Coin3.xnb 
    1111C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\kentta 2.xnb 
     12C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\kentta 3.xnb 
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeliContent/kuulapeliContent.contentproj

    r6873 r6927  
    6666    </Compile> 
    6767  </ItemGroup> 
     68  <ItemGroup> 
     69    <Compile Include="kentta 3.png"> 
     70      <Name>kentta 3</Name> 
     71      <Importer>TextureImporter</Importer> 
     72      <Processor>TextureProcessor</Processor> 
     73    </Compile> 
     74  </ItemGroup> 
    6875  <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 
    6976  <!--  To modify your build process, add your task inside one of the targets below and uncomment it.  
  • 2015/30/MatiasR/kuulapeli/kuulapeli/kuulapeliContent/obj/x86/Debug/ContentPipeline.xml

    r6873 r6927  
    99      <Options>None</Options> 
    1010      <Output>C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\kentta 1.xnb</Output> 
    11       <Time>2015-07-21T14:41:54.7416083+03:00</Time> 
     11      <Time>2015-07-22T13:15:03.0289404+03:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    2727      <Options>None</Options> 
    2828      <Output>C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\kentta 2.xnb</Output> 
    29       <Time>2015-07-21T14:50:51.8931929+03:00</Time> 
     29      <Time>2015-07-22T13:14:57.8124404+03:00</Time> 
     30    </Item> 
     31    <Item> 
     32      <Source>kentta 3.png</Source> 
     33      <Name>kentta 3</Name> 
     34      <Importer>TextureImporter</Importer> 
     35      <Processor>TextureProcessor</Processor> 
     36      <Options>None</Options> 
     37      <Output>C:\MyTemp\MatiasR\kuulapeli\kuulapeli\kuulapeli\bin\x86\Debug\Content\kentta 3.xnb</Output> 
     38      <Time>2015-07-22T13:14:59.6204404+03:00</Time> 
    3039    </Item> 
    3140    <BuildSuccessful>true</BuildSuccessful> 
Note: See TracChangeset for help on using the changeset viewer.