Changeset 1463 for 2010/30/aneesavi/Cyb0rg-City
- Timestamp:
- 2010-07-30 13:02:19 (10 years ago)
- Location:
- 2010/30/aneesavi/Cyb0rg-City
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/aneesavi/Cyb0rg-City/Content/Content.contentproj
r1419 r1463 75 75 </Compile> 76 76 </ItemGroup> 77 <ItemGroup> 78 <Compile Include="Ase2.png"> 79 <Name>Ase2</Name> 80 <Importer>TextureImporter</Importer> 81 <Processor>TextureProcessor</Processor> 82 </Compile> 83 </ItemGroup> 77 84 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 78 85 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
2010/30/aneesavi/Cyb0rg-City/Cyb0rg-City.csproj
r1388 r1463 69 69 <Private>False</Private> 70 70 </Reference> 71 <Reference Include="System.Data" /> 71 72 <Reference Include="System.Xml"> 72 73 <Private>False</Private> … … 82 83 </ItemGroup> 83 84 <ItemGroup> 85 <Compile Include="Pelihahmo.cs" /> 84 86 <Compile Include="Properties\AssemblyInfo.cs" /> 85 87 <Compile Include="Ohjelma.cs" /> -
2010/30/aneesavi/Cyb0rg-City/Ohjelma.cs
r1388 r1463 1 1 using System; 2 2 3 static class Ohjelma 3 namespace Cyb0rg_City 4 4 { 5 static void Main(string[] args) 5 6 static class Ohjelma 6 7 { 7 using (Tasohyppely peli = new Tasohyppely())8 static void Main(string[] args) 8 9 { 10 using (Tasohyppely peli = new Tasohyppely()) 11 { 9 12 #if !DEBUG 10 13 peli.IsFullScreen = true; 11 14 #endif 12 peli.Run(); 15 peli.Run(); 16 } 13 17 } 14 18 } -
2010/30/aneesavi/Cyb0rg-City/Peli.cs
r1419 r1463 6 6 using Jypeli.Effects; 7 7 8 9 10 class Tasohyppely : PhysicsGame 8 namespace Cyb0rg_City 11 9 { 12 const double nopeus = 500; 13 const double hyppyVoima = 4000; 14 DoubleMeter energiaMittari; 15 16 PlatformCharacter pelaaja1; 17 Image seppo = LoadImage("Seppo"); 18 PlatformCharacter vihollinen; 19 Image Evil = LoadImage("Evil"); 20 Image Ase1 = LoadImage("Ase1"); 21 const int ruudunLeveys = 50; 22 const int ruudunKorkeus = 50; 23 24 List<PlatformCharacter> viholliset; 25 ExplosionSystem rajahdys; 26 27 protected override void Begin() 10 class Tasohyppely : PhysicsGame 28 11 { 29 viholliset = new List<PlatformCharacter>(); 30 rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 200); 31 Add(rajahdys); 32 33 Gravity = new Vector(0, -1000); 34 35 luoKentta(); 36 lisaaNappaimet(); 37 LisaaVihollisenEnergiapalkki(); 38 39 Camera.Follow(pelaaja1); 40 Camera.ZoomFactor = 1.0; 41 //Camera.StayInLevel = true; 42 } 43 44 void luoKentta() 45 { 46 TileMap ruudut = TileMap.FromFile("kentta.txt"); 47 ruudut['='] = LuoPalikka; 48 ruudut['1'] = LuoPelaaja; 49 ruudut['x'] = LuoLaakepaketti; 50 ruudut['2'] = Luovihollinen; 51 ruudut.Insert(ruudunLeveys, ruudunKorkeus); 52 } 53 54 PhysicsObject LuoPalikka() 55 { 56 PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus); 57 return palikka; 58 } 59 60 PhysicsObject LuoLaakepaketti() 61 { 62 // tämä aliohjelma ei ole vielä valmis... 63 PhysicsObject laakepaketti = new PhysicsObject(50, 50); 64 return laakepaketti; 65 } 66 67 68 PhysicsObject LuoPelaaja() 69 { 70 pelaaja1 = new PlatformCharacter(125, 125); 71 pelaaja1.Mass = 4.0; 72 pelaaja1.Image = seppo; 73 pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo)); 74 pelaaja1.RightWalkingAnimation = new Animation(seppo); 75 pelaaja1.Weapon = new AssaultRifle(150, 50); 76 pelaaja1.Weapon.Size = new Vector(230, 100); 77 pelaaja1.Weapon.Image = Ase1; 78 return pelaaja1; 79 } 80 81 void lisaaNappaimet() 82 { 83 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 84 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 85 86 Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 87 Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 88 Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 89 Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 90 91 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 92 93 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 94 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 95 ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima); 96 } 97 98 void Ammu() 99 { 100 PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 101 if (ammus != null) 102 { 103 ammus.Size *= 6; 104 ammus.Velocity *= 4; 105 rajahdys.MinLifetime = 0.1; 106 rajahdys.MaxLifetime = 0.2; 107 rajahdys.MinVelocity = 1; 108 rajahdys.MaxVelocity = 100; 109 rajahdys.MinScale = 0.05; 110 rajahdys.MaxScale = 0.1; 111 112 double x = ammus.X; 113 if (pelaaja1.FacingDirection == Direction.Left) 114 { 115 x -= 60; 116 } 117 118 if (pelaaja1.FacingDirection == Direction.Right) 119 { 120 x += 60; 121 } 122 123 rajahdys.AddEffect(x, ammus.Y, 20); 124 125 AddCollisionHandler(ammus, AmmusOsui); 126 } 127 } 128 129 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 130 { 131 if (kohde == vihollinen) 132 { 133 VahennaVihollisenVoimia(); 134 } 135 } 136 137 void liikuta(PlatformCharacter hahmo, double nopeus) 138 { 139 hahmo.Walk(nopeus); 140 if (nopeus < 0) 141 { 142 hahmo.Weapon.Image = Image.Flip(Ase1); 143 } 144 else 145 hahmo.Weapon.Image = Ase1; 146 147 } 148 149 void hyppaa(PlatformCharacter hahmo, double voima) 150 { 151 hahmo.Jump(voima); 152 } 153 154 PhysicsObject Luovihollinen() 155 { 156 vihollinen = new PlatformCharacter(200, 200, Shapes.Circle); 157 vihollinen.Mass = 2.0; 158 vihollinen.Image = Evil; 159 vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil)); 160 vihollinen.RightWalkingAnimation = new Animation(Evil); 161 viholliset.Add(vihollinen); 162 return vihollinen; 163 } 164 165 protected override void Update(Time time) 166 { 167 base.Update(time); 168 foreach (PlatformCharacter vihollinen in viholliset) 169 { 170 if (pelaaja1.X < vihollinen.X) 171 { 172 vihollinen.Walk(-200); 173 } 174 175 if (pelaaja1.X > vihollinen.X) 176 { 177 vihollinen.Walk(200); 178 } 179 } 180 } 181 182 183 void LisaaVihollisenEnergiapalkki() 184 { 185 energiaMittari = new DoubleMeter(5); 186 energiaMittari.MaxValue = 5; 187 energiaMittari.MinValue = 0; 188 BarGauge voimaPalkki = new BarGauge(20, 150); 189 voimaPalkki.BindTo(energiaMittari); 190 Add(voimaPalkki); 191 192 voimaPalkki.X = (0.8 * Screen.RightSafe); 193 voimaPalkki.Y = (0.8 * Screen.TopSafe); 194 voimaPalkki.BarColor = Color.Green; 195 voimaPalkki.BorderColor = Color.Red; 196 voimaPalkki.Angle = Angle.Degrees(90); 197 198 // Kun voima loppuu, kutsutaan VoimaLoppui-aliohjelmaa 199 energiaMittari.LowerLimit += VihollinenKuolee; 200 } 201 202 void VahennaVihollisenVoimia() 203 { 204 energiaMittari.Value--; 205 } 206 207 void VihollinenKuolee(double mittarinArvo) 208 { 209 MessageDisplay.Add("Vihollinen kuoli"); 210 rajahdys.MinScale = 0.2; 211 rajahdys.MaxScale = 1; 212 rajahdys.MinLifetime = 0.2; 213 rajahdys.MaxLifetime = 1.5; 214 rajahdys.MinVelocity = 100; 215 rajahdys.MaxVelocity = 400; 216 rajahdys.AddEffect(vihollinen.X, vihollinen.Y, 100); 217 vihollinen.Destroy(); 218 12 const double nopeus = 500; 13 const double hyppyVoima = 4000; 14 15 PlatformCharacter pelaaja1; 16 Image seppo = LoadImage("Seppo"); 17 Image Ase2 = LoadImage("Ase2"); 18 19 Image Evil = LoadImage("Evil"); 20 Image Ase1 = LoadImage("Ase1"); 21 const int ruudunLeveys = 50; 22 const int ruudunKorkeus = 50; 23 24 List<Pelihahmo> viholliset; 25 List<DoubleMeter> energiamittarit; 26 27 ExplosionSystem rajahdys; 28 29 protected override void Begin() 30 { 31 viholliset = new List<Pelihahmo>(); 32 energiamittarit = new List<DoubleMeter>(); 33 rajahdys = new ExplosionSystem(LoadImage("rajahdys"), 200); 34 Add(rajahdys); 35 36 Gravity = new Vector(0, -1000); 37 38 luoKentta(); 39 lisaaNappaimet(); 40 41 Camera.Follow(pelaaja1); 42 Camera.ZoomFactor = 1.0; 43 //Camera.StayInLevel = true; 44 } 45 46 void luoKentta() 47 { 48 TileMap ruudut = TileMap.FromFile("kentta.txt"); 49 ruudut['='] = LuoPalikka; 50 ruudut['1'] = LuoPelaaja; 51 ruudut['x'] = LuoLaakepaketti; 52 ruudut['2'] = Luovihollinen; 53 ruudut.Insert(ruudunLeveys, ruudunKorkeus); 54 } 55 56 PhysicsObject LuoPalikka() 57 { 58 PhysicsObject palikka = PhysicsObject.CreateStaticObject(ruudunLeveys, ruudunKorkeus); 59 return palikka; 60 } 61 62 PhysicsObject LuoLaakepaketti() 63 { 64 // tämä aliohjelma ei ole vielä valmis... 65 PhysicsObject laakepaketti = new PhysicsObject(50, 50); 66 return laakepaketti; 67 } 68 69 70 PhysicsObject LuoPelaaja() 71 { 72 pelaaja1 = new PlatformCharacter(125, 125); 73 pelaaja1.Mass = 4.0; 74 pelaaja1.Image = seppo; 75 pelaaja1.LeftWalkingAnimation = new Animation(Image.Mirror(seppo)); 76 pelaaja1.RightWalkingAnimation = new Animation(seppo); 77 78 AssaultRifle ase = new AssaultRifle(150, 50); 79 ase.Ammo.Value = 100000; 80 81 pelaaja1.Weapon = ase; 82 pelaaja1.Weapon.Size = new Vector(230, 100); 83 pelaaja1.Weapon.Image = Ase1; 84 return pelaaja1; 85 } 86 87 void lisaaNappaimet() 88 { 89 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 90 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, "Poistu pelistä"); 91 92 Keyboard.Listen(Key.A, ButtonState.Down, liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 93 Keyboard.Listen(Key.D, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 94 Keyboard.Listen(Key.W, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 95 Keyboard.Listen(Key.Space, ButtonState.Down, Ammu, "Ammu"); 96 97 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 98 99 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 100 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 101 ControllerOne.Listen(Button.A, ButtonState.Pressed, hyppaa, "Pelaaja hyppää", pelaaja1, hyppyVoima); 102 } 103 104 void Ammu() 105 { 106 PhysicsObject ammus = pelaaja1.Weapon.Shoot(); 107 if (ammus != null) 108 { 109 ammus.Size *= 5; 110 ammus.Velocity *= 12; 111 rajahdys.MinLifetime = 0.1; 112 rajahdys.MaxLifetime = 0.2; 113 rajahdys.MinVelocity = 1; 114 rajahdys.MaxVelocity = 200; 115 rajahdys.MinScale = 0.05; 116 rajahdys.MaxScale = 0.1; 117 118 double x = ammus.X; 119 if (pelaaja1.FacingDirection == Direction.Left) 120 { 121 x -= 60; 122 } 123 124 if (pelaaja1.FacingDirection == Direction.Right) 125 { 126 x += 60; 127 } 128 129 rajahdys.AddEffect(x, ammus.Y, 20); 130 131 AddCollisionHandler(ammus, AmmusOsui); 132 } 133 } 134 135 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 136 { 137 if (kohde.Tag.ToString() == "vihollinen") 138 { 139 VahennaVihollisenVoimia((Pelihahmo)kohde); 140 } 141 } 142 143 void liikuta(PlatformCharacter hahmo, double nopeus) 144 { 145 hahmo.Walk(nopeus); 146 if (nopeus < 0) 147 { 148 hahmo.Weapon.Image = Image.Flip(Ase1); 149 } 150 else 151 hahmo.Weapon.Image = Ase1; 152 153 } 154 155 void hyppaa(PlatformCharacter hahmo, double voima) 156 { 157 hahmo.Jump(voima); 158 } 159 160 PhysicsObject Luovihollinen() 161 { 162 Pelihahmo vihollinen = new Pelihahmo(200, 200); 163 vihollinen.Shape = Shapes.Circle; 164 vihollinen.Mass = 5.0; 165 vihollinen.Image = Evil; 166 vihollinen.LeftWalkingAnimation = new Animation(Image.Mirror(Evil)); 167 vihollinen.RightWalkingAnimation = new Animation(Evil); 168 viholliset.Add(vihollinen); 169 vihollinen.AsetaHP(5); 170 vihollinen.Tag = "vihollinen"; 171 172 AssaultRifle ase = new AssaultRifle(150, 50); 173 ase.Ammo.Value = 100000; 174 vihollinen.Weapon = ase; 175 vihollinen.Weapon.Size = new Vector(230, 100); 176 vihollinen.Weapon.Image = Ase2; 177 178 Timer ajastin = new Timer(); 179 ajastin.Interval = 0.15; 180 ajastin.Trigger += VihollinenAmpuu; 181 ajastin.Tag = vihollinen; 182 ajastin.Start(); 183 184 185 return vihollinen; 186 } 187 188 protected override void Update(Time time) 189 { 190 base.Update(time); 191 foreach (PlatformCharacter vihollinen in viholliset) 192 { 193 if (pelaaja1.X < vihollinen.X) 194 { 195 vihollinen.Walk(-200); 196 } 197 198 if (pelaaja1.X > vihollinen.X) 199 { 200 vihollinen.Walk(200); 201 } 202 } 203 } 204 205 void VahennaVihollisenVoimia(Pelihahmo hahmo) 206 { 207 hahmo.AsetaHP(hahmo.AnnaHP() - 1); 208 209 if (hahmo.AnnaHP() < 1) 210 { 211 hahmo.Destroy(); 212 MessageDisplay.Add("Vihollinen kuoli"); 213 rajahdys.MinScale = 0.2; 214 rajahdys.MaxScale = 1; 215 rajahdys.MinLifetime = 0.2; 216 rajahdys.MaxLifetime = 1.5; 217 rajahdys.MinVelocity = 100; 218 rajahdys.MaxVelocity = 400; 219 rajahdys.AddEffect(hahmo.X, hahmo.Y, 100); 220 } 221 } 222 223 void VihollinenAmpuu(Timer lauennutAjastin) 224 { 225 Pelihahmo vihollinen = lauennutAjastin.Tag as Pelihahmo; 226 PhysicsObject ammus = vihollinen.Weapon.Shoot(); 227 if (ammus != null) 228 { 229 ammus.Tag = "vihollisenAmmus"; 230 ammus.Size *= 5; 231 ammus.Velocity *= 12; 232 233 } 234 } 235 219 236 } 220 237 } -
2010/30/aneesavi/Cyb0rg-City/kentta.txt
r1419 r1463 1 = = 2 = = 3 = = 4 = = 5 = = 6 = = 7 = = 8 = = 9 = = 10 = = 11 = = 12 = = 13 = = 14 = = 15 = 2 = 16 = 1 = 17 = = 18 ========================================================================================================= 1 = ================================================================================================================= = 2 = = 3 = = 4 = = 5 = = 6 = = 7 = = 8 = = 9 = x = 10 = === = 11 = x = 12 = === x = 13 = x ==== 2 = 14 = ===== === = 15 = x 2 = 16 = === ==== = 17 = 2 = 18 = 2 === = 19 = === = 20 = x = 21 = x2 === = 22 = ===== = 23 = 2 2 2 2 = 24 = 1 = 25 = = 26 ===================================================================================================================
Note: See TracChangeset
for help on using the changeset viewer.