Changeset 7575
- Timestamp:
- 2016-06-29 14:58:00 (7 years ago)
- Location:
- 2016/26/RasmusL
- Files:
-
- 11 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/ZombiSurvi.cs
r7562 r7575 7 7 using Jypeli.Widgets; 8 8 9 class Hahmo : PlatformCharacter 10 { 11 private IntMeter elamaLaskuri; 12 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 13 14 public Hahmo(double leveys, double korkeus, int elama) 15 : base(leveys, korkeus) 16 { 17 elamaLaskuri = new IntMeter(elama, 0, elama); 18 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 19 } 20 } 21 9 22 public class ZombiSurvi : PhysicsGame 10 23 { … … 13 26 const int RUUDUN_KOKO = 40; 14 27 15 PlatformCharacter pelaaja1; 16 28 IntMeter round = new IntMeter(1); 29 30 Hahmo pelaaja1; 31 GameObject tahtain; 32 33 Image taskulamppu = LoadImage("lampu"); 17 34 Image pelaajanKuva = LoadImage("hahmo1"); 18 35 Image zombi = LoadImage("zombi"); 19 36 Image asekuva = LoadImage("käsiase"); 20 37 Image panos = LoadImage("panos"); 21 38 Image tahtainkuva = LoadImage("crosshairs_144"); 39 GameObject valo; 22 40 SoundEffect maaliAani = LoadSoundEffect("maali"); 41 Image puukuva = LoadImage("dramaattinenmaa"); 42 Image ruohokuva = LoadImage("ruoho"); 43 Image kivikuva = LoadImage("maakivi"); 23 44 24 45 public override void Begin() 25 46 { 26 Mouse.IsCursorVisible = true;47 Mouse.IsCursorVisible = false; 27 48 SmoothTextures = false; 28 49 Gravity = new Vector(0, -1000); … … 30 51 LuoKentta(); 31 52 LisaaNappaimet(); 53 LuoAikaLaskuri(); 54 LuoroundLaskuri(); 32 55 33 56 Camera.Follow(pelaaja1); 34 57 Camera.ZoomFactor = 1.2; 35 Camera.StayInLevel = true;58 //Camera.StayInLevel = true; 36 59 } 37 60 … … 40 63 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kenttä1"); 41 64 ruudut.SetTileMethod(Color.FromHexCode("FF0000"), LisaaPelaaja); 42 ruudut.SetTileMethod(Color.FromHexCode("000000"), LisaaTaso); 43 ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), LisaaTahti); 65 ruudut.SetTileMethod(Color.FromHexCode("4FFF51"), LisaaTaso, puukuva); 66 ruudut.SetTileMethod(Color.FromHexCode("F5FF49"), LisaaTaso, ruohokuva); 67 ruudut.SetTileMethod(Color.FromHexCode("FF388A"), LisaaTaso, kivikuva); 68 ruudut.SetTileMethod(Color.FromHexCode("4CFF00"), Lisaazombi); 69 ruudut.SetTileMethod(Color.FromHexCode("0037FF"), Lisaazombispawn); 44 70 ruudut.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 45 71 Level.CreateBorders(); 46 72 Level.Background.CreateGradient(Color.White, Color.SkyBlue); 47 } 48 49 void LisaaTaso(Vector paikka, double leveys, double korkeus) 73 74 tahtain = new GameObject(100, 100); 75 tahtain.Image = tahtainkuva; 76 Add(tahtain, 3); 77 } 78 79 void LisaaTaso(Vector paikka, double leveys, double korkeus, Image kuva) 50 80 { 51 81 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 52 82 taso.Position = paikka; 53 taso. Color = Color.Green;83 taso.Image = kuva; 54 84 Add(taso); 55 85 } 56 57 void LisaaTahti(Vector paikka, double leveys, double korkeus) 58 { 59 PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus); 60 tahti.IgnoresCollisionResponse = true; 61 tahti.Position = paikka; 62 tahti.Image = zombi; 63 tahti.Tag = "zombi"; 64 Add(tahti); 86 void Lisaazombispawn(Vector paikka, double leveys, double korkeus) 87 { 88 Timer spawnAjastin = new Timer(); 89 spawnAjastin.Interval = 7; 90 spawnAjastin.Timeout += delegate 91 { 92 if (Vector.Distance(pelaaja1.Position, paikka) > 600 && RandomGen.NextInt(0,100) < round.Value * 10) 93 { 94 Lisaazombi(paikka, leveys, korkeus); 95 } 96 }; 97 spawnAjastin.Start(); 98 } 99 void Lisaazombi(Vector paikka, double leveys, double korkeus) 100 { 101 Hahmo zombi = new Hahmo(leveys, korkeus, round.Value); 102 zombi.Position = paikka; 103 zombi.Image = this.zombi; 104 zombi.Tag = "zombi"; 105 Add(zombi); 106 107 PlatformWandererBrain tasoAivot = new PlatformWandererBrain(); 108 tasoAivot.Speed = 100; 109 tasoAivot.TriesToJump = true; 110 tasoAivot.JumpSpeed = 1000; 111 112 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 113 seuraajanAivot.Speed = 300; 114 seuraajanAivot.DistanceFar = 800; 115 seuraajanAivot.FarBrain = tasoAivot; 116 117 zombi.Brain = seuraajanAivot; 65 118 } 66 119 67 120 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 68 121 { 69 pelaaja1 = new PlatformCharacter(leveys, korkeus);122 pelaaja1 = new Hahmo(leveys, korkeus, 3); 70 123 pelaaja1.Position = paikka; 71 124 pelaaja1.Mass = 4.0; 72 125 pelaaja1.Image = pelaajanKuva; 73 126 pelaaja1.Tag = "pelaaja"; 127 74 128 Add(pelaaja1); 75 129 pelaaja1.Weapon = new AssaultRifle(50, 50); 76 130 pelaaja1.Weapon.Image = asekuva; 131 pelaaja1.Weapon.FireRate = 2; 77 132 pelaaja1.Weapon.Ammo.Value = 1000; 78 133 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 134 ProgressBar elamaPalkki = new ProgressBar(150, 20); 135 elamaPalkki.X = Screen.Left + 150; 136 elamaPalkki.Y = Screen.Top - 20; 137 elamaPalkki.BindTo(pelaaja1.ElamaLaskuri); 138 Add(elamaPalkki); 139 140 valo = new GameObject(taskulamppu); 141 valo.Position = pelaaja1.Position; 142 valo.IsVisible = true; 143 Add(valo, 3); 79 144 } 80 145 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 81 146 { 82 147 ammus.Destroy(); 148 149 if (kohde is Hahmo) 150 { 151 ((Hahmo)kohde).ElamaLaskuri.Value -= 1; 152 } 83 153 } 84 154 void LisaaNappaimet() … … 89 159 Keyboard.Listen(Key.A, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 90 160 Keyboard.Listen(Key.D, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 91 Keyboard.Listen(Key. W, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);92 93 Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1);161 Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 162 163 Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 94 164 95 165 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 99 169 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 100 170 171 101 172 Mouse.ListenMovement(0.0, KuunteleLiiketta, null); 102 173 … … 107 178 { 108 179 pelaaja1.Weapon.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 180 valo.AbsoluteAngle = (Mouse.PositionOnWorld - pelaaja1.Position).Angle; 181 182 tahtain.Position = Mouse.PositionOnWorld; 183 } 184 185 protected override void Update(Time time) 186 { 187 valo.Position = pelaaja1.Position; 188 base.Update(time); 109 189 } 110 190 … … 130 210 } 131 211 212 void LuoAikaLaskuri() 213 { 214 Timer aikaLaskuri = new Timer(); 215 aikaLaskuri.Start(); 216 217 Label aikaNaytto = new Label(); 218 aikaNaytto.TextColor = Color.White; 219 aikaNaytto.DecimalPlaces = 1; 220 aikaNaytto.BindTo(aikaLaskuri.SecondCounter); 221 Add(aikaNaytto); 222 aikaNaytto.Position = new Vector(930, -470); 223 } 224 225 void LuoroundLaskuri() 226 { 227 Timer aikaLaskuri = new Timer(); 228 aikaLaskuri.Interval = 30; 229 aikaLaskuri.Timeout += delegate { round.Value += 1; }; 230 aikaLaskuri.Start(); 231 232 Label roundNaytto = new Label(); 233 roundNaytto.TextColor = Color.White; 234 roundNaytto.DecimalPlaces = 1; 235 roundNaytto.BindTo(round); 236 //roundNaytto.Position = new Vector(930, -470); 237 Add(roundNaytto); 238 239 } 240 241 void LuoVihollinen(Vector paikka, double leveys, double korkeus) 242 { 243 PhysicsObject vihollinen = new PhysicsObject(leveys, korkeus); 244 vihollinen.Position = paikka; 245 vihollinen.Tag = "zombi"; 246 Add(vihollinen); 247 } 248 132 249 } -
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/ZombiSurvi.csproj.Debug.cachefile
r7562 r7575 7 7 Content\panos.xnb 8 8 Content\zombi.xnb 9 Content\lampu.xnb 10 Content\crosshairs_144.xnb 11 Content\maakivi.xnb 12 Content\ruoho.xnb 13 Content\dramaattinenmaa.xnb -
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/ContentPipeline-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}.xml
r7562 r7575 45 45 <Options>None</Options> 46 46 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\kenttä1.xnb</Output> 47 <Time>2016-06-2 8T14:15:20.1236529+03:00</Time>47 <Time>2016-06-29T14:50:08.3223215+03:00</Time> 48 48 </Item> 49 49 <Item> … … 73 73 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\zombi.xnb</Output> 74 74 <Time>2016-06-28T14:57:28.6883466+03:00</Time> 75 </Item> 76 <Item> 77 <Source>lampu.png</Source> 78 <Name>lampu</Name> 79 <Importer>TextureImporter</Importer> 80 <Processor>TextureProcessor</Processor> 81 <Options>None</Options> 82 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\lampu.xnb</Output> 83 <Time>2016-06-29T13:35:13.020599+03:00</Time> 84 </Item> 85 <Item> 86 <Source>crosshairs_144.png</Source> 87 <Name>crosshairs_144</Name> 88 <Importer>TextureImporter</Importer> 89 <Processor>TextureProcessor</Processor> 90 <Options>None</Options> 91 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\crosshairs_144.xnb</Output> 92 <Time>2016-06-29T13:40:46.8074407+03:00</Time> 93 </Item> 94 <Item> 95 <Source>maakivi.jpg</Source> 96 <Name>maakivi</Name> 97 <Importer>TextureImporter</Importer> 98 <Processor>TextureProcessor</Processor> 99 <Options>None</Options> 100 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\maakivi.xnb</Output> 101 <Time>2016-06-29T14:16:14.5588285+03:00</Time> 102 </Item> 103 <Item> 104 <Source>ruoho.jpg</Source> 105 <Name>ruoho</Name> 106 <Importer>TextureImporter</Importer> 107 <Processor>TextureProcessor</Processor> 108 <Options>None</Options> 109 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\ruoho.xnb</Output> 110 <Time>2016-06-29T14:16:26.6831065+03:00</Time> 111 </Item> 112 <Item> 113 <Source>dramaattinenmaa.jpg</Source> 114 <Name>dramaattinenmaa</Name> 115 <Importer>TextureImporter</Importer> 116 <Processor>TextureProcessor</Processor> 117 <Options>None</Options> 118 <Output>C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\dramaattinenmaa.xnb</Output> 119 <Time>2016-06-29T14:27:07.1569257+03:00</Time> 75 120 </Item> 76 121 <BuildSuccessful>true</BuildSuccessful> -
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/ZombiSurvi.csproj.FileListAbsolute.txt
r7562 r7575 15 15 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\panos.xnb 16 16 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\zombi.xnb 17 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\lampu.xnb 18 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\crosshairs_144.xnb 19 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\maakivi.xnb 20 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\ruoho.xnb 21 C:\MyTemp\RasmusL\ZombiSurvi\ZombiSurvi\ZombiSurvi\bin\x86\Debug\Content\dramaattinenmaa.xnb -
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurvi/obj/x86/Debug/cachefile-{FB1067CC-FEED-45F1-8CB8-8F3DD59AB260}-targetpath.txt
r7562 r7575 7 7 Content\panos.xnb 8 8 Content\zombi.xnb 9 Content\lampu.xnb 10 Content\crosshairs_144.xnb 11 Content\maakivi.xnb 12 Content\ruoho.xnb 13 Content\dramaattinenmaa.xnb -
2016/26/RasmusL/ZombiSurvi/ZombiSurvi/ZombiSurviContent/ZombiSurviContent.contentproj
r7562 r7575 97 97 </Compile> 98 98 </ItemGroup> 99 <ItemGroup> 100 <Compile Include="lampu.png"> 101 <Name>lampu</Name> 102 <Importer>TextureImporter</Importer> 103 <Processor>TextureProcessor</Processor> 104 </Compile> 105 </ItemGroup> 106 <ItemGroup> 107 <Compile Include="crosshairs_144.png"> 108 <Name>crosshairs_144</Name> 109 <Importer>TextureImporter</Importer> 110 <Processor>TextureProcessor</Processor> 111 </Compile> 112 </ItemGroup> 113 <ItemGroup> 114 <Compile Include="maakivi.jpg"> 115 <Name>maakivi</Name> 116 <Importer>TextureImporter</Importer> 117 <Processor>TextureProcessor</Processor> 118 </Compile> 119 </ItemGroup> 120 <ItemGroup> 121 <Compile Include="ruoho.jpg"> 122 <Name>ruoho</Name> 123 <Importer>TextureImporter</Importer> 124 <Processor>TextureProcessor</Processor> 125 </Compile> 126 </ItemGroup> 127 <ItemGroup> 128 <Compile Include="dramaattinenmaa.jpg"> 129 <Name>dramaattinenmaa</Name> 130 <Importer>TextureImporter</Importer> 131 <Processor>TextureProcessor</Processor> 132 </Compile> 133 </ItemGroup> 99 134 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 100 135 <!-- 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.