Changeset 4608
- Timestamp:
- 2013-07-24 10:27:15 (10 years ago)
- Location:
- 2013/30/RikoV
- Files:
-
- 3 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/30/RikoV/PerusPeli3/PerusPeli3/PerusPeli3/PerusPeli3.cs
r4601 r4608 11 11 Image pelaajanKuva = LoadImage("poliisi1"); 12 12 Image vihollisenkuva = LoadImage("poliisi2"); 13 P elaajapelaaja;13 Pyssymies pelaaja; 14 14 15 15 public override void Begin() … … 26 26 Camera.Follow(pelaaja); 27 27 28 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");28 Keyboard.Listen(Key.Escape, ButtonState.Pressed, pausevalikko, "Lopeta peli"); 29 29 30 30 Keyboard.Listen(Key.Up, ButtonState.Down, Liikutapelaajaa, "liikuttaa pelaajaa", pelaaja, new Vector(0, 30)); … … 37 37 } 38 38 39 void pausevalikko() 40 { 41 Pause(); 42 MultiSelectWindow pausevalikko = new MultiSelectWindow("taukovalikko", "Jatka peliä", "lopeta"); 43 Add(pausevalikko); 44 pausevalikko.AddItemHandler(0, Pause); 45 pausevalikko.AddItemHandler(1, alkuvalikko); 46 47 } 48 39 49 void alkuvalikko() 40 50 { 51 ClearAll(); 41 52 MultiSelectWindow alkuValikko = new MultiSelectWindow("Alkuvalikko", "Aloita peli", "Parhaat pisteet", "Lopeta"); 53 alkuValikko.DefaultCancel = 2; 42 54 Add(alkuValikko); 43 55 44 56 alkuValikko.AddItemHandler(0, aloitapeli); 45 57 //alkuValikko.AddItemHandler(1, ParhaatPisteet); … … 59 71 void Luokentta() 60 72 { 61 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta 1");73 ColorTileMap ruudut = ColorTileMap.FromLevelAsset("kentta2"); 62 74 63 75 ruudut.SetTileMethod(Color.Black, LuoTaso); … … 85 97 void luovihollinen(Vector paikka, double levelys, double korkeus) 86 98 { 87 Vihollinen vihollinen = new Vihollinen(levelys, korkeus);99 Pyssymies vihollinen = new Pyssymies(levelys, korkeus); 88 100 vihollinen.Shape = Shape.Circle; 89 101 vihollinen.Position = paikka; … … 91 103 vihollinen.LinearDamping = 0.8; 92 104 Add(vihollinen); 105 vihollinen.Ase.ProjectileCollision = AmmusOsui; 93 106 94 107 FollowerBrain seuraajanAivot = new FollowerBrain("pelaaja"); … … 99 112 100 113 vihollinen.Brain = seuraajanAivot; 114 115 Timer ajastin = new Timer(); 116 ajastin.Interval = 2.0; 117 ajastin.Timeout += delegate { 118 if (!vihollinen.IsDestroyed) 119 vihollinen.Ase.Shoot(); 120 }; 121 ajastin.Start(); 101 122 } 102 123 103 124 void LuoPelaaja(Vector paikka, double levelys, double korkeus) 104 125 { 105 pelaaja = new P elaaja(levelys, korkeus);126 pelaaja = new Pyssymies(levelys, korkeus); 106 127 pelaaja.Shape = Shape.Circle; 107 128 pelaaja.Position = paikka; 108 129 pelaaja.Image = pelaajanKuva; 109 130 pelaaja.LinearDamping = 0.8; 131 pelaaja.Tag = "pelaaja"; 110 132 Add(pelaaja); 111 133 pelaaja.Ase.ProjectileCollision = AmmusOsui; 134 pelaaja.ElamaLaskuri.LowerLimit += pelaajakuoli; 135 } 136 137 void pelaajakuoli() 138 { 139 Label teksti = new Label("Game Over"); 140 Add(teksti); 141 teksti.TextColor = Color.Red; 142 Timer.SingleShot(3, alkuvalikko); 112 143 } 113 144 … … 115 146 { 116 147 ammus.Destroy(); 148 if (kohde is Pyssymies) 149 { 150 ((Pyssymies)kohde).ElamaLaskuri.Value--; 151 } 117 152 } 118 153 … … 132 167 if (ammus != null) 133 168 { 134 ammus.Size *= 50;169 ammus.Size *= 1; 135 170 //ammus.Image = ... 136 171 //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0); … … 142 177 } 143 178 144 class P elaaja: PhysicsObject179 class Pyssymies : PhysicsObject 145 180 { 146 private IntMeter elamaLaskuri = new IntMeter( 30, 0, 30);181 private IntMeter elamaLaskuri = new IntMeter(1, 0, 30); 147 182 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 148 183 149 184 public AssaultRifle Ase; 150 185 151 public P elaaja(double leveys, double korkeus)186 public Pyssymies(double leveys, double korkeus) 152 187 : base(leveys, korkeus) 153 188 { 154 189 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 155 Tag = "pelaaja";156 190 157 191 Ase = new AssaultRifle(30, 10); … … 160 194 } 161 195 } 162 163 class Vihollinen : PhysicsObject164 {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
r4576 r4608 83 83 </Compile> 84 84 </ItemGroup> 85 <ItemGroup> 86 <Compile Include="kentta2.png"> 87 <Name>kentta2</Name> 88 <Importer>TextureImporter</Importer> 89 <Processor>TextureProcessor</Processor> 90 </Compile> 91 </ItemGroup> 85 92 <Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\$(XnaFrameworkVersion)\Microsoft.Xna.GameStudio.ContentPipeline.targets" /> 86 93 <!-- 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.