Changeset 7500


Ignore:
Timestamp:
2016-06-23 13:13:08 (3 years ago)
Author:
tesatapa
Message:
 
Location:
2016/25/ToukoP/FysiikkaPeli1
Files:
1 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.cs

    r7475 r7500  
    99public class FysiikkaPeli1 : PhysicsGame 
    1010{ 
    11     EasyHighScore TopLista = new EasyHighScore(); 
    12     IntMeter pelaajanpisteet; 
     11    AssaultRifle raketinAse; 
     12    Image savunkuva = LoadImage("savu"); 
     13    IntMeter pelaajanpisteet = new IntMeter(0); 
     14 
     15    ScoreList TopLista; 
    1316    PhysicsObject raketti; 
    1417    Vector pelaajanAlkuPaikka; 
     18    string[] kentat = new string[] { "Kentta1", "Kentta2", "Kentta3", "Kentta4", "Kentta5", "Kentta6" }; 
     19    int kenttaMenossa = 0; 
     20    double raketinNopeus = 75.0; 
    1521    public override void Begin() 
    16     { 
    17  
     22 
     23    { 
     24        TopLista = new ScoreList(10, true, 10000); 
     25        TopLista = DataStorage.TryLoad<ScoreList>(TopLista, "pisteet2.xml"); 
    1826        AlkuValikko(); 
    19          
     27 
     28 
     29 
    2030    } 
    2131 
     
    3141        raketti.RotateImage = true; 
    3242        Image kuva = LoadImage("raketti"); 
    33  
     43        raketti.CollisionIgnoreGroup = 2; 
    3444        raketti.Image = kuva; 
    3545        Timer ajastin = new Timer(); 
    36         ajastin.Interval = 0.05; 
     46        ajastin.Interval = 0.10; 
    3747        ajastin.Timeout += asetanopeus; 
    3848        ajastin.Start(); 
    3949        AddCollisionHandler(raketti, "vihollinen", TormaaViholliseen); 
    40  
    41  
    42     } 
    43  
     50        AddCollisionHandler(raketti, "maali", tormaamaaliin); 
     51        AddCollisionHandler(raketti, "boosti", keraaBoosti); 
     52        AddCollisionHandler(raketti, "hidaste", keraaHidaste); 
     53        AddCollisionHandler(raketti, "asteroidi", TormaaViholliseen); 
     54        Ase(); 
     55        raketti.Add(raketinAse); 
     56 
     57    } 
     58    void tormaamaaliin(PhysicsObject raketti, PhysicsObject maali) 
     59    { 
     60        if (kentat.Length > kenttaMenossa +1) 
     61        { SeuraavaKentta(); } 
     62 
     63        else 
     64        { 
     65            ClearAll(); 
     66            TarkistaPaasitkoListalle(); 
     67        } 
     68    } 
    4469    void LuoKentta() 
    4570    { 
    4671        Level.Background.Color = Color.White; 
    47         TileMap kentta = TileMap.FromLevelAsset("Kentta1"); 
     72        TileMap kentta = TileMap.FromLevelAsset(kentat[kenttaMenossa]); 
    4873        kentta.SetTileMethod('p', luoraketti); 
    4974        kentta.SetTileMethod('#', LisaaTaso); 
     75        kentta.SetTileMethod('m', LisaaMaali); 
     76        kentta.SetTileMethod('b', Boosti); 
     77        kentta.SetTileMethod('h', Hidaste); 
     78        kentta.SetTileMethod('s', LuoSavu); 
     79        kentta.SetTileMethod('v', LuoVihollinen); 
     80        kentta.SetTileMethod('a', LuoAsteroidi); 
    5081        kentta.Execute(); 
    51         //  kentta.SetTileMethod("m", VaihdaLevel); 
     82 
     83 
    5284    } 
    5385    void LisaaTaso(Vector paikka, double leveys, double korkeus) 
     
    5890        Add(taso); 
    5991        taso.Tag = "vihollinen"; 
     92 
     93    } 
     94    void LisaaMaali(Vector paikka, double leveys, double korkeus) 
     95    { 
     96        PhysicsObject maali = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     97        maali.Position = paikka; 
     98        maali.Color = Color.Blue; 
     99        Add(maali); 
     100        maali.Tag = "maali"; 
     101        maali.Color = Color.Pink; 
     102        maali.CollisionIgnoreGroup = 5; 
     103 
     104 
    60105    } 
    61106    void LuoOhjaimet() 
     
    65110        Keyboard.Listen(Key.Right, ButtonState.Down, kaanna, "", -1.7); 
    66111        Keyboard.Listen(Key.Left, ButtonState.Down, kaanna, "", 1.7); 
    67  
     112        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, null, raketinAse); 
    68113 
    69114    } 
     
    79124    void asetanopeus() 
    80125    { 
    81         raketti.Velocity = Vector.FromLengthAndAngle(75.0, raketti.Angle); 
    82  
     126        raketti.Velocity = Vector.FromLengthAndAngle(raketinNopeus, raketti.Angle); 
    83127    } 
    84128 
     
    87131        //pelaaja.Destroy(); 
    88132        Pisteet(); 
    89         aloitaalusta(); 
     133        ClearAll(); 
     134        raketinNopeus = 75.0; 
     135        AloitaPeli(); 
     136        //aloitaalusta(); 
     137        DoNextUpdate(delegate { raketti.StopAngular(); }); 
    90138    } 
    91139    void aloitaalusta() 
    92140    { 
     141        raketti.StopAngular(); 
     142        raketinNopeus = 75.0; 
    93143        raketti.Position = pelaajanAlkuPaikka; 
    94144        raketti.Velocity = Vector.Zero; 
    95145        raketti.Angle = Angle.FromDegrees(90); 
     146 
     147 
     148 
    96149    } 
    97150    void Lisaalaskuri() 
    98151    { 
    99         pelaajanpisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0); 
    100     } 
    101     IntMeter LuoPisteLaskuri(double x, double y) 
    102     { 
    103         IntMeter laskuri = new IntMeter(0); 
    104         laskuri.MaxValue = 10; 
     152        IntMeter laskuri; 
     153        if (pelaajanpisteet == null) 
     154        { 
     155            laskuri = new IntMeter(0); 
     156        } 
     157        else 
     158        { 
     159            laskuri = pelaajanpisteet; 
     160        } 
     161        pelaajanpisteet = LuoPisteLaskuri(Screen.Left + 100.0, Screen.Top - 100.0, laskuri); 
     162    } 
     163    IntMeter LuoPisteLaskuri(double x, double y, IntMeter laskuri) 
     164    { 
     165 
    105166        Label naytto = new Label(); 
    106167        naytto.BindTo(laskuri); 
     
    123184    void AlkuValikko() 
    124185    { 
     186 
    125187        MultiSelectWindow AlkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 
    126188        "Aloita peli", "Parhaat pisteet", "Lopeta"); 
     
    133195        Mouse.IsCursorVisible = true; 
    134196    } 
    135  void Pelaajakuoli() 
    136     { 
    137         raketti.Destroy(); 
    138         TopLista.EnterAndShow(pelaajanpisteet.value); 
    139         TopLista.HighScoreWindow.Closed += Aloitapeli; 
    140     } 
    141         
    142                  
    143  
    144  
    145  
    146  
    147  
    148  
    149         void Parhaatpisteet() 
    150     { 
    151  
    152     } 
     197 
     198 
     199    public void Aloitapeli(Window sender) 
     200    { 
     201        //... 
     202    } 
     203 
     204 
     205 
     206    void TarkistaPaasitkoListalle() 
     207    { 
     208        HighScoreWindow TopIkkuna = new HighScoreWindow("Parhaat pisteet", "Onnittelut Paasit Listalle", 
     209           TopLista, pelaajanpisteet.Value); 
     210 
     211        TopIkkuna.Closed += TallennaPisteet; 
     212        Add(TopIkkuna); 
     213    } 
     214 
     215 
     216 
     217    void Parhaatpisteet() 
     218    { 
     219        HighScoreWindow TopIkkuna = new HighScoreWindow( 
     220            "Parhaat pisteet", 
     221 
     222            TopLista); 
     223        TopIkkuna.Closed += delegate { AlkuValikko(); }; 
     224        Add(TopIkkuna); 
     225    } 
     226 
     227 
    153228    void AloitaPeli() 
    154229    { 
     230        MediaPlayer.Play("TaustaMusa"); 
     231        //MediaPlayer.PlayFromFile("TaustaMusa.mp3"); 
     232        MediaPlayer.IsRepeating = true; 
    155233        LuoKentta(); 
    156234        Lisaalaskuri(); 
     
    159237    } 
    160238 
     239 
     240    void TallennaPisteet(Window sender) 
     241    { 
     242        DataStorage.Save<ScoreList>(TopLista, "pisteet.xml"); 
     243        pelaajanpisteet.Value = 0; 
     244        AlkuValikko(); 
     245 
     246    } 
     247 
     248    void SeuraavaKentta() 
     249    { 
     250        ClearAll(); 
     251        kenttaMenossa++; 
     252        if (kenttaMenossa >= kentat.Length) { kenttaMenossa = 0; AlkuValikko(); } 
     253        else 
     254        { 
     255            AloitaPeli(); 
     256        } 
     257 
     258    } 
     259    void Boosti(Vector paikka, double leveys, double korkeus) 
     260    { 
     261 
     262        PhysicsObject boosti = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     263        boosti.IgnoresCollisionResponse = true; 
     264        Add(boosti); 
     265        boosti.Position = paikka; 
     266        boosti.Tag = "boosti"; 
     267        boosti.Color = Color.Red; 
     268 
     269    } 
     270    void keraaBoosti(PhysicsObject pelaaja, PhysicsObject boosti) 
     271    { 
     272        raketinNopeus = 270.0; 
     273        Timer.SingleShot(1.0, delegate { raketinNopeus = 75.0; }); 
     274    } 
     275    void Hidaste(Vector paikka, double leveys, double korkeus) 
     276    { 
     277 
     278        PhysicsObject hidaste = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     279        hidaste.IgnoresCollisionResponse = true; 
     280        Add(hidaste); 
     281        hidaste.Position = paikka; 
     282        hidaste.Tag = "hidaste"; 
     283        hidaste.Color = Color.Green; 
     284 
     285    } 
     286    void keraaHidaste(PhysicsObject pelaaja, PhysicsObject hidaste) 
     287    { 
     288        raketinNopeus = 25.0; 
     289        Timer.SingleShot(2.0, delegate { raketinNopeus = 75; }); 
     290    } 
     291    void LuoSavu(Vector paikka, double leveys, double korkeus) 
     292    { 
     293        Smoke savu = new Smoke(); 
     294        savu.Position = paikka; 
     295        Add(savu); 
     296        savu.AlphaAmount = 0.08; 
     297        //savu.Image = LoadImage("raketti"); 
     298 
     299 
     300    } 
     301    void LuoVihollinen(Vector paikka, double leveys, double korkeus) 
     302    { 
     303        PhysicsObject Viholllinen = PhysicsObject.CreateStaticObject(leveys, korkeus); 
     304        Viholllinen.Position = paikka; 
     305        Viholllinen.Color = Color.Brown; 
     306        Add(Viholllinen); 
     307        Viholllinen.CollisionIgnoreGroup = 5; 
     308        Timer ajastin = new Timer(); 
     309        ajastin.Interval = 2.1; 
     310        ajastin.Timeout += delegate { ammukohti(Viholllinen, raketti); }; 
     311        ajastin.Start(); 
     312    } 
     313    void ammukohti(PhysicsObject vihollinen, PhysicsObject pelaaja) 
     314    { 
     315 
     316        Vector suunta = pelaaja.Position - vihollinen.Position; 
     317        PhysicsObject ammus = new PhysicsObject(15, 15); 
     318        ammus.Position = vihollinen.Position; 
     319        ammus.CollisionIgnoreGroup = vihollinen.CollisionIgnoreGroup; 
     320        Add(ammus); 
     321        ammus.Velocity = suunta.Normalize() * 500; 
     322        ammus.Tag = "vihollinen"; 
     323        AddCollisionHandler(ammus, CollisionHandler.DestroyObject); 
     324        ammus.Color = Color.Orange; 
     325 
     326    } 
     327    void Ase() 
     328    { 
     329        raketinAse = new AssaultRifle(0, 0); 
     330        raketinAse.Ammo.Value = 1000; 
     331        raketinAse.ProjectileCollision = AmmusOsui; 
     332    } 
     333    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 
     334    { 
     335 
     336    } 
     337    void AmmuAseella(AssaultRifle ase) 
     338    { 
     339        PhysicsObject ammus = ase.Shoot(); 
     340        if (ammus != null) 
     341        { 
     342 
     343            ammus.CollisionIgnoreGroup = 5; 
     344            AddCollisionHandler(ammus, ammustormaa); 
     345        } 
     346    } 
     347    void ammustormaa(PhysicsObject ammus, PhysicsObject kohde) 
     348    { 
     349        ammus.Destroy(); 
     350        if ((String)kohde.Tag == "tuhoutuva") 
     351        { 
     352            kohde.Destroy(); 
     353        } 
     354    } 
     355    void LuoAsteroidi(Vector paikka, double leveys, double korkeus) 
     356    { 
     357        PhysicsObject asteroidi = new PhysicsObject(70.0, 75.0); 
     358        asteroidi.Tag = "tuhoutuva"; 
     359        asteroidi.Color = Color.Black; 
     360        Add(asteroidi); 
     361        asteroidi.Position = paikka; 
     362 
     363 
     364 
     365    } 
    161366} 
     367 
     368 
  • 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1.csproj.Debug.cachefile

    r7475 r7500  
    11Content\Kentta1.xnb 
    22Content\raketti.xnb 
     3Content\Kentta2.xnb 
     4Content\Kentta3.xnb 
     5Content\savu.xnb 
     6Content\Kentta4.xnb 
     7Content\TaustaMusa.xnb 
     8Content\Kentta5.xnb 
     9Content\Kentta6.xnb 
     10Content\TaustaMusa.wma 
  • 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/obj/x86/Debug/ContentPipeline-{E216E612-73E2-4ACE-A08F-34A8EC11090A}.xml

    r7475 r7500  
    99      <Options>None</Options> 
    1010      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta1.xnb</Output> 
    11       <Time>2016-06-21T09:36:33.9249544+02:00</Time> 
     11      <Time>2016-06-22T14:29:07.0119364+02:00</Time> 
    1212    </Item> 
    1313    <Item> 
     
    1818      <Options>None</Options> 
    1919      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\raketti.xnb</Output> 
    20       <Time>2016-06-21T10:09:54.8303535+02:00</Time> 
     20      <Time>2016-06-23T09:25:07.954563+02:00</Time> 
     21    </Item> 
     22    <Item> 
     23      <Source>Kentta2.txt</Source> 
     24      <Name>Kentta2</Name> 
     25      <Importer>TextFileImporter</Importer> 
     26      <Processor>TextFileContentProcessor</Processor> 
     27      <Options>None</Options> 
     28      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta2.xnb</Output> 
     29      <Time>2016-06-23T11:32:42.6525274+02:00</Time> 
     30    </Item> 
     31    <Item> 
     32      <Source>Kentta3.txt</Source> 
     33      <Name>Kentta3</Name> 
     34      <Importer>TextFileImporter</Importer> 
     35      <Processor>TextFileContentProcessor</Processor> 
     36      <Options>None</Options> 
     37      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta3.xnb</Output> 
     38      <Time>2016-06-22T12:25:00.0720765+02:00</Time> 
     39    </Item> 
     40    <Item> 
     41      <Source>savu.png</Source> 
     42      <Name>savu</Name> 
     43      <Importer>TextureImporter</Importer> 
     44      <Processor>TextureProcessor</Processor> 
     45      <Options>None</Options> 
     46      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\savu.xnb</Output> 
     47      <Time>2016-06-22T09:55:59.8353707+02:00</Time> 
     48    </Item> 
     49    <Item> 
     50      <Source>Kentta4.txt</Source> 
     51      <Name>Kentta4</Name> 
     52      <Importer>TextFileImporter</Importer> 
     53      <Processor>TextFileContentProcessor</Processor> 
     54      <Options>None</Options> 
     55      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta4.xnb</Output> 
     56      <Time>2016-06-23T09:41:14.148893+02:00</Time> 
     57    </Item> 
     58    <Item> 
     59      <Source>TaustaMusa.mp3</Source> 
     60      <Name>TaustaMusa</Name> 
     61      <Importer>Mp3Importer</Importer> 
     62      <Processor>SongProcessor</Processor> 
     63      <Options>None</Options> 
     64      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\TaustaMusa.xnb</Output> 
     65      <Extra>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\TaustaMusa.wma</Extra> 
     66      <Time>2016-06-22T13:34:00.363212+02:00</Time> 
     67    </Item> 
     68    <Item> 
     69      <Source>Kentta5.txt</Source> 
     70      <Name>Kentta5</Name> 
     71      <Importer>TextFileImporter</Importer> 
     72      <Processor>TextFileContentProcessor</Processor> 
     73      <Options>None</Options> 
     74      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta5.xnb</Output> 
     75      <Time>2016-06-23T10:20:18.0983115+02:00</Time> 
     76    </Item> 
     77    <Item> 
     78      <Source>Kentta6.txt</Source> 
     79      <Name>Kentta6</Name> 
     80      <Importer>TextFileImporter</Importer> 
     81      <Processor>TextFileContentProcessor</Processor> 
     82      <Options>None</Options> 
     83      <Output>C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta6.xnb</Output> 
     84      <Time>2016-06-23T11:29:16.8915452+02:00</Time> 
    2185    </Item> 
    2286    <BuildSuccessful>true</BuildSuccessful> 
  • 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/obj/x86/Debug/FysiikkaPeli1.csproj.FileListAbsolute.txt

    r7475 r7500  
    99C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta1.xnb 
    1010C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\raketti.xnb 
     11C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta2.xnb 
     12C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta3.xnb 
     13C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\savu.xnb 
     14C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta4.xnb 
     15C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\TaustaMusa.xnb 
     16C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\TaustaMusa.wma 
     17C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta5.xnb 
     18C:\Users\ohjelmointi\Documents\ToukoP\FysiikkaPeli1\FysiikkaPeli1\FysiikkaPeli1\bin\x86\Debug\Content\Kentta6.xnb 
  • 2016/25/ToukoP/FysiikkaPeli1/FysiikkaPeli1/FysiikkaPeli1/obj/x86/Debug/cachefile-{E216E612-73E2-4ACE-A08F-34A8EC11090A}-targetpath.txt

    r7475 r7500  
    11Content\Kentta1.xnb 
    22Content\raketti.xnb 
     3Content\Kentta2.xnb 
     4Content\Kentta3.xnb 
     5Content\savu.xnb 
     6Content\Kentta4.xnb 
     7Content\TaustaMusa.xnb 
     8Content\TaustaMusa.wma 
     9Content\Kentta5.xnb 
     10Content\Kentta6.xnb 
Note: See TracChangeset for help on using the changeset viewer.