source: 2016/24/PanuK/TrumpAttack/TrumpAttack/TrumpAttack/TrumpAttack.cs @ 7425

Revision 7425, 5.5 KB checked in by paerjuko, 6 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using Jypeli;
4using Jypeli.Assets;
5using Jypeli.Controls;
6using Jypeli.Effects;
7using Jypeli.Widgets;
8
9public class TrumpAttack : PhysicsGame
10{
11    Image Illuminatikuva = LoadImage("illuminati");
12    Image Niggachukuva = LoadImage("Niggachu");
13    Image Doritoskuva = LoadImage("Dorito");
14    Image Trumpkuva = LoadImage("trumpV3");
15    AssaultRifle pelaajan1Ase;
16    PhysicsObject kolmio;
17    PhysicsObject Trump;
18    PhysicsObject Niggachu;
19    IntMeter trumppinhp;
20    public override void Begin()
21    {
22        trumppinhp = new IntMeter(5);
23        trumppinhp.LowerLimit += kuolee;
24        valikko();
25     
26
27        MediaPlayer.PlayFromURL("https://www.youtube.com/watch?v=PJLSzsEjpWM");
28        MediaPlayer.IsRepeating = true;
29     
30    }
31    void kuolee() {
32        Trump.Destroy();
33        Explosion rajahdys = new Explosion(500);
34        rajahdys.Position = Trump.Position;
35        Add(rajahdys);
36
37
38    }
39
40    void valikko() {
41        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
42"Aloita peli", "Lopeta");
43        Add(alkuValikko);
44
45        alkuValikko.AddItemHandler(0, AloitaPeli);
46       
47        alkuValikko.AddItemHandler(1, Exit);
48
49        alkuValikko.Color = Color.BrightGreen;
50
51        MessageDisplay.Add("Osu Trumppiin!!!!!");
52        MessageDisplay.TextColor = Color.JungleGreen;
53        MessageDisplay.MessageTime = new TimeSpan(0, 0, 15);
54    }
55
56    void AloitaPeli()
57    {
58        LuoKentta();
59        Keyboard.Listen(Key.A, ButtonState.Down,
60        liikutapelaajaa, "Pelaaja liikkuu vasemmalle", new Vector(-200,0));
61        Keyboard.Listen(Key.A, ButtonState.Released,
62        liikutapelaajaa, "Pelaaja liikkuu vasemmalle", Vector.Zero);
63        Keyboard.Listen(Key.W, ButtonState.Down,
64        liikutapelaajaa, "Pelaaja liikkuu ylos", new Vector(0, 200));
65        Keyboard.Listen(Key.W, ButtonState.Released,
66        liikutapelaajaa, "Pelaaja liikkuu ylos", Vector.Zero);
67        Keyboard.Listen(Key.S, ButtonState.Down,
68        liikutapelaajaa, "Pelaaja liikkuu alas", new Vector(0, -200));
69        Keyboard.Listen(Key.S, ButtonState.Released,
70        liikutapelaajaa, "Pelaaja liikkuu alas", Vector.Zero);
71        Keyboard.Listen(Key.D, ButtonState.Down,
72        liikutapelaajaa, "Pelaaja liikkuu oikeelle", new Vector(200, 0));
73        Keyboard.Listen(Key.D, ButtonState.Released,
74        liikutapelaajaa, "Pelaaja liikkuu oikeelle", Vector.Zero);
75        Keyboard.Listen(Key.Space, ButtonState.Pressed
76            , AmmuAseella, "");
77        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
78        //..
79
80    }
81    void liikutapelaajaa(Vector suunta)
82    {
83        if (suunta == Vector.Zero) kolmio.Stop();
84        kolmio.Push(suunta);
85
86    }
87    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
88    {
89        //ammus.Destroy();
90    }
91
92    bool saakoAmpua = true;
93   
94
95    void AmmuAseella()
96    {
97        if (!saakoAmpua) return;
98        PhysicsObject ammus = new PhysicsObject(35, 35);
99        ammus.Image = Doritoskuva;
100        Add(ammus);
101        ammus.Tag = "ammus";
102        ammus.Position = kolmio.Position + Vector.FromLengthAndAngle(50, kolmio.Angle);
103        ammus.CollisionIgnoreGroup = kolmio.CollisionIgnoreGroup;
104        AddCollisionHandler(ammus, CollisionHandler.DestroyObject);
105        ammus.Velocity = Vector.FromLengthAndAngle(150, kolmio.Angle);
106
107        Timer.SingleShot(2.0, delegate { saakoAmpua = true; });
108        saakoAmpua = false;
109
110        if (ammus != null)
111        {
112            //ammus.Size *= 3;
113            //ammus.Image = ...
114            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
115        }
116        //pelaaja1 on PlatformCharacter-tyyppinen
117       // pelaaja1.Weapon = new AssaultRifle(30, 10);
118
119        //Ammusten määrä aluksi:
120       //pelaaja1.Weapon.Ammo.Value = 1000;
121
122        //Mitä tapahtuu kun ammus osuu johonkin?
123        //pelaaja1.Weapon.ProjectileCollision = AmmusOsui;
124    }
125    void LuoKentta()
126    {
127        kolmio = new PhysicsObject(100, 50);
128        kolmio.Shape = Shape.Triangle;
129        kolmio.Position = new Vector(-200, 50);
130        kolmio.Image = Illuminatikuva;
131        kolmio.CollisionIgnoreGroup = 2;
132        Add(kolmio);
133
134        Trump = new PhysicsObject(200, 100);
135        Trump.Shape = Shape.Pentagon;
136        Trump.Image = Trumpkuva;
137        Add(Trump);
138        AddCollisionHandler(Trump, "ammus", CollisionHandler.AddMeterValue(trumppinhp, -1));
139        RandomMoverBrain aivot = new RandomMoverBrain();
140        Trump.Brain = aivot;
141        aivot.Speed = 1500;
142
143        Level.CreateBorders();
144        Level.Background.CreateGradient(Color.Purple, Color.DarkCyan);
145
146        Camera.ZoomToLevel();
147     
148       // pelaajan1Ase = new AssaultRifle(30, 10);
149       //
150       // //Ammusten määrä aluksi:
151       // pelaajan1Ase.Ammo.Value = 1000;
152       //
153       // //Mitä tapahtuu kun ammus osuu johonkin?
154       // pelaajan1Ase.ProjectileCollision = AmmusOsui;
155       //
156       //
157       // pelaajan1Ase.Ammo.Value = 500;
158       //
159       // //loputtomat ammukset:
160       // pelaajan1Ase.InfiniteAmmo = true;
161       // pelaajan1Ase.Power.Value = 2000;
162       // pelaajan1Ase.Power.DefaultValue = 2000;
163       // pelaajan1Ase.FireRate = 5.0;
164       // pelaajan1Ase.AmmoIgnoresGravity = false;
165       // pelaajan1Ase.AmmoIgnoresExplosions = true;
166       // pelaajan1Ase.CanHitOwner = false;
167
168    }
169}
Note: See TracBrowser for help on using the repository browser.