- Timestamp:
- 2014-06-10 11:04:43 (8 years ago)
- Location:
- 2013/24/MikaelJ
- Files:
-
- 41 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
2013/24/MikaelJ/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1/Tasohyppelypeli1.cs
r4926 r4933 7 7 using Jypeli.Widgets; 8 8 9 public class Tasohyppelypeli1 : PhysicsGame10 {11 const double nopeus = 200;12 const double hyppyNopeus = 600;13 const int RUUDUN_KOKO = 40;14 9 15 PlatformCharacter pelaaja1;16 10 17 Image pelaajanKuva = LoadImage("norsu"); 18 Image tahtiKuva = LoadImage("tahti"); 19 Image taustakuva1 = LoadImage("Level1(1024)"); 20 Image Knife = LoadImage("Knife"); 11 public class Tasohyppelypeli1 : PhysicsGame 12 { 13 const double nopeus = 200; 14 const double hyppyNopeus = 600; 15 const int RUUDUN_KOKO = 40; 21 16 22 SoundEffect maaliAani = LoadSoundEffect("maali");17 PlatformCharacter pelaaja1; 23 18 24 public override void Begin() 25 { 26 Gravity = new Vector(0, -1000); 19 Image pelaajanKuva = LoadImage("norsu"); 20 Image tahtiKuva = LoadImage("tahti"); 21 Image taustakuva1 = LoadImage("Level1(1024)"); 22 Image Knife = LoadImage("Knife"); 27 23 28 LuoKentta(); 29 LisaaNappaimet(); 24 //private Image[] vihu1 = LoadImages("...", "...", "..."); 30 25 31 //Camera.Follow(pelaaja1);32 Camera.ZoomFactor = 1.2;33 Camera.StayInLevel = true;34 }26 class Vihu : PhysicsObject 27 { 28 private IntMeter elamaLaskuri = new IntMeter(3, 0, 3); 29 public IntMeter ElamaLaskuri { get { return elamaLaskuri; } } 35 30 36 void LuoKentta() 37 { 38 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 39 kentta.SetTileMethod('#', LisaaTaso); 40 kentta.SetTileMethod('*', LisaaTahti); 41 kentta.SetTileMethod('P', LisaaPelaaja); 42 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 43 Level.CreateBorders(); 44 Level.Background.Image = taustakuva1; 45 } 31 public Vihu(double leveys, double korkeus) 32 : base(leveys, korkeus) 33 { 34 elamaLaskuri.LowerLimit += delegate { this.Destroy(); }; 46 35 47 void LisaaTaso(Vector paikka, double leveys, double korkeus) 48 { 49 PhysicsObject taso = PhysicsObject.CreateStaticObject(leveys, korkeus); 50 taso.Position = paikka; 51 taso.IsVisible = false; 52 Add(taso); 53 } 36 { 37 Vihu vihu1 = new Vihu(20, 20); 38 vihu1.X = 30; 39 vihu1.Y = 10; 40 vihu1.ElamaLaskuri.Value--; 54 41 55 void LisaaTahti(Vector paikka, double leveys, double korkeus)56 {57 PhysicsObject tahti = PhysicsObject.CreateStaticObject(leveys, korkeus);58 tahti.IgnoresCollisionResponse = true;59 tahti.Position = paikka;60 tahti.Image = tahtiKuva;61 tahti.Tag = "tahti";62 Add(tahti);63 }64 42 65 void LisaaPelaaja(Vector paikka, double leveys, double korkeus) 66 { 67 pelaaja1 = new PlatformCharacter(leveys, korkeus); //pelaaja 68 pelaaja1.Position = paikka; 69 pelaaja1.Mass = 4.0; 70 pelaaja1.Image = pelaajanKuva; 71 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 72 Add(pelaaja1); 43 } 73 44 74 pelaaja1.Weapon = new AssaultRifle(30, 10); 45 } 46 } 75 47 76 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 48 public override void Begin() 49 { 50 Gravity = new Vector(0, -1000); 77 51 78 pelaaja1.Weapon.CanHitOwner = true; 52 LuoKentta(); 53 LisaaNappaimet(); 79 54 80 pelaaja1.Weapon.FireRate =1000000000000.0; 55 Camera.ZoomFactor = 1.2; 56 Camera.StayInLevel = true; 57 } 81 58 82 pelaaja1.Weapon.InfiniteAmmo = true; 59 void LuoKentta() 60 { 61 TileMap kentta = TileMap.FromLevelAsset("kentta1"); 62 kentta.SetTileMethod('#', LisaaTaso); 63 kentta.SetTileMethod('*', LisaaTahti); 64 kentta.SetTileMethod('P', LisaaPelaaja); 65 kentta.Execute(RUUDUN_KOKO, RUUDUN_KOKO); 66 Level.CreateBorders(); 67 Level.Background.Image = taustakuva1; 68 } 83 69 84 pelaaja1.Weapon.Image = Knife; 70 void LisaaTaso(Vector paikka, double X, double Y) 71 { 72 PhysicsObject taso = PhysicsObject.CreateStaticObject(X, Y); 73 taso.Position = paikka; 74 taso.IsVisible = false; 75 Add(taso); 76 } 77 78 void LisaaTahti(Vector paikka, double X, double Y) 79 { 80 PhysicsObject tahti = PhysicsObject.CreateStaticObject(X, Y); 81 tahti.IgnoresCollisionResponse = true; 82 tahti.Position = paikka; 83 tahti.Image = tahtiKuva; 84 tahti.Tag = "tahti"; 85 Add(tahti); 86 } 87 88 void LisaaPelaaja(Vector paikka, double X, double Y) 89 { 90 pelaaja1 = new PlatformCharacter(X, Y); //pelaaja 91 pelaaja1.Position = paikka; 92 pelaaja1.Mass = 4.0; 93 pelaaja1.Image = pelaajanKuva; 94 AddCollisionHandler(pelaaja1, "tahti", TormaaTahteen); 95 Add(pelaaja1); 96 97 pelaaja1.Weapon = new AssaultRifle(30, 10); 98 99 pelaaja1.Weapon.ProjectileCollision = AmmusOsui; 100 101 pelaaja1.Weapon.CanHitOwner = true; 102 103 pelaaja1.Weapon.FireRate = 1000000000000.0; 104 105 pelaaja1.Weapon.InfiniteAmmo = true; 106 107 pelaaja1.Weapon.Image = Knife; 108 109 } 110 111 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde) 112 { 113 ammus.Destroy(); 114 } 115 116 void AmmuAseella(PlatformCharacter pelaaja) 117 { 118 PhysicsObject ammus = pelaaja.Weapon.Shoot(); 119 120 if (ammus != null) 121 { 122 ammus.Size *= 0.5; 123 //ammus.Image = ... 124 } 125 } 126 127 void LisaaNappaimet() 128 { 129 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet"); 130 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli"); 131 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus); 132 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus); 133 Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 134 Keyboard.Listen(Key.F, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1); 135 136 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä"); 137 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus); 138 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus); 139 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus); 140 ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ampuu", pelaaja1); 141 142 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli"); 143 } 144 145 void Liikuta(PlatformCharacter hahmo, double nopeus) 146 { 147 hahmo.Walk(nopeus); 148 } 149 150 void Hyppaa(PlatformCharacter hahmo, double nopeus) 151 { 152 hahmo.Jump(nopeus); 153 } 154 155 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti) 156 { 157 MessageDisplay.Add("Keräsit tähden!"); 158 tahti.Destroy(); 159 } 85 160 86 161 } 87 88 void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)89 {90 ammus.Destroy();91 }92 93 void AmmuAseella(PlatformCharacter pelaaja)94 {95 PhysicsObject ammus = pelaaja.Weapon.Shoot();96 97 if (ammus != null)98 {99 ammus.Size *= 0.5;100 //ammus.Image = ...101 //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);102 }103 }104 105 void LisaaNappaimet()106 {107 Keyboard.Listen(Key.F1, ButtonState.Pressed, ShowControlHelp, "Näytä ohjeet");108 Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");109 110 Keyboard.Listen(Key.Left, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, -nopeus);111 Keyboard.Listen(Key.Right, ButtonState.Down, Liikuta, "Liikkuu vasemmalle", pelaaja1, nopeus);112 Keyboard.Listen(Key.Space, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);113 114 Keyboard.Listen(Key.F, ButtonState.Down, AmmuAseella, "Ammu", pelaaja1);115 116 ControllerOne.Listen(Button.Back, ButtonState.Pressed, Exit, "Poistu pelistä");117 118 ControllerOne.Listen(Button.DPadLeft, ButtonState.Down, Liikuta, "Pelaaja liikkuu vasemmalle", pelaaja1, -nopeus);119 ControllerOne.Listen(Button.DPadRight, ButtonState.Down, Liikuta, "Pelaaja liikkuu oikealle", pelaaja1, nopeus);120 ControllerOne.Listen(Button.A, ButtonState.Pressed, Hyppaa, "Pelaaja hyppää", pelaaja1, hyppyNopeus);121 122 ControllerOne.Listen(Button.RightTrigger, ButtonState.Down, AmmuAseella, "Ampuu", pelaaja1);123 124 PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");125 }126 127 void Liikuta(PlatformCharacter hahmo, double nopeus)128 {129 hahmo.Walk(nopeus);130 }131 132 void Hyppaa(PlatformCharacter hahmo, double nopeus)133 {134 hahmo.Jump(nopeus);135 }136 137 void TormaaTahteen(PhysicsObject hahmo, PhysicsObject tahti)138 {139 maaliAani.Play();140 MessageDisplay.Add("Keräsit tähden!");141 tahti.Destroy();142 }143 }
Note: See TracChangeset
for help on using the changeset viewer.