- Timestamp:
- 2013-06-28 12:39:51 (10 years ago)
- Location:
- 2012/09-22/SanteriH/Kynari
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/09-22/SanteriH/Kynari/Kynari/Kynari/Kynari.cs
r4282 r4322 118 118 119 119 DrawPerimeter = false; // ei haluta piirtää kentän reunoja 120 //IsFullScreen = true; 120 121 LuoAlkuValikko(); 121 122 } … … 157 158 ruudut.SetTileMethod('w', LuoPortaali); 158 159 ruudut.SetTileMethod('v', LuoNorsuVihu, "Pistooli"); 160 ruudut.SetTileMethod('a', LuoNorsuVihu, "Kivääri"); 159 161 //ruudut.SetTileMethod('m', LuoAse, new Vector(24, 24), "Miekka", miekankuva); 162 ruudut.SetTileMethod('+', LuoPowerUp1, new Vector(16, 20), "Power Up", powerupinkuva); 163 ruudut.SetTileMethod('h', LuoHP1, new Vector(16, 20), "HP", hpkuva); 164 ruudut.SetTileMethod('P', LuoAse, new Vector(16, 11), "Pistooli", pistoolinkuva); 160 165 ruudut.SetTileMethod('A', LuoAse, new Vector(39, 13), "Kivääri", kivaarinkuva); 161 166 ruudut.SetTileMethod('G', LuoAse, new Vector(42, 15), "Kranaatinheitin", kranaatinheittimenkuva); … … 203 208 Level.Background.CreateGradient(Color.White, Color.Gray); 204 209 Gravity = new Vector(0, -1500); 210 Camera.ZoomToLevel(); 205 211 206 212 Timer timer = new Timer(); … … 358 364 Add(kohde); 359 365 AddCollisionHandler(kohde, "ammus", delegate (PhysicsObject o, PhysicsObject k) { TuhoaKohde(kohde); }); 366 AddCollisionHandler(kohde, "Kohde tuhottu", delegate(PhysicsObject o, PhysicsObject k) { TuhoaKohde(kohde); }); 360 367 } 361 368 void TuhoaKohde(PhysicsObject kohde) 362 369 { 370 Explosion rajahdys = new Explosion(80); 371 rajahdys.UseShockWave = false; 372 rajahdys.Position = kohde.Position; 373 rajahdys.Tag = "Kohde rajahdys"; 374 Add(rajahdys); 363 375 kohde.Destroy(); 376 kohde.Destroyed += delegate 377 { 378 List<GameObject> ketaLahella = GetObjects(x => x.Tag.ToString() == "Target" && Vector.Distance(x.Position, kohde.Position) < kohde.Width * 2); 379 ketaLahella.ForEach(x => TuhoaKohde(x as PhysicsObject)); 380 }; 364 381 } 365 382 … … 369 386 norsu.Image = norsu2; 370 387 norsu.Tag = "Norsu"; 371 388 norsu.Position = paikka; 372 389 norsu.HPLaskuri = new DoubleMeter(45, 0, 45); 373 390 norsu.HPLaskuri.MaxValue = 45; … … 377 394 NorsuKuoli(norsu); 378 395 }; 379 380 381 PlatformWandererBrain aivot = new PlatformWandererBrain(); 382 norsu.Brain = aivot; 383 aivot.Speed = 200; 384 aivot.JumpSpeed = 700; 385 396 397 PlatformWandererBrain pBrain = new PlatformWandererBrain(); 398 pBrain.TriesToJump = true; 399 pBrain.FallsOffPlatforms = true; 400 pBrain.Speed = 200; 401 pBrain.JumpSpeed = 700; 402 403 FollowerBrain brain = new FollowerBrain( "pelaaja" ); 404 brain.DistanceFar = 600; 405 brain.DistanceClose = 200; 406 brain.StopWhenTargetClose = true; 407 brain.TargetClose += delegate { Ammu(norsu); }; 408 brain.FarBrain = pBrain; 409 brain.Speed = 400; 410 norsu.Brain = brain; 411 386 412 Add(norsu); 387 413 LuoAsePelaajalle(ase, norsu); … … 948 974 Pelaaja LuoYksinPelaaja(Vector paikka, double leveys, double korkeus, Direction suunta, Pelaaja pelaaja) 949 975 { 950 string ase = "Pistooli"; 951 if (pelaaja.Weapon != null && SailytaAse == "Kyllä") 976 string ase = null; 977 string ase2 = null; 978 if (pelaaja.Weapon != null && pelaaja.Weapon.Tag != null && taso != 0) 952 979 { 953 980 ase = pelaaja.Weapon.Tag.ToString(); … … 958 985 959 986 } 987 if (pelaaja.varaAse != null && taso != 0) 988 { 989 ase2 = pelaaja.varaAse; 990 if (ase2.Length > 6 && ase2.Substring(ase2.Length - 5) == "Lv. 4") 991 { 992 ase2 = ase2.Substring(0, ase2.Length - 5) + "Lv. 3"; 993 } 994 995 } 996 960 997 pelaaja = new Pelaaja(40, 40, Shape.Circle); 961 998 pelaaja.Image = norsu; … … 969 1006 pelaaja.HPLaskuri.LowerLimit += delegate() 970 1007 { 971 PelaajaKuoli(pelaaja);1008 YksinPelaajaKuoli(pelaaja); 972 1009 }; 973 1010 Add(pelaaja); 974 1011 975 1012 LuoAsePelaajalle(ase, pelaaja); 1013 LuoVaraAse(ase2, pelaaja); 976 1014 return pelaaja; 977 1015 } … … 1012 1050 norsu.Destroy(); 1013 1051 PudotaAseenHahmo(norsu); 1052 } 1053 1054 void YksinPelaajaKuoli(Pelaaja pelaaja) 1055 { 1056 uusiYksinPeli(); 1014 1057 } 1015 1058 … … 1081 1124 void keraaPowerUp(PhysicsObject powerup, Pelaaja pelaaja) 1082 1125 { 1126 if (pelaaja.Weapon == null || pelaaja.Weapon.Tag == null) return; 1083 1127 powerup.Destroy(); 1084 1128 powerupmaara -= 1; … … 1104 1148 void vaihdaAse(Pelaaja pelaaja) 1105 1149 { 1106 if (pelaaja.Weapon == null || pelaaja.Weapon.IsDestroyed) 1107 { 1108 return; 1150 if (pelaaja.Weapon == null || pelaaja.Weapon.IsDestroyed || pelaaja.Weapon.Tag == null) 1151 { 1152 if (pelaaja.varaAse != null) 1153 { 1154 pelaaja.Clear(); 1155 LuoAsePelaajalle(pelaaja.varaAse, pelaaja); 1156 naytaTiedot(); 1157 pelaaja.varaAse = null; 1158 saaAmpua = false; 1159 Timer.SingleShot(0.1, delegate 1160 { 1161 saaAmpua = true; 1162 }); 1163 return; 1164 } 1165 else 1166 { 1167 return; 1168 } 1109 1169 } 1110 1170 1111 1171 string asetag = pelaaja.Weapon.Tag.ToString(); 1112 Image aseenKuva = pelaaja.Weapon.Image;1113 Vector aseenkoko = pelaaja.Weapon.Size;1172 //Image aseenKuva = pelaaja.Weapon.Image; 1173 //Vector aseenkoko = pelaaja.Weapon.Size; 1114 1174 if (asetag.Length > 6 && asetag.Substring(asetag.Length - 5) == "Lv. 4") 1115 1175 { … … 1119 1179 pelaaja.Clear(); 1120 1180 pelaaja.Weapon.Tag = null; 1121 1122 LuoAsePelaajalle(pelaaja.varaAse, pelaaja); 1181 1182 if (LuoAsePelaajalle(pelaaja.varaAse, pelaaja)) 1183 { 1184 string aseenTagi = pelaaja.Weapon.Tag.ToString(); 1185 if (aseenTagi != null && aseenTagi.Length > 6 && aseenTagi.Substring(aseenTagi.Length - 5) == "Lv. 4") 1186 { 1187 aseenTagi = aseenTagi.Substring(0, aseenTagi.Length - 5) + "Lv. 3"; 1188 } 1189 } 1190 1123 1191 naytaTiedot(); 1124 1125 1126 //string aseenTagi = pelaaja.Weapon.Tag.ToString(); 1127 //if (aseenTagi != null && aseenTagi.Length > 6 && aseenTagi.Substring(aseenTagi.Length - 5) == "Lv. 4") 1128 //{ 1129 // aseenTagi = aseenTagi.Substring(0, aseenTagi.Length - 5) + "Lv. 3"; 1130 //} 1131 1192 1193 LuoVaraAse(asetag, pelaaja); 1194 1195 saaAmpua = false; 1196 Timer.SingleShot(0.1, delegate 1197 { 1198 saaAmpua = true; 1199 }); 1200 1201 /* 1132 1202 GameObject ase = new GameObject(0, 0); 1133 1203 ase.Image = aseenKuva; … … 1141 1211 1142 1212 pelaaja.Add(ase); 1213 */ 1214 } 1215 1216 void LuoVaraAse(string asetag, Image aseenKuva, Vector aseenkoko, Pelaaja pelaaja) 1217 { 1218 if (asetag == null || aseenKuva == null || aseenkoko == null) return; 1219 1220 GameObject ase = new GameObject(0, 0); 1221 ase.X = -20; 1222 ase.Y = 0; 1223 ase.Tag = asetag; 1224 ase.Image = aseenKuva; 1225 ase.Size = aseenkoko; 1226 ase.Angle = Angle.FromDegrees(90); 1227 pelaaja.varaAse = asetag; 1228 1229 pelaaja.Add(ase); 1230 } 1231 1232 void LuoVaraAse(string aseenTag, Pelaaja pelaaja) 1233 { 1234 if (aseenTag == null) return; 1235 1236 Image aseenKuva = pistoolinkuva; 1237 Vector aseenKoko = new Vector(0,0); 1238 1239 if (aseenTag == "Kivääri") 1240 { 1241 aseenKuva = kivaarinkuva; 1242 aseenKoko = new Vector(39, 13); 1243 } 1244 if (aseenTag == "Magnum") 1245 { 1246 aseenKuva = magnumkuva; 1247 aseenKoko = new Vector(17, 12); 1248 } 1249 1250 if (aseenTag == "Haulikko") 1251 { 1252 aseenKuva = haulikonkuva; 1253 aseenKoko = new Vector(42, 10); 1254 } 1255 1256 if (aseenTag == "Sniper") 1257 { 1258 aseenKuva = sniperinkuva; 1259 aseenKoko = new Vector(42, 11); 1260 } 1261 1262 if (aseenTag == "Kranaatinheitin") 1263 { 1264 aseenKuva = kranaatinheittimenkuva; 1265 aseenKoko = new Vector(42, 15); 1266 } 1267 if (aseenTag == "Raketinheitin") 1268 { 1269 aseenKuva = raketinheittimenkuva; 1270 aseenKoko = new Vector(48, 15); 1271 } 1272 1273 if (aseenTag == "Pistooli") 1274 { 1275 aseenKuva = pistoolinkuva; 1276 aseenKoko = new Vector(16, 11); 1277 } 1278 1279 if (aseenTag == "Kivääri Lv. 2") 1280 { 1281 aseenKuva = kivaarinkuva2; 1282 aseenKoko = new Vector(39, 16); 1283 } 1284 if (aseenTag == "Magnum Lv. 2") 1285 { 1286 aseenKuva = magnumkuva2; 1287 aseenKoko = new Vector(17, 12); 1288 } 1289 1290 if (aseenTag == "Haulikko Lv. 2") 1291 { 1292 aseenKuva = haulikonkuva2; 1293 aseenKoko = new Vector(42, 12); 1294 } 1295 1296 if (aseenTag == "Sniper Lv. 2") 1297 { 1298 aseenKuva = sniperinkuva2; 1299 aseenKoko = new Vector(42, 11); 1300 } 1301 1302 if (aseenTag == "Kranaatinheitin Lv. 2") 1303 { 1304 aseenKuva = kranaatinheittimenkuva2; 1305 aseenKoko = new Vector(42, 16); 1306 } 1307 if (aseenTag == "Raketinheitin Lv. 2") 1308 { 1309 aseenKuva = raketinheittimenkuva2; 1310 aseenKoko = new Vector(48, 15); 1311 } 1312 1313 if (aseenTag == "Pistooli Lv. 2") 1314 { 1315 aseenKuva = pistoolinkuva2; 1316 aseenKoko = new Vector(17, 11); 1317 } 1318 if (aseenTag == "Kivääri Lv. 3") 1319 { 1320 aseenKuva = kivaarinkuva3; 1321 aseenKoko = new Vector(39, 16); 1322 } 1323 if (aseenTag == "Magnum Lv. 3") 1324 { 1325 aseenKuva = magnumkuva3; 1326 aseenKoko = new Vector(17, 12); 1327 } 1328 1329 if (aseenTag == "Haulikko Lv. 3") 1330 { 1331 aseenKuva = haulikonkuva3; 1332 aseenKoko = new Vector(38, 12); 1333 } 1334 1335 if (aseenTag == "Sniper Lv. 3") 1336 { 1337 aseenKuva = sniperinkuva3; 1338 aseenKoko = new Vector(45, 12); 1339 } 1340 1341 if (aseenTag == "Kranaatinheitin Lv. 3") 1342 { 1343 aseenKuva = kranaatinheittimenkuva3; 1344 aseenKoko = new Vector(37, 17); 1345 } 1346 if (aseenTag == "Raketinheitin Lv. 3") 1347 { 1348 aseenKuva = raketinheittimenkuva3; 1349 aseenKoko = new Vector(48, 22.5); 1350 } 1351 1352 if (aseenTag == "Pistooli Lv. 3") 1353 { 1354 aseenKuva = pistoolinkuva3; 1355 aseenKoko = new Vector(20, 13); 1356 } 1357 1358 1359 if (aseenTag == "Kivääri Lv. 4") 1360 { 1361 aseenKuva = kivaarinkuva4; 1362 aseenKoko = new Vector(39, 16); 1363 } 1364 if (aseenTag == "Magnum Lv. 4") 1365 { 1366 aseenKuva = magnumkuva4; 1367 aseenKoko = new Vector(17, 12); 1368 } 1369 1370 if (aseenTag == "Haulikko Lv. 4") 1371 { 1372 aseenKuva = haulikonkuva4; 1373 aseenKoko = new Vector(38, 12); 1374 } 1375 1376 if (aseenTag == "Sniper Lv. 4") 1377 { 1378 aseenKuva = sniperinkuva4; 1379 aseenKoko = new Vector(45, 12); 1380 } 1381 1382 if (aseenTag == "Kranaatinheitin Lv. 4") 1383 { 1384 aseenKuva = kranaatinheittimenkuva4; 1385 aseenKoko = new Vector(37, 17); 1386 } 1387 if (aseenTag == "Raketinheitin Lv. 4") 1388 { 1389 aseenKuva = raketinheittimenkuva4; 1390 aseenKoko = new Vector(48, 22.5); 1391 } 1392 1393 if (aseenTag == "Pistooli Lv. 4") 1394 { 1395 aseenKuva = pistoolinkuva4; 1396 aseenKoko = new Vector(20, 13); 1397 } 1398 1399 //Yksinpeli aseet 1400 if (aseenTag == "Miekka") 1401 { 1402 aseenKuva = miekankuva; 1403 aseenKoko = new Vector(24, 24); 1404 1405 } 1406 1407 GameObject ase = new GameObject(0, 0); 1408 ase.Image = null; 1409 ase.X = -20; 1410 ase.Y = 0; 1411 ase.Tag = aseenTag; 1412 ase.Image = aseenKuva; 1413 ase.Size = aseenKoko; 1414 ase.Angle = Angle.FromDegrees(90); 1415 pelaaja.varaAse = aseenTag; 1416 1417 pelaaja.Add(ase); 1143 1418 } 1144 1419 … … 1160 1435 private void PudotaAseenHahmo(Pelaaja pelaaja) 1161 1436 { 1162 if (pelaaja.Weapon == null ) return;1437 if (pelaaja.Weapon == null || pelaaja.Weapon.Tag == null) return; 1163 1438 1164 1439 pelaaja.voikoPoimiaAseen = false; … … 1675 1950 } 1676 1951 1952 void LuoPowerUp1(Vector paikka, double leveys, double korkeus, Vector koko, String tagi, Image kuva) 1953 { 1954 PhysicsObject powerup = new PhysicsObject(koko.X, koko.Y); 1955 powerup.Position = paikka; 1956 powerup.Tag = tagi; 1957 powerup.Image = kuva; 1958 Add(powerup); 1959 AddCollisionHandler<PhysicsObject, Pelaaja>(powerup, "pelaaja", keraaPowerUp); 1960 } 1961 1677 1962 void LisaaPowerUpPaikka(Vector paikka, double leveys, double korkeus, List<Vector> powerupvektorit) 1678 1963 { … … 1695 1980 } 1696 1981 1982 void LuoHP1(Vector paikka, double leveys, double korkeus, Vector koko, String tagi, Image kuva) 1983 { 1984 PhysicsObject hp = new PhysicsObject(koko.X, koko.Y); 1985 hp.Position = paikka; 1986 hp.Tag = tagi; 1987 hp.Image = kuva; 1988 Add(hp); 1989 AddCollisionHandler<PhysicsObject, Pelaaja>(hp, "pelaaja", keraaHP); 1990 } 1991 1697 1992 void LuoAse(Vector paikka, double leveys, double korkeus, Vector koko, String tagi, Image kuva) 1698 1993 { … … 1711 2006 /// <param name="pelaaja">Pelaaja jolle ase luodaan</param> 1712 2007 /// <returns></returns> 1713 private voidLuoAsePelaajalle(string aseenTag, Pelaaja pelaaja)1714 { 1715 if (aseenTag == null) return ;2008 private bool LuoAsePelaajalle(string aseenTag, Pelaaja pelaaja) 2009 { 2010 if (aseenTag == null) return false; 1716 2011 1717 2012 // Varsinainen ase … … 2042 2337 2043 2338 } 2044 if(ase != null) 2339 if (ase != null) 2340 { 2045 2341 pelaaja.Weapon = ase; 2342 return true; 2343 } 2344 return false; 2046 2345 } 2047 2346 … … 2395 2694 pelaajaNro.Listen(Button.LeftTrigger, ButtonState.Pressed, LukitseSuunta, "Lukitse suunta", pelaaja); 2396 2695 pelaajaNro.Listen(Button.LeftTrigger, ButtonState.Released, PoistaLukitus, "Poista lukitus", pelaaja); 2696 pelaajaNro.Listen(Button.X, ButtonState.Pressed, vaihdaAse, "Vaihda ase", pelaaja); 2397 2697 2398 2698 pelaajaNro.Listen(Button.Start, ButtonState.Pressed, YksinPeliPauselle, "Pysäyttää pelin", pelaaja); … … 2497 2797 void Ammu(PlatformCharacter hahmo) 2498 2798 { 2499 if (hahmo.IsDestroyed || !saaAmpua|| hahmo.Weapon.IsDestroyed == true) return;2799 if (hahmo.IsDestroyed || !saaAmpua || hahmo.Weapon == null || hahmo.Weapon.Tag == null || hahmo.Weapon.IsDestroyed == true) return; 2500 2800 PhysicsObject ammus = hahmo.Weapon.Shoot(); 2501 2801 if (ammus == null) return; -
2012/09-22/SanteriH/Kynari/Kynari/KynariContent/obj/x86/Debug/ContentPipeline.xml
r4282 r4322 451 451 <Options>None</Options> 452 452 <Output>C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso1.xnb</Output> 453 <Time>2013-06-2 7T13:40:38.7015777+03:00</Time>453 <Time>2013-06-28T12:30:44.1312611+03:00</Time> 454 454 </Item> 455 455 <Item> … … 460 460 <Options>None</Options> 461 461 <Output>C:\MyTemp\SanteriH\Kynari\Kynari\Kynari\bin\x86\Debug\Content\taso0.xnb</Output> 462 <Time>2013-06-2 7T12:40:31.3418778+03:00</Time>462 <Time>2013-06-28T10:43:24.1553279+03:00</Time> 463 463 </Item> 464 464 <Item> -
2012/09-22/SanteriH/Kynari/Kynari/KynariContent/taso0.txt
r4282 r4322 2 2 t t t t 3 3 t t t t 4 t t t t 5 t tttttttttttttttttttttt t ttttttttttttttttttttttttt t t 6 t tt t .t t t 7 t t t t .t t t 8 t t t ttttttttttttttttttttttt tt t t 9 ttttttttttttttttttttt t t . tt t t 10 t t t . tt ttttttttttt 4 t t ttttttttttttttttttttttt t t 5 t t ...t t 6 t tttttttttttttttttttttt t t t t 7 t tt tttttttttttttt t t t 8 t t t t t t t t 9 t t t tttttttttttttttt t t t 10 ttttttttttttttttttttt t t . t t t 11 t t t . t ttttttttttt 11 12 t t t tttttttttttttttttttttttttttttt wt 12 t 1 t t 13 t 1 t t P t t #t 13 14 z#########################################################tttttttttttttttttttttttttttttt -
2012/09-22/SanteriH/Kynari/Kynari/KynariContent/taso1.txt
r4282 r4322 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 t t 13 t 1 A tt v14 z#########################################################tttttttttttttttttttttttttttttt 1 ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt 2 t t . wt 3 t t M . #t 4 t tttttt ttttttttttt 5 t t t 6 t t tttt t 7 t t t 8 t t t 9 t t v t 10 t v tttttttttt t 11 t ttttttttttttt + h t 12 t t tt tt ttt t ttt t 13 t 1 tt v tt tt ttttt t v ttttt t 14 z#########################################################ttttttttttttttttttttttttttttttttttttttttttttt
Note: See TracChangeset
for help on using the changeset viewer.