Changeset 3885 for 2012/kerho/ljov/Enter_name/Enter_name
- Timestamp:
- 2012-11-17 16:07:03 (11 years ago)
- Location:
- 2012/kerho/ljov/Enter_name/Enter_name
- Files:
-
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/kerho/ljov/Enter_name/Enter_name/Enter_name/Enter_name.cs
r3864 r3885 11 11 const int RUUDUN_KOKO = 40; 12 12 13 Hemmo hemmo;13 [Save] int Taso; 14 14 15 15 public Image pelaajanKuva = LoadImage("norsu"); … … 18 18 SoundEffect maaliAani = LoadSoundEffect("maali"); 19 19 20 Hemmo hemmo; 21 20 22 public override void Begin() 21 23 { 24 hemmo = new Hemmo(); 25 26 if (DataStorage.Exists("save.xml")) LoadGame("save.xml"); else Taso = 0; 27 22 28 Gravity = new Vector(0, -1000); 23 29 24 //Kenttä 25 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 30 Camera.Follow(hemmo); 31 Camera.ZoomFactor = 0.9; 32 Camera.StayInLevel = true; 33 34 //Kontrollit 35 Mouse.ListenMovement(0.1, hemmo.Tahtaa, ""); 36 Mouse.Listen(MouseButton.Left, ButtonState.Down, Toimi, ""); 37 Keyboard.Listen(Key.A, ButtonState.Down, Vasen, ""); 38 Keyboard.Listen(Key.D, ButtonState.Down, Oikea, ""); 39 Keyboard.Listen(Key.W, ButtonState.Pressed, Hyppy, ""); 40 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Pause, ""); 41 42 Valikko(); 43 } 44 45 public void Valikko() 46 { 47 MultiSelectWindow alku = new MultiSelectWindow("..", "Pelaa", "Kentät", "Lopeta"); 48 alku.AddItemHandler(0, Aloita); 49 50 alku.AddItemHandler(2, Exit); 51 alku.DefaultCancel = -1; 52 Add(alku); 53 } 54 55 public void Aloita() 56 { 57 LataaKentta(Taso); 58 } 59 60 void LataaKentta(int taso) 61 { 62 TileMap kentta = TileMap.FromLevelAsset(taso.ToString()); 26 63 kentta.SetTileMethod('0', LisaaTuhottava); 27 64 kentta.SetTileMethod('#', LisaaTaso); … … 31 68 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 32 69 Level.BackgroundColor = Color.Ivory; 70 } 33 71 34 //Kontrollit35 Keyboard.Listen(Key.Space, ButtonState.Down, Toimi, "Ihan turhia tälläset");36 Keyboard.Listen(Key.Left, ButtonState.Down, Vasen, "Liikkuu vasemmalle");37 Keyboard.Listen(Key.Right, ButtonState.Down, Oikea, "Liikkuu vasemmalle");38 Keyboard.Listen(Key.Up, ButtonState.Pressed, Hyppy, "Pelaaja hyppää");39 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");40 41 Camera.Follow(hemmo);42 Camera.ZoomFactor = 0.9;43 Camera.StayInLevel = true;44 45 }46 72 void LisaaTaso(Vector paikka, double leveys, double korkeus) 47 73 { … … 70 96 void LisaaLoota(Vector paikka, double leveys, double korkeus) 71 97 { 72 Tarvikelaatikko loota = new Tarvikelaatikko((int)leveys, (int)korkeus,20,20);98 Loota loota = new Loota((int)leveys, (int)korkeus,20,20); 73 99 loota.IgnoresCollisionResponse = true; 100 loota.Tag = "laatikko"; 74 101 loota.Position = paikka; 75 102 loota.Image = tahtiKuva; 76 loota.Tag = "laatikko";77 103 Add(loota, -1); 78 104 } 79 105 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 80 106 { 81 hemmo = new Hemmo();82 107 hemmo.Position = paikka; 108 if (hemmo.IsAddedToGame) 109 { 110 Remove(hemmo); 111 Remove(hemmo.Ase); 112 RemoveCollisionHandlers(hemmo, null, null, null); 113 } 83 114 Add(hemmo); 115 Add(hemmo.Ase); 84 116 AddCollisionHandler(hemmo, hemmo.kolari); 117 85 118 ProgressBar hpbar = new ProgressBar(100, 20); 86 119 hpbar.Position = new Vector(Screen.Left + 80, Screen.Top -30); 87 120 hpbar.BindTo(hemmo.hp); 88 121 Add(hpbar); 122 123 Label Ammocount = new Label(); 124 Ammocount.BindTo(hemmo.Ase.Ammo); 125 Add(Ammocount); 126 89 127 } //!!?!??!?!??!!?!??!+1 90 128 … … 102 140 void Oikea() { hemmo.Liiku(1); } 103 141 void Hyppy() { hemmo.Hyppy(); } 142 143 void Pause() 144 { 145 MultiSelectWindow pause = new MultiSelectWindow("", "Jatka", "Alkuun"); 146 pause.AddItemHandler(1, Valikko); 147 Add(pause); 148 } 149 150 public void Kuolema() 151 { 152 MultiSelectWindow kuollut = new MultiSelectWindow("Kuolit!", "Uudelleen", "Alkuun"); 153 kuollut.AddItemHandler(0, Aloita); 154 kuollut.AddItemHandler(1, Valikko); 155 Add(kuollut); 156 } 157 158 protected override void Update(Microsoft.Xna.Framework.GameTime gameTime) 159 { 160 base.Update(gameTime); //MITÄS ***** 161 if (hemmo != null)hemmo.Ase.Position = hemmo.Position; 162 } 104 163 } -
2012/kerho/ljov/Enter_name/Enter_name/Enter_name/Enter_name.csproj
r3864 r3885 113 113 </ItemGroup> 114 114 <ItemGroup> 115 <Compile Include=" Tarvikelaatikko.cs" />115 <Compile Include="Loota.cs" /> 116 116 <Compile Include="Hemmo.cs" /> 117 117 <Compile Include="Ohjelma.cs" /> -
2012/kerho/ljov/Enter_name/Enter_name/Enter_name/Hemmo.cs
r3864 r3885 11 11 public IntMeter hp = new IntMeter(40); 12 12 13 public AssaultRifle Ase; 14 bool kuollut = false; 15 13 16 const int MaxAmmo = 40; 14 17 //hp mittarilla on jo maksiarvo … … 22 25 hp.MaxValue = 40; 23 26 24 Weapon = new AssaultRifle(60, 30); 25 Weapon.Power.DefaultValue = 50; 26 Weapon.Ammo.Value = MaxAmmo; 27 Weapon.AmmoIgnoresExplosions = Weapon.AmmoIgnoresGravity = false; 28 Weapon.CanHitOwner = true; 29 Weapon.ProjectileCollision = Ase; 30 Weapon.FireRate = 0.99; 31 Weapon.X = 40; 27 this.CollisionIgnoreGroup = 1; 28 29 Ase = new AssaultRifle(60, 30); 30 Ase.Power.DefaultValue = 50; 31 Ase.Ammo.Value = MaxAmmo; 32 Ase.AmmoIgnoresExplosions = Ase.AmmoIgnoresGravity = false; 33 Ase.CanHitOwner = false; 34 Ase.ProjectileCollision = Osuma; 35 Ase.FireRate = 0.99; 36 Ase.Position = Position; 32 37 } 33 38 public void Liiku(int dir) … … 43 48 // PhysicsObject purkka = Weapon.Shoot(); 44 49 // if (purkka != null) {purkka.Destroy();} 45 Weapon.Shoot(); 50 PhysicsObject ammus = Ase.Shoot(); 51 if (ammus != null) 52 { 53 ammus.CollisionIgnoreGroup = 1; 54 } 46 55 } 47 56 48 void Ase(PhysicsObject ammus, PhysicsObject kohde)57 public void Tahtaa(AnalogState hiiri) 49 58 { 50 Explosion xplosion = new Explosion(250); 51 xplosion.Position = ammus.Position; 52 xplosion.Force = 100; 53 xplosion.ShockwaveReachesObject += Tuhoa; 54 xplosion.ShockwaveColor = new Color(0, 255, 0, 100); 55 Game.Add(xplosion); 56 ammus.Destroy(); 59 Ase.Angle = (Game.Mouse.PositionOnWorld - Ase.AbsolutePosition).Normalize().Angle*6; 60 } 61 62 void Osuma(PhysicsObject ammus, PhysicsObject kohde) 63 { 64 if (!(kohde is Loota)) 65 { 66 Explosion xplosion = new Explosion(250); 67 xplosion.Position = ammus.Position; 68 xplosion.Force = 100; 69 xplosion.ShockwaveReachesObject += Tuhoa; 70 xplosion.ShockwaveColor = new Color(0, 255, 0, 100); 71 Game.Add(xplosion); 72 ammus.Destroy(); 73 } 57 74 } 58 75 void Tuhoa(IPhysicsObject kohde, Vector shokki) … … 61 78 { 62 79 hp.Value -= 1; 80 if (hp <= 0) 81 if 82 (!kuollut) 83 { 84 (this.Game as Enter_name).Kuolema(); 85 kuollut = true; 86 } 63 87 } 64 88 else if (kohde.Tag.ToString() == "TuhoaMinut") … … 71 95 if (kohde.Tag.ToString() == "Consequence for failure") 72 96 { 73 Game.MessageDisplay.Add("Häähää, kuolit!"); 97 if (!kuollut) 98 (this.Game as Enter_name).Kuolema(); 99 kuollut = true; 74 100 } 75 101 else if (kohde.Tag.ToString() == "laatikko") 76 102 { 77 if (kohde is Tarvikelaatikko)103 if (kohde is Loota) 78 104 { 79 Tarvikelaatikko laatikko = (Tarvikelaatikko)kohde; 80 Console.WriteLine(laatikko.Health); 105 Loota laatikko = (Loota)kohde; 106 while (laatikko.Health > 0 && hp.Value < hp.MaxValue) 107 { 108 hp.Value++; 109 laatikko.Health--; 110 } 111 while (laatikko.Ammo > 0 && Ase.Ammo < MaxAmmo) 112 { 113 Ase.Ammo.Value++; 114 laatikko.Ammo--; 115 } 116 if (laatikko.Health == 0 && laatikko.Ammo == 0) laatikko.Destroy(); 117 Game.MessageDisplay.Add("lOOTAAN OSUUTTU"); 81 118 } 82 119 } 83 120 } 84 121 } 85 -
2012/kerho/ljov/Enter_name/Enter_name/Enter_nameContent/Enter_nameContent.contentproj
r3850 r3885 62 62 </ItemGroup> 63 63 <ItemGroup> 64 <Compile Include=" kentta1.txt">65 <Name> kentta1</Name>64 <Compile Include="0.txt"> 65 <Name>0</Name> 66 66 <Importer>TextFileImporter</Importer> 67 67 <Processor>TextFileContentProcessor</Processor>
Note: See TracChangeset
for help on using the changeset viewer.