Changeset 9375
- Timestamp:
- 2017-08-03 09:38:55 (6 years ago)
- Location:
- 2017/31/JouniP
- Files:
-
- 5 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.cs
r9333 r9375 7 7 using Jypeli.Widgets; 8 8 9 /// <summary> 10 /// Lisenssi: CC0 11 /// </summary> 9 12 public class Avaruuspeli : PhysicsGame 10 13 { 11 14 Image olionKuva = LoadImage("raketti"); 12 15 Image vihollisenKuva = LoadImage("hirvio"); 13 Image taustakuva = LoadImage(" avaruuspelin_suunnitelma");16 Image taustakuva = LoadImage("sinertava_tausta"); 14 17 15 18 PhysicsObject jouninAlus; 19 DoubleMeter alaspainLaskuri; 20 Timer aikaLaskuri; 16 21 17 22 public override void Begin() 23 { 24 Alkuvalikko(); 25 } 26 27 void Alkuvalikko() 28 { 29 Level.Background.Color = Color.Black; 30 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 31 "Aloita peli", "Parhaat pisteet", "Lopeta"); 32 Add(alkuValikko); 33 34 alkuValikko.AddItemHandler(0, AloitaPeli); 35 alkuValikko.AddItemHandler(1, ParhaatPisteet); 36 alkuValikko.AddItemHandler(2, Exit); 37 38 alkuValikko.DefaultCancel = 2; // Oletuksena lopetetaan peli ESC-napilla 39 alkuValikko.Color = Color.AshGray; 40 alkuValikko.SetButtonColor(Color.Black); 41 alkuValikko.Image = taustakuva; 42 43 } 44 void ParhaatPisteet() 45 { 46 47 } 48 49 void AloitaPeli() 18 50 { 19 51 LisaaAlus(); 20 52 LisaaVihollinen(); 21 53 TeeKentta(); 54 LuoAikaLaskuri(); 22 55 23 56 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); … … 31 64 Camera.Follow(jouninAlus); 32 65 } 33 34 66 void LiikutaPelaajaa(Vector vektori) 35 67 { … … 59 91 Level.Background.CreateStars(); 60 92 Level.CreateBorders(); 93 61 94 //Level.Background.Image = taustakuva; // tällä saa erillisen kuvan, joka on ladattu ylempänä Beginin yläpuolella muuttujaan 62 95 … … 82 115 vihollinen.Image = vihollisenKuva; 83 116 Add(vihollinen); 117 118 FollowerBrain seuraajanAivot = new FollowerBrain(jouninAlus); 119 seuraajanAivot.Speed = 100; // Millä nopeudella kohdetta seurataan 120 seuraajanAivot.DistanceFar = 600; // Etäisyys jolla aletaan seurata kohdetta 121 seuraajanAivot.DistanceClose = 200; // Etäisyys jolloin ollaan lähellä kohdetta 122 seuraajanAivot.StopWhenTargetClose = false; // Pysähdytään kun ollaan lähellä kohdetta 123 //seuraajanAivot.FarBrain = satunnaisAivot; // Käytetään satunnaisaivoja kun ollaan kaukana 124 125 // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 126 seuraajanAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 127 128 vihollinen.Brain = seuraajanAivot; 129 } 130 131 // Aliohjelma joka ajetaan kun olio on tarpeeksi lähellä kohdetta: 132 void mitaTapahtuuKunOllaanLahella() 133 { 134 84 135 } 85 136 … … 105 156 MessageDisplay.Add("Osuit viholliseen ja menetit energiaa!"); 106 157 kukaTormasi.Destroy(); 158 aikaLaskuri.Stop(); 159 } 160 161 162 void LuoAikaLaskuri() 163 { 164 alaspainLaskuri = new DoubleMeter(15); 165 166 aikaLaskuri = new Timer(); 167 aikaLaskuri.Interval = 0.1; 168 aikaLaskuri.Timeout += LaskeAlaspain; 169 aikaLaskuri.Start(); 170 171 Label aikaNaytto = new Label(); 172 aikaNaytto.TextColor = Color.White; 173 aikaNaytto.DecimalPlaces = 1; 174 aikaNaytto.BindTo(alaspainLaskuri); 175 aikaNaytto.X = Screen.Left+300.0; 176 aikaNaytto.Y = Screen.Top-100.0; 177 Add(aikaNaytto); 178 } 179 180 void LaskeAlaspain() 181 { 182 alaspainLaskuri.Value -= 0.1; 183 184 if (alaspainLaskuri.Value <= 0) 185 { 186 MessageDisplay.Add("Aika loppui..."); 187 aikaLaskuri.Stop(); 188 IsPaused = true; // TODO Esc-napilla voi silti jatkaa peliä! Pitää korjata niin, ettei voi! 189 } 107 190 } 108 191 -
2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/Avaruuspeli.csproj.Debug.cachefile
r9333 r9375 2 2 Content\raketti.xnb 3 3 Content\hirvio.xnb 4 Content\sinertava_tausta.xnb -
2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/Avaruuspeli.csproj.FileListAbsolute.txt
r9333 r9375 10 10 C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\raketti.xnb 11 11 C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\hirvio.xnb 12 C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\sinertava_tausta.xnb -
2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/ContentPipeline-{5A5F2164-61AF-4371-8A88-49475E86DCAE}.xml
r9333 r9375 28 28 <Output>C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\hirvio.xnb</Output> 29 29 <Time>2017-08-02T09:34:11.2959375+03:00</Time> 30 </Item> 31 <Item> 32 <Source>sinertava_tausta.jpg</Source> 33 <Name>sinertava_tausta</Name> 34 <Importer>TextureImporter</Importer> 35 <Processor>TextureProcessor</Processor> 36 <Options>None</Options> 37 <Output>C:\MyTemp\JouniP\Avaruuspeli\Avaruuspeli\Avaruuspeli\bin\x86\Debug\Content\sinertava_tausta.xnb</Output> 38 <Time>2017-08-03T08:59:59.5591014+03:00</Time> 30 39 </Item> 31 40 <BuildSuccessful>true</BuildSuccessful> -
2017/31/JouniP/Avaruuspeli/Avaruuspeli/Avaruuspeli/obj/x86/Debug/cachefile-{5A5F2164-61AF-4371-8A88-49475E86DCAE}-targetpath.txt
r9333 r9375 2 2 Content\raketti.xnb 3 3 Content\hirvio.xnb 4 Content\sinertava_tausta.xnb -
2017/31/JouniP/Avaruuspeli/Avaruuspeli/AvaruuspeliContent/AvaruuspeliContent.contentproj
r9333 r9375 66 66 </Compile> 67 67 </ItemGroup> 68 <ItemGroup> 69 <Compile Include="sinertava_tausta.jpg"> 70 <Name>sinertava_tausta</Name> 71 <Importer>TextureImporter</Importer> 72 <Processor>TextureProcessor</Processor> 73 </Compile> 74 </ItemGroup> 68 75 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 69 76 <!-- 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.