- Timestamp:
- 2016-06-15 14:59:30 (7 years ago)
- Location:
- 2016/24/IlariJ/ShootIO
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/24/IlariJ/ShootIO/ShootIO/ShootIO/ShootIO.cs
r7289 r7343 12 12 Image zompi2 = LoadImage("zompi2"); 13 13 Image zompi3 = LoadImage("zompi3"); 14 List<Image> vihuKuvat; 14 15 Image taustaKuva = LoadImage("tausta"); 15 16 AssaultRifle pyssy; 16 17 private double liikkumisnopeus = 100; 18 private int zompiLeveys = 10; 19 private int zompiKorkeus = 12; 17 20 Image tankinKuva = LoadImage("tankki"); 18 21 Tankki pelaaja; 22 19 23 DoubleMeter elamaLaskuri; 20 24 public override void Begin() 25 { 26 LuoAlkuValikko(); 27 } 28 void LuoAlkuValikko() 29 { 30 MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko", 31 "Aloita peli", "Parhaat pisteet", "Lopeta"); 32 33 alkuValikko.AddItemHandler(0, AloitaPeli); 34 alkuValikko.AddItemHandler(1, ParhaatPisteet); 35 alkuValikko.AddItemHandler(2, Exit); 36 Add(alkuValikko); 37 } 38 void AloitaPeli() 21 39 { 22 40 LuoKentta(); … … 24 42 LisaaOhjaimet(); 25 43 LuoElamaLaskuri(); 44 LuoPistelaskuri(); 26 45 Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella"); 46 vihuKuvat = new List<Image> { zompi1, zompi3, zompi2, zompi1, zompi2, zompi1, zompi3, zompi2, zompi3, zompi2, zompi2, zompi3, zompi1, zompi1, zompi3, zompi2, zompi3, zompi1 }; 47 LuoVihuAjastin(); 27 48 Camera.Follow(pelaaja); 28 49 Camera.Zoom(4); 50 29 51 // TODO: Kirjoita ohjelmakoodisi tähän 30 52 31 53 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 32 54 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 33 } 55 56 } 57 void ParhaatPisteet() 58 { 59 60 } 61 34 62 void LuoKentta() 35 63 { … … 41 69 ruudut.SetTileMethod(Color.Black, LuoEste); 42 70 ruudut.SetTileMethod(Color.Red, LuoPommi); 43 ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoVihu, zompi1);44 ruudut.SetTileMethod(Color.FromHexCode("FFD800"), LuoVihu, zompi2);45 ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoVihu, zompi3);71 //ruudut.SetTileMethod(Color.FromHexCode("0026FF"), LuoVihu, zompi1); 72 //ruudut.SetTileMethod(Color.FromHexCode("FFD800"), LuoVihu, zompi2); 73 //ruudut.SetTileMethod(Color.FromHexCode("FF6A00"), LuoVihu, zompi3); 46 74 47 75 //3. Execute luo kentän … … 58 86 pelaaja.Position = new Vector(0,0); 59 87 AddCollisionHandler(pelaaja, "pommi", TormaaPommiin); 88 AddCollisionHandler(pelaaja, "vihu", TormaaVihuun); 60 89 Add(pelaaja); 61 90 pelaaja.Image = tankinKuva; … … 64 93 65 94 LuoAse(); 95 96 } 97 void TormaaVihuun(PhysicsObject pelaaja, PhysicsObject vihu) 98 { 99 elamaLaskuri.Value -= 1; 100 vihu.Destroy(); 66 101 67 102 } … … 111 146 Add(rajahdys); 112 147 pommi.Destroy(); 113 this.pelaaja.ElamaLaskuri.Value -=2;148 //this.pelaaja.ElamaLaskuri.Value -=2; 114 149 elamaLaskuri.Value -=2; 115 150 rajahdys.Speed = 100.0; … … 119 154 void LuoElamaLaskuri() 120 155 { 121 elamaLaskuri = new DoubleMeter(10);156 elamaLaskuri = pelaaja.ElamaLaskuri; 122 157 elamaLaskuri.MaxValue = 10; 123 158 elamaLaskuri.LowerLimit += ElamaLoppui; … … 146 181 if (ammus != null) 147 182 { 183 ammus.Tag = "panos"; 148 184 ammus.Size *= 0.5; 149 185 //ammus.Image = ... … … 175 211 176 212 { 177 PhysicsObject Vihu = new PhysicsObject(10, 12); 178 Vihu.Shape = Shape.Rectangle; 179 Add(Vihu); 180 Vihu.Image = vihuKuva; 181 Vihu.Position = paikka; 182 } 183 184 213 PhysicsObject vihu = new PhysicsObject(zompiLeveys, zompiKorkeus); 214 vihu.Shape = Shape.Rectangle; 215 Add(vihu); 216 vihu.Image = vihuKuva; 217 vihu.Position = paikka; 218 vihu.CanRotate = false; 219 vihu.Tag = "vihu"; 220 AddCollisionHandler(vihu, "panos", TormaaLuotiin); 221 222 FollowerBrain seuraajanAivot = new FollowerBrain(pelaaja); 223 seuraajanAivot.Active = true; 224 seuraajanAivot.TurnWhileMoving = true; 225 seuraajanAivot.Speed = 80; // Millä nopeudella kohdetta seurataan 226 seuraajanAivot.DistanceFar = 1000; // Etäisyys jolla aletaan seurata kohdetta 227 seuraajanAivot.DistanceClose = 10; // Etäisyys jolloin ollaan lähellä kohdetta 228 seuraajanAivot.StopWhenTargetClose = true; // Pysähdytään kun ollaan lähellä kohdetta 229 //seuraajanAivot.FarBrain = satunnaisAivot; // Käytetään satunnaisaivoja kun ollaan kaukana 230 vihu.Brain = seuraajanAivot; 231 // Tapahtuma, joka tapahtuu kun ollaan lähellä kohdetta 232 seuraajanAivot.TargetClose += delegate { vihuLahella(vihu); }; 233 } 234 235 void TormaaLuotiin(PhysicsObject vihu,PhysicsObject ammus) 236 { 237 vihu.Destroy(); 238 ammus.Destroy(); 239 pisteLaskuri.Value++; 240 } 241 242 void vihuLahella(PhysicsObject vihu) 243 { 244 //pelaaja.ElamaLaskuri.Value--; 245 } 246 247 void LuoVihuAjastin() 248 { 249 250 Timer ajastin = new Timer(); 251 ajastin.Interval = 0.3; 252 ajastin.Timeout += delegate { 253 RandomGen.Shuffle(vihuKuvat); 254 int index = RandomGen.NextInt(0, 17); 255 LuoVihu(new Vector(RandomGen.NextDouble(Level.Left + 20, Level.Right - 20), RandomGen.NextDouble(Level.Bottom + 20, Level.Top - 20)), zompiLeveys, zompiKorkeus, vihuKuvat[index]); 256 }; 257 ajastin.Start(); 258 } 259 260 IntMeter pisteLaskuri; 261 void LuoPistelaskuri() 262 { 263 pisteLaskuri = new IntMeter(0); 264 265 Label pisteNaytto = new Label(); 266 pisteNaytto.X = Screen.Left + 100; 267 pisteNaytto.Y = Screen.Top - 100; 268 pisteNaytto.TextColor = Color.White; 269 pisteNaytto.Color = Color.Black; 270 271 pisteNaytto.BindTo(pisteLaskuri); 272 Add(pisteNaytto); 273 } 185 274 } 186 275 187 276 class Tankki : PhysicsObject 188 277 { 189 private IntMeter elamaLaskuri = new IntMeter(10, 0, 20);190 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } }278 private DoubleMeter elamaLaskuri = new DoubleMeter(10, 0, 20); 279 public DoubleMeter ElamaLaskuri { get { return elamaLaskuri; } } 191 280 192 281 public Tankki(double leveys, double korkeus) … … 196 285 } 197 286 287 198 288 } -
2016/24/IlariJ/ShootIO/ShootIO/ShootIO/obj/x86/Debug/ContentPipeline-{8CBB56FE-761C-42CC-99C2-D82A0DF5B03E}.xml
r7289 r7343 9 9 <Options>None</Options> 10 10 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\tankki.xnb</Output> 11 <Time>2016-06-1 3T14:01:59.3737083+03:00</Time>11 <Time>2016-06-15T10:12:15.4420855+03:00</Time> 12 12 </Item> 13 13 <Item> … … 18 18 <Options>None</Options> 19 19 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\mappi.xnb</Output> 20 <Time>2016-06-1 4T14:44:51.634375+03:00</Time>20 <Time>2016-06-15T10:12:15.5200855+03:00</Time> 21 21 </Item> 22 22 <Item> … … 27 27 <Options>None</Options> 28 28 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\pommi.xnb</Output> 29 <Time>2016-06-1 3T14:40:18.2205688+03:00</Time>29 <Time>2016-06-15T10:12:15.4420855+03:00</Time> 30 30 </Item> 31 31 <Item> … … 36 36 <Options>None</Options> 37 37 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\este.xnb</Output> 38 <Time>2016-06-1 3T14:48:21.3041201+03:00</Time>38 <Time>2016-06-15T10:12:15.4420855+03:00</Time> 39 39 </Item> 40 40 <Item> … … 45 45 <Options>None</Options> 46 46 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\tausta.xnb</Output> 47 <Time>2016-06-1 4T12:33:32.5605464+03:00</Time>47 <Time>2016-06-15T10:12:15.4576855+03:00</Time> 48 48 </Item> 49 49 <Item> … … 54 54 <Options>None</Options> 55 55 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi1.xnb</Output> 56 <Time>2016-06-1 4T14:17:08.4710753+03:00</Time>56 <Time>2016-06-15T10:12:15.4264855+03:00</Time> 57 57 </Item> 58 58 <Item> … … 63 63 <Options>None</Options> 64 64 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi2.xnb</Output> 65 <Time>2016-06-1 4T14:17:21.699398+03:00</Time>65 <Time>2016-06-15T10:12:15.4420855+03:00</Time> 66 66 </Item> 67 67 <Item> … … 72 72 <Options>None</Options> 73 73 <Output>C:\MyTemp\IlariJ\ShootIO\ShootIO\ShootIO\bin\x86\Debug\Content\zompi3.xnb</Output> 74 <Time>2016-06-1 4T14:17:39.6031882+03:00</Time>74 <Time>2016-06-15T10:12:15.4576855+03:00</Time> 75 75 </Item> 76 76 <BuildSuccessful>true</BuildSuccessful>
Note: See TracChangeset
for help on using the changeset viewer.