- Timestamp:
- 2013-07-23 14:36:43 (10 years ago)
- Location:
- 2013/30/RikoV/PerusPeli3/PerusPeli3
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/30/RikoV/PerusPeli3/PerusPeli3/PerusPeli3/PerusPeli3.cs
r4573 r4576 9 9 public class PerusPeli3 : PhysicsGame 10 10 { 11 AssaultRifle pelaajanAse;12 11 Image pelaajanKuva = LoadImage("poliisi1"); 13 PhysicsObject pelaaja; 12 Image vihollisenkuva = LoadImage("poliisi2"); 13 Pelaaja pelaaja; 14 14 15 15 public override void Begin() 16 { 17 alkuvalikko(); 18 } 19 20 void aloitapeli() 16 21 { 17 22 Mouse.IsCursorVisible = true; … … 32 37 } 33 38 39 void alkuvalikko() 40 { 41 MultiSelectWindow alkuValikko = new MultiSelectWindow("Alkuvalikko", "Aloita peli", "Parhaat pisteet", "Lopeta"); 42 Add(alkuValikko); 43 44 alkuValikko.AddItemHandler(0, aloitapeli); 45 //alkuValikko.AddItemHandler(1, ParhaatPisteet); 46 alkuValikko.AddItemHandler(2, Exit); 47 } 48 34 49 void KuunteleLiiketta(AnalogState hiirenTila) 35 50 { … … 48 63 ruudut.SetTileMethod(Color.Black, LuoTaso); 49 64 ruudut.SetTileMethod("4CFF00", LuoPelaaja); 65 ruudut.SetTileMethod("FF0000", luovihollinen); 50 66 ruudut.Execute(60, 60); 67 68 LuoElamaLaskuri(); 69 } 70 71 void LuoElamaLaskuri() 72 { 73 ProgressBar elamaPalkki = new ProgressBar(150, 20); 74 elamaPalkki.X = Screen.Left + 150; 75 elamaPalkki.Y = Screen.Top - 20; 76 elamaPalkki.BindTo(pelaaja.ElamaLaskuri); 77 Add(elamaPalkki); 78 } 79 80 void ElamaLoppui() 81 { 82 MessageDisplay.Add("Elämät loppuivat, voi voi."); 83 } 84 85 void luovihollinen(Vector paikka, double levelys, double korkeus) 86 { 87 Vihollinen vihollinen = new Vihollinen(levelys, korkeus); 88 vihollinen.Shape = Shape.Circle; 89 vihollinen.Position = paikka; 90 vihollinen.Image = vihollisenkuva; 91 vihollinen.LinearDamping = 0.8; 92 Add(vihollinen); 93 94 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); 95 seuraajanAivot.Speed = 300; 96 seuraajanAivot.DistanceFar = 600; 97 seuraajanAivot.DistanceClose = 200; 98 seuraajanAivot.StopWhenTargetClose = true; 99 100 vihollinen.Brain = seuraajanAivot; 51 101 } 52 102 53 103 void LuoPelaaja(Vector paikka, double levelys, double korkeus) 54 104 { 55 pelaaja = new P hysicsObject(levelys, korkeus);105 pelaaja = new Pelaaja(levelys, korkeus); 56 106 pelaaja.Shape = Shape.Circle; 57 107 pelaaja.Position = paikka; … … 59 109 pelaaja.LinearDamping = 0.8; 60 110 Add(pelaaja); 61 pelaajanAse = new AssaultRifle(30, 10); 111 pelaaja.Ase.ProjectileCollision = AmmusOsui; 112 } 62 113 63 //Ammusten määrä aluksi:64 pelaajanAse.Ammo.Value = 1000;65 66 //Mitä tapahtuu kun ammus osuu johonkin?67 pelaajanAse.ProjectileCollision = AmmusOsui;68 69 pelaaja.Add(pelaajanAse);70 }71 114 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 72 115 { … … 89 132 if (ammus != null) 90 133 { 91 ammus.Size *= 3;134 //ammus.Size *= 3; 92 135 //ammus.Image = ... 93 136 //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); 94 137 } 95 }96 138 97 139 140 141 } 98 142 } 143 144 class Pelaaja : PhysicsObject 145 { 146 private IntMeter elamaLaskuri = new IntMeter(30, 0, 30); 147 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 148 149 public AssaultRifle Ase; 150 151 public Pelaaja(double leveys, double korkeus) 152 : base(leveys, korkeus) 153 { 154 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 155 Tag = "pelaaja"; 156 157 Ase = new AssaultRifle(30, 10); 158 Ase.Ammo.Value = 1000; 159 Add(Ase); 160 } 161 } 162 163 class Vihollinen : PhysicsObject 164 { 165 private IntMeter elamaLaskuri = new IntMeter(30, 0, 30); 166 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 167 168 169 170 public Vihollinen(double leveys, double korkeus) 171 : base(leveys, korkeus) 172 { 173 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 174 } 175 } -
2013/30/RikoV/PerusPeli3/PerusPeli3/PerusPeli3Content/PerusPeli3Content.contentproj
r4573 r4576 76 76 </Compile> 77 77 </ItemGroup> 78 <ItemGroup> 79 <Compile Include="poliisi2.png"> 80 <Name>poliisi2</Name> 81 <Importer>TextureImporter</Importer> 82 <Processor>TextureProcessor</Processor> 83 </Compile> 84 </ItemGroup> 78 85 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 79 86 <!-- 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.