Changeset 3326
- Timestamp:
- 2012-06-28 15:01:20 (11 years ago)
- Location:
- 2012/26/JariK
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
2012/26/JariK/Jimmys adventure/Jimmys adventure/Jimmys adventure/Jimmys_adventure.cs
r3278 r3326 24 24 25 25 PhysicsObject Jimmy; 26 PhysicsObject Hemmo; 26 PhysicsObject Hemmo; 27 AssaultRifle pyssy; 28 DoubleMeter voimaMittari; 27 29 28 29 30 30 public override void Begin() 31 31 { 32 32 voimaMittari = new DoubleMeter(10); 33 voimaMittari.MaxValue = 10; 34 ProgressBar voimaPalkki = new ProgressBar(150, 10); 35 voimaPalkki.BindTo(voimaMittari); 36 Add(voimaPalkki); 37 38 voimaPalkki.X = Screen.Right - 150; 39 voimaPalkki.Y = Screen.Top - 20; 40 voimaPalkki.Angle = Angle.RightAngle; 41 voimaPalkki.BarColor = Color.Green; 42 voimaPalkki.BorderColor = Color.White; 43 voimaPalkki.Angle = Angle.FromDegrees(90); 44 // Kun voima loppuu, kutsutaan VoimaLoppui-aliohjelmaa 45 voimaMittari.LowerLimit += VoimaLoppui; 46 33 47 Gravity = new Vector(0.0, -800.0); 34 48 Surface alaReuna = Surface.CreateBottom(Level); 35 alaReuna.Y += 100;49 alaReuna.Y += 200; 36 50 Add(alaReuna); 37 51 alaReuna.Color = Color.Black; 38 Level.CreateBorders();39 52 TileMap ruudut = TileMap.FromLevelAsset ("kentta1"); 40 53 ruudut.SetTileMethod('#', LuoPalikka); … … 42 55 ruudut.SetTileMethod('M', Luomaali); 43 56 ruudut.SetTileMethod('H', luoHemmo); 57 ruudut.SetTileMethod('S', luoseina); 58 ruudut.SetTileMethod('T', luoTNT); 44 59 ruudut.Execute(20, 20); 45 60 Camera.ZoomToLevel(); 61 FollowerBrain HemmoAivot = new FollowerBrain(Jimmy); 62 HemmoAivot.Speed = 50; 63 HemmoAivot.DistanceFar = 30; 64 HemmoAivot.DistanceClose = 500; 65 HemmoAivot.StopWhenTargetClose = false; 66 HemmoAivot.TargetClose += mitaTapahtuuKunOllaanLahella; 67 Hemmo.Brain = HemmoAivot; 68 Add(Hemmo); 46 69 Keyboard.Listen(Key.Escape, ButtonState.Pressed, Exit, null); 47 Keyboard.Listen(Key.D, ButtonState.Down, liikutaJimmya, null, new Vector (8000000, 0)); 48 Keyboard.Listen(Key.A, ButtonState.Down, liikutaJimmya, null, new Vector (-8000000, 0) ); 49 Keyboard.Listen(Key.W, ButtonState.Down, liikutaJimmya, null, new Vector(0, 10000000)); 50 70 Keyboard.Listen(Key.D, ButtonState.Down, liikutaJimmya, null, new Vector (9000, 0)); 71 Keyboard.Listen(Key.A, ButtonState.Down, liikutaJimmya, null, new Vector (-9000, 0) ); 72 Keyboard.Listen(Key.W, ButtonState.Down, liikutaJimmya, null, new Vector(0, 9000)); 73 74 } 75 void VahennaVoimia() 76 { 77 voimaMittari.Value--; 78 } 79 80 void VoimaLoppui() 81 { 82 MessageDisplay.Add("Voimat loppuivat, voi voi."); 83 Jimmy.Destroy; 51 84 52 85 } … … 71 104 Image JimmyKuva = LoadImage("Jimmy"); 72 105 Jimmy.Image = JimmyKuva; 106 Jimmy.Tag = "Jimmy"; 73 107 Add(Jimmy); 74 108 Jimmy.Position = paikka; 75 Jimmy.Mass = 8000;76 AddCollisionHandler(Jimmy, "pahis", CollisionHandler.Explode Object(150, false));77 AddCollisionHandler(Jimmy, "maali", Maaliinpääsy); 109 Jimmy.Mass = 10.0; 110 AddCollisionHandler(Jimmy, "pahis", CollisionHandler.ExplodeTarget(50,true)); 111 AddCollisionHandler(Jimmy, "maali", Maaliinpääsy); 78 112 } 79 113 void Luomaali(Vector paikka, double leveys, double korkeus) … … 87 121 } 88 122 void luoHemmo(Vector paikka, double leveys, double korkeus) 89 { PhysicsObjectHemmo = new PhysicsObject(30, 30);123 { Hemmo = new PhysicsObject(30, 30); 90 124 Hemmo.Color = Color.Blue; 91 125 Hemmo.Tag = "pahis"; 92 126 Hemmo.Shape = Shape.Circle; 93 127 Hemmo.Position = paikka; 94 Add(Hemmo); 128 Hemmo.Mass = 15.0; 129 pyssy = new AssaultRifle(30, 20); 130 Hemmo.Add(pyssy); 131 pyssy.Ammo.Value = 100; 132 pyssy.ProjectileCollision = AmmusOsui; 133 134 135 136 95 137 } 96 138 void Maaliinpääsy(PhysicsObject Jimmy, PhysicsObject maali) … … 98 140 Exit(); 99 141 } 100 } 142 void mitaTapahtuuKunOllaanLahella() 143 {Vector suunta = (Jimmy.Position - Hemmo.Position).Normalize(); 144 Hemmo.Angle = suunta.Angle; 145 pyssy.Shoot(); 146 } 147 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 148 { 149 ammus.Destroy(); 150 Explosion rajahdys = new Explosion(70); 151 rajahdys.Position = ammus.Position; 152 Add(rajahdys); 153 if (kohde == Jimmy) 154 { 155 VahennaVoimia(); 156 } 157 } 158 159 void luoseina(Vector paikka, double leveys, double korkeus) 160 {PhysicsObject seina = new PhysicsObject(30, 30); 161 seina.Color = Color.Gray; 162 seina.Mass = 10.0; 163 seina.Position = paikka; 164 Add(seina); 165 } 166 167 void luoTNT(Vector paikka, double leveys, double korkeus) 168 { 169 PhysicsObject TNT = new PhysicsObject(50, 50); 170 TNT.Color = Color.Blue; 171 TNT.Mass = 100.0; 172 TNT.Position = paikka; 173 TNT.Tag = "rajahde"; 174 AddCollisionHandler( TNT, "Jimmy", CollisionHandler.ExplodeObject(1000, true)); 175 Add(TNT); 176 } 177 178 } 179 180 -
2012/26/JariK/Jimmys adventure/Jimmys adventure/Jimmys adventureContent/kentta1.txt
r3278 r3326 1 1 2 3 4 5 6 7 # ###################################################8 # #9 # #10 # H M#11 ############### #12 # ##### ########################## 13 # ##### # #14 # J ##### ######### #15 # ######### #16 # #17 # #18 # #19 #################################################### 2 ############################################################################## 3 ############################################################################## 4 ############################################################################## 5 # S S S # 6 # S S S # 7 # TTTT S S S # 8 # TTTT S S S # 9 # TTTT S S S # 10 # S S S M # 11 ############### S S # 12 # ##### #################################################### 13 # ##### # S # 14 # J ##### ######### S # 15 # ######### S # 16 # S H # 17 # S # 18 # S # 19 ##############################################################################
Note: See TracChangeset
for help on using the changeset viewer.