Changeset 2080
- Timestamp:
- 2011-06-17 09:41:27 (12 years ago)
- Location:
- 2011/24/EliasY/Pixel Quest/Pixel Quest
- Files:
-
- 5 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel Quest/Peli.cs
r2035 r2080 14 14 Image tiematsku = LoadImage("Tiematsku"); 15 15 Image hallitsijankuva = LoadImage("Hallitsija"); 16 Image vihollinen = LoadImage("Vihu"); 17 Image paahivollinen = LoadImage("Paavihu"); 18 Image paatalo = LoadImage("Paatalo"); 19 Image paatalo_katto_kuva = LoadImage("Paatalo_katto"); 20 Image talokuva = LoadImage("Talo"); 16 21 PhysicsObject Pelaaja; 17 22 PhysicsObject hallitsija; 23 PhysicsObject vihu; 24 PhysicsObject paavihu; 25 PhysicsObject paatalo_katto; 26 PhysicsObject paatalo_vasen_seina; 27 PhysicsObject paatalo_yla_seina; 28 PhysicsObject paatalo_oikea_seina; 29 PhysicsObject paatalo_ala_seina; 30 PhysicsObject Talo; 31 GameObject Paatalo_pohja; 18 32 GameObject tie; 19 33 Vector ylos = new Vector(0, 200); 34 int pelinkulku = 0; 35 int pelaajanelamat = 5; 20 36 public override void Begin() 21 37 { 22 38 LuoKentta(); 39 40 Timer elamanpalautus = new Timer(); 41 elamanpalautus.Interval = 10; 42 elamanpalautus.Trigger += delegate(Timer sender) 43 { 44 if (pelaajanelamat < 5) 45 { 46 pelaajanelamat += 1; 47 } 48 MessageDisplay.Add("Elämät:" + pelaajanelamat); 49 }; 50 elamanpalautus.Start(); 23 51 } 24 52 void LuoKentta() … … 26 54 Level.Width = 2000; 27 55 Level.Height = 2000; 28 Level.CreateBorders( );56 Level.CreateBorders(0.1, false); 29 57 Camera.ZoomFactor = 5.0; 58 Level.BackgroundColor = Color.Black; 30 59 Level.Background.Image = Tausta; 31 60 Level.Background.FitToLevel(); 32 61 62 MessageDisplay.TextColor = Color.LightBlue; 63 64 IsFullScreen = true; 33 65 34 66 LuoTie(1600, 30, 0, 0); … … 43 75 Camera.Follow(Pelaaja); 44 76 77 LuoKyla(0, 200); 45 78 LuoOlennot(); 46 79 } … … 67 100 Pelaaja.Shape = Shape.FromImage(pelaajankuva); 68 101 Pelaaja.CanRotate = false; 102 AddCollisionHandler(Pelaaja, Tormays); 69 103 Add(Pelaaja); 70 104 LuoLiikunta(); … … 73 107 { 74 108 Keyboard.Listen(Key.W, ButtonState.Pressed, LiikuYlos, "Liikuta Pelaajaa ylös."); 75 Keyboard.Listen(Key.W, ButtonState.Released, Pysayta , null);109 Keyboard.Listen(Key.W, ButtonState.Released, PysaytaY, null); 76 110 Keyboard.Listen(Key.S, ButtonState.Pressed, LiikuAlas, "Liikuta Pelaajaa alas."); 77 Keyboard.Listen(Key.S, ButtonState.Released, Pysayta , null);111 Keyboard.Listen(Key.S, ButtonState.Released, PysaytaY, null); 78 112 Keyboard.Listen(Key.A, ButtonState.Pressed, LiikuVasemmalle, "Liikuta Pelaajaa vasemmalle."); 79 Keyboard.Listen(Key.A, ButtonState.Released, Pysayta , null);113 Keyboard.Listen(Key.A, ButtonState.Released, PysaytaX, null); 80 114 Keyboard.Listen(Key.D, ButtonState.Pressed, LiikuOikealle, "Liikuta Pelaajaa oikealle."); 81 Keyboard.Listen(Key.D, ButtonState.Released, Pysayta , null);115 Keyboard.Listen(Key.D, ButtonState.Released, PysaytaX, null); 82 116 Keyboard.Listen(Key.M, ButtonState.Pressed, Kartta, "Näytä kartta"); 83 117 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu"); … … 86 120 { 87 121 hallitsija = new PhysicsObject(10,10); 88 //hallitsija.Shape = Shape.FromImage(hallitsijankuva);122 hallitsija.Shape = Shape.FromImage(hallitsijankuva); 89 123 hallitsija.Image = hallitsijankuva; 90 hallitsija.X = -100; 91 hallitsija.Y = 100; 92 hallitsija.LinearDamping = 0.7; 124 hallitsija.X = -50; 125 hallitsija.Y = 30; 126 hallitsija.LinearDamping = 0.6; 127 hallitsija.Tag = "hallitsija"; 128 hallitsija.Angle = Angle.FromDegrees(180); 93 129 hallitsija.CanRotate = false; 94 //Tee kääntymisenesto95 130 Add(hallitsija); 96 131 } 132 void LuoKyla(double paatalonsijaintiX, double paatalonsijaintiY) 133 { 134 Paatalo_pohja = new GameObject(200, 200); 135 Paatalo_pohja.X = paatalonsijaintiX; 136 Paatalo_pohja.Y = paatalonsijaintiY; 137 Paatalo_pohja.Image = paatalo; 138 139 paatalo_yla_seina = PhysicsObject.CreateStaticObject(200, 10); 140 paatalo_yla_seina.X = paatalonsijaintiX; 141 paatalo_yla_seina.Y = paatalonsijaintiY += 97; 142 paatalo_yla_seina.IsVisible = false; 143 144 paatalo_vasen_seina = PhysicsObject.CreateStaticObject(10, 200); 145 paatalo_vasen_seina.X = paatalonsijaintiX -= 97; 146 paatalo_vasen_seina.Y = paatalonsijaintiY -= 97; 147 paatalo_vasen_seina.IsVisible = false; 148 149 paatalo_oikea_seina = PhysicsObject.CreateStaticObject(10, 200); 150 paatalo_oikea_seina.X = paatalonsijaintiX += 194; 151 paatalo_oikea_seina.Y = paatalonsijaintiY -= 0; 152 paatalo_oikea_seina.IsVisible = false; 153 154 paatalo_ala_seina = PhysicsObject.CreateStaticObject(148, 10); 155 paatalo_ala_seina.X = paatalonsijaintiX -= 70; 156 paatalo_ala_seina.Y = paatalonsijaintiY -= 95; 157 paatalo_ala_seina.IsVisible = false; 158 159 Add(paatalo_ala_seina); 160 Add(paatalo_oikea_seina); 161 Add(paatalo_vasen_seina); 162 Add(paatalo_yla_seina); 163 Add(Paatalo_pohja,-1); 164 165 LuoTalo(paatalonsijaintiX - 50, paatalonsijaintiY + 250); 166 LuoTalo(paatalonsijaintiX - 200, paatalonsijaintiY + 150); 167 LuoTalo(paatalonsijaintiX + 140, paatalonsijaintiY + 120); 168 LuoTalo(paatalonsijaintiX - 180, paatalonsijaintiY - 10); 169 LuoTalo(paatalonsijaintiX - 100, paatalonsijaintiY - 150); 170 171 LuoViholliset(Paatalo_pohja.X - 75, Paatalo_pohja.Y - 150); 172 } 173 void LuoTalo(double x, double y) 174 { 175 Talo = PhysicsObject.CreateStaticObject(70, 70); 176 Talo.Image = talokuva; 177 Talo.X = x; 178 Talo.Y = y; 179 Add(Talo); 180 } 181 void LuoViholliset(double x, double y) 182 { 183 FollowerBrain vihunaivot = new FollowerBrain(); 184 vihunaivot.Target = Pelaaja; 185 vihunaivot.TargetFollowDistance = 100; 186 vihunaivot.Speed = 70; 187 vihunaivot.TargetCloseDistance = 15; 188 vihunaivot.TargetClose += Damage1; 189 vihunaivot.Active = true; 190 191 vihu = new PhysicsObject(15, 15); 192 vihu.Image = vihollinen; 193 vihu.Brain = vihunaivot; 194 vihu.X = x + RandomGen.NextDouble(-40, 40); 195 vihu.Y = y + RandomGen.NextDouble(-40, 40); 196 197 Add(vihu); 198 } 199 #region Liikunta 97 200 void LiikuYlos() 98 201 { … … 119 222 Pelaaja.Hit(oikealle); 120 223 } 121 void Pysayta() 122 { 123 Pelaaja.Velocity = Vector.Zero; 124 } 224 void PysaytaY() 225 { 226 Pelaaja.StopVertical(); 227 } 228 void PysaytaX() 229 { 230 Pelaaja.StopHorizontal(); 231 } 232 #endregion 125 233 void Kartta() 126 234 { 127 235 if (Camera.ZoomFactor >= 5.0) 128 236 { 129 Camera.ZoomFactor = 1.0;130 } 131 else if (Camera.ZoomFactor <= 1.0)237 Camera.ZoomFactor = 0.5; 238 } 239 else if (Camera.ZoomFactor <= 5.0) 132 240 { 133 241 Camera.ZoomFactor = 5.0; 134 242 } 135 243 } 244 void Tormays(PhysicsObject pelaaja, PhysicsObject kohde) 245 { 246 if (kohde.Tag.ToString() == "hallitsija") 247 { 248 if (pelinkulku == 0) 249 { 250 MessageDisplay.Add("Hallitsija: Lähde matkaan, ja valtaa takaisin erilaisten olioiden hallussaan pitämät kylät!"); 251 MessageDisplay.Add("Sinun kannattaa aloittaa kylien valtaaminen lähtemällä länteen."); 252 pelinkulku++; 253 } 254 if (pelinkulku == 1) 255 { 256 257 } 258 if (pelinkulku == 2) 259 { 260 MessageDisplay.Add("Hallitsija: Kiitos, olet vallannut ensimmäisen kylän takaisin!Se ei kuitenkaan vielä riitä..."); 261 } 262 if (pelinkulku == 3) 263 { 264 MessageDisplay.Add("Hallitsija: Hyvää työtä, mutta kyliä on silti vielä valtaamatta."); 265 } 266 } 267 } 268 void Damage1(object lahettajaAivot, EventArgs e) 269 { 270 pelaajanelamat -= 1; 271 MessageDisplay.Add("Elämät" + pelaajanelamat); 272 if (pelaajanelamat == 0) 273 { 274 Pelaaja.Destroy(); 275 MessageDisplay.Add("KUOLIT!!! Peli alkoi uudestaan."); 276 } 277 } 136 278 } -
2011/24/EliasY/Pixel Quest/Pixel Quest/Pixel QuestContent/Pixel QuestContent.contentproj
r2035 r2080 77 77 </Compile> 78 78 </ItemGroup> 79 <ItemGroup> 80 <Compile Include="Paatalo.bmp"> 81 <Name>Paatalo</Name> 82 <Importer>TextureImporter</Importer> 83 <Processor>TextureProcessor</Processor> 84 </Compile> 85 <Compile Include="Paatalo_katto.bmp"> 86 <Name>Paatalo_katto</Name> 87 <Importer>TextureImporter</Importer> 88 <Processor>TextureProcessor</Processor> 89 </Compile> 90 <Compile Include="Paavihu.bmp"> 91 <Name>Paavihu</Name> 92 <Importer>TextureImporter</Importer> 93 <Processor>TextureProcessor</Processor> 94 </Compile> 95 <Compile Include="Vihu.bmp"> 96 <Name>Vihu</Name> 97 <Importer>TextureImporter</Importer> 98 <Processor>TextureProcessor</Processor> 99 </Compile> 100 </ItemGroup> 101 <ItemGroup> 102 <Compile Include="Talo.bmp"> 103 <Name>Talo</Name> 104 <Importer>TextureImporter</Importer> 105 <Processor>TextureProcessor</Processor> 106 </Compile> 107 </ItemGroup> 79 108 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 80 109 <!-- 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.