Changeset 1469
- Timestamp:
- 2010-07-30 13:06:23 (13 years ago)
- Location:
- 2010/30/oteimatt/taistelu-jaska/taistelu-jaska
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
2010/30/oteimatt/taistelu-jaska/taistelu-jaska/POHJA.txt
r1417 r1469 12 12 = ===== = 13 13 = = 14 = V V = 15 = T = 14 16 = = 15 = T =16 =V V=17 17 ==================================================== -
2010/30/oteimatt/taistelu-jaska/taistelu-jaska/Peli.cs
r1417 r1469 7 7 class Tasohyppely : PhysicsGame 8 8 { 9 const int vihollisenElamat = 2; 10 9 11 const double nopeus = 200; 10 12 const double hyppyVoima = 4000; … … 13 15 const int ruudunKorkeus = 50; 14 16 17 bool jaskaLyo; 15 18 PlatformCharacter pelaaja1; 16 19 //PlatformCharacter miniführer; … … 19 22 Image[] jaskaKuvatPeilattu; 20 23 24 Image[] miniführerkuvatL = LoadImages("mini führerl1", "mini führerl2"); 25 Image[] miniführerkuvatLpeilattu; 21 26 Image[] miniführerkuvat = LoadImages( "mini führer juoksu 1", "mini führer juoksu 2"); 22 27 Image[] miniführerkuvatpeilattu; … … 50 55 ajastin.Start(); 51 56 57 58 52 59 Camera.Follow(pelaaja1); 53 60 Camera.ZoomFactor = 1.2; … … 59 66 jaskaKuvatPeilattu = Image.Mirror(jaskaKuvat); 60 67 jaskaHyokkaaPeilattu = Image.Mirror(jaskaHyokkaa); 68 miniführerkuvatpeilattu = Image.Mirror(miniführerkuvat); 69 miniführerkuvatLpeilattu = Image.Mirror(miniführerkuvatL); 70 61 71 } 62 72 … … 85 95 if (RandomGen.NextBool()) 86 96 { 87 vihollinen.Position = new Vector(Level.Right - 50, -200);97 vihollinen.Position = new Vector(Level.Right - 100, -200); 88 98 } 89 99 else 90 100 { 91 vihollinen.Position = new Vector(Level.Left + 50, -200);101 vihollinen.Position = new Vector(Level.Left + 100, -200); 92 102 } 93 103 Add(vihollinen); … … 97 107 PhysicsObject luoMiniFührer() 98 108 { 99 PlatformCharacter miniführer = new PlatformCharacter( 50, 90, Shapes.Circle);109 PlatformCharacter miniführer = new PlatformCharacter(128, 128, Shapes.Circle); 100 110 miniführer.Mass = 4.0; 101 111 miniführer.Color = Color.Black; 102 miniführer.RightIdleAnimation = new Animation(LoadImages("mini führer juoksu 1", "mini führer juoksu 2")); 103 miniführer.RightWalkingAnimation = new Animation(miniführerkuvat); 104 miniführerkuvatpeilattu = Image.Mirror(miniführerkuvat); 105 miniführer.LeftWalkingAnimation = new Animation(miniführerkuvatpeilattu); 112 miniführer.RightIdleAnimation = new Animation(miniführerkuvat); 113 //miniführer.RightWalkingAnimation = new Animation(miniführerkuvat); 114 115 miniführer.LeftIdleAnimation = new Animation(miniführerkuvatpeilattu); 116 //miniführer.LeftWalkingAnimation = new Animation(miniführerkuvatpeilattu); 106 117 107 118 FollowerBrain seuraajanAivot = new FollowerBrain(); 108 119 seuraajanAivot.Target = pelaaja1; 109 120 miniführer.Brain = seuraajanAivot; 121 miniführer.Tag = vihollisenElamat; 110 122 111 123 Timer aikaLaskuri = new Timer(); … … 121 133 { 122 134 PlatformCharacter vihollinen = ((PlatformCharacter)ajastin.Tag); 123 if (vihollinen.Velocity.X < 0) vihollinen.Animation = vihollinen.LeftWalkingAnimation; 124 if (vihollinen.Velocity.X > 0) vihollinen.Animation = vihollinen.RightWalkingAnimation; 125 if (Vector.Distance(vihollinen.Position 126 127 } 128 135 136 Vector etaisyys = new Vector(pelaaja1.X - vihollinen.X, pelaaja1.Y - vihollinen.Y); 137 138 if (etaisyys.X < 0 && etaisyys.Magnitude < 150) 139 { 140 vihollinenLyo(vihollinen, miniführerkuvatLpeilattu); 141 } 142 else if (etaisyys.X > 0 && etaisyys.Magnitude < 150) 143 { 144 vihollinenLyo(vihollinen, miniführerkuvatL); 145 } 146 else if (etaisyys.X > 0 && etaisyys.Magnitude > 150) 147 { 148 vihollinen.Animation = new Animation(miniführerkuvat); 149 vihollinen.Animation.Start(); 150 } 151 else if (etaisyys.X < 0 && etaisyys.Magnitude > 150) 152 { 153 vihollinen.Animation = new Animation(miniführerkuvatpeilattu); 154 vihollinen.Animation.Start(); 155 } 156 } 157 158 void vihollinenLyo(PlatformCharacter vihu, Image[] lyontiKuvat) 159 { 160 vihu.Animation = new Animation(lyontiKuvat); 161 vihu.Animation.Start(1); 162 } 129 163 130 164 PhysicsObject LuoTaisteluJaska() 131 165 { 132 166 pelaaja1 = new PlatformCharacter(128, 128, Shapes.Circle); 133 167 jaskaLyo = false; 134 168 // Animaation asettaminen ei toimi jos pelaaja1 on alustettu näin 135 169 //pelaaja1 = new PlatformCharacter(128, 128, Shapes.Rectangle); … … 144 178 pelaaja1.LeftWalkingAnimation = new Animation(jaskaKuvatPeilattu); 145 179 pelaaja1.LeftWalkingAnimation.FPS = 5; 180 181 AddCollisionHandler(pelaaja1, JaskaOsuuJohonkin); 182 146 183 return (PhysicsObject)pelaaja1; 147 184 } 148 149 185 150 186 … … 168 204 Keyboard.Listen(Key.Right, ButtonState.Down, liikuta, "Liikkuu oikealle", pelaaja1, nopeus); 169 205 Keyboard.Listen(Key.Up, ButtonState.Pressed, hyppaa, "Hyppää", pelaaja1, hyppyVoima); 170 Keyboard.Listen(Key.Space, ButtonState.Pressed, lyo, "Lyö", pelaaja1 );206 Keyboard.Listen(Key.Space, ButtonState.Pressed, lyo, "Lyö", pelaaja1, jaskaHyokkaaPeilattu, jaskaHyokkaa); 171 207 172 208 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); … … 177 213 } 178 214 179 void lyo(PlatformCharacter hahmo )215 void lyo(PlatformCharacter hahmo, Image[] kuvatVasemmalle, Image[] kuvatOikealle) 180 216 { 181 217 if (hahmo.FacingDirection == Direction.Left) 182 218 { 183 hahmo.Animation = new Animation( jaskaHyokkaaPeilattu);219 hahmo.Animation = new Animation(kuvatVasemmalle); 184 220 } 185 221 if (hahmo.FacingDirection == Direction.Right) 186 222 { 187 hahmo.Animation = new Animation( jaskaHyokkaa);223 hahmo.Animation = new Animation(kuvatOikealle); 188 224 } 189 225 190 226 hahmo.Animation.Start(1); 227 228 jaskaLyo = true; 229 230 Timer lyontiLoppuu = new Timer(); 231 lyontiLoppuu.Interval = 0.3; 232 lyontiLoppuu.Trigger += JaskanLyontiLoppuu; 233 lyontiLoppuu.Start(1); 234 } 235 236 void JaskanLyontiLoppuu(Timer ajastin) 237 { 238 jaskaLyo = false; 191 239 } 192 240 … … 200 248 hahmo.Jump(voima); 201 249 } 250 251 void JaskaOsuuJohonkin(PhysicsObject jaska, PhysicsObject kohde) 252 { 253 if (jaskaLyo) 254 { 255 if (kohde is PlatformCharacter) 256 { 257 int hipareita = (int)kohde.Tag; 258 hipareita--; 259 kohde.Tag = hipareita; 260 if (hipareita == 0) 261 kohde.Destroy(); 262 } 263 } 264 } 202 265 }
Note: See TracChangeset
for help on using the changeset viewer.