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

Revision 7363, 4.0 KB checked in by paerjuko, 5 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("Doritos");
14    Image Trumpkuva = LoadImage("");
15    AssaultRifle pelaajan1Ase;
16    PhysicsObject kolmio;
17    public override void Begin()
18    {
19        valikko();
20     
21
22        MediaPlayer.PlayFromURL("https://www.youtube.com/watch?v=PJLSzsEjpWM");
23        MediaPlayer.IsRepeating = true;
24
25     
26    }
27     void valikko() {
28        MultiSelectWindow alkuValikko = new MultiSelectWindow("Pelin alkuvalikko",
29"Aloita peli", "Lopeta");
30        Add(alkuValikko);
31
32        alkuValikko.AddItemHandler(0, AloitaPeli);
33       
34        alkuValikko.AddItemHandler(1, Exit);
35
36        alkuValikko.Color = Color.BrightGreen;
37
38        MessageDisplay.Add("Osu Trumppiin ja sitten seinaan!!!!!");
39        MessageDisplay.TextColor = Color.JungleGreen;
40        MessageDisplay.MessageTime = new TimeSpan(0, 0, 15);
41    }
42
43    void AloitaPeli()
44    {
45        LuoKentta();
46        Keyboard.Listen(Key.A, ButtonState.Down,
47        liikutapelaajaa, "Pelaaja liikkuu vasemmalle", new Vector(-200,0));
48        Keyboard.Listen(Key.A, ButtonState.Released,
49        liikutapelaajaa, "Pelaaja liikkuu vasemmalle", Vector.Zero);
50        Keyboard.Listen(Key.W, ButtonState.Down,
51        liikutapelaajaa, "Pelaaja liikkuu ylos", new Vector(0, 200));
52        Keyboard.Listen(Key.W, ButtonState.Released,
53        liikutapelaajaa, "Pelaaja liikkuu ylos", Vector.Zero);
54        Keyboard.Listen(Key.S, ButtonState.Down,
55        liikutapelaajaa, "Pelaaja liikkuu alas", new Vector(0, -200));
56        Keyboard.Listen(Key.S, ButtonState.Released,
57        liikutapelaajaa, "Pelaaja liikkuu alas", Vector.Zero);
58        Keyboard.Listen(Key.D, ButtonState.Down,
59        liikutapelaajaa, "Pelaaja liikkuu oikeelle", new Vector(200, 0));
60        Keyboard.Listen(Key.D, ButtonState.Released,
61        liikutapelaajaa, "Pelaaja liikkuu oikeelle", Vector.Zero);
62
63        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
64        //..
65
66    }
67    void liikutapelaajaa(Vector suunta)
68    {
69        if (suunta == Vector.Zero) kolmio.Stop();
70        kolmio.Push(suunta);
71
72    }
73    void AmmusOsui(PhysicsObject ammus, PhysicsObject kohde)
74    {
75        //ammus.Destroy();
76    }
77    void AmmuAseella(AssaultRifle ase)
78    {
79        PhysicsObject ammus = ase.Shoot();
80
81        if (ammus != null)
82        {
83            //ammus.Size *= 3;
84            //ammus.Image = ...
85            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
86        }
87        //pelaaja1 on PlatformCharacter-tyyppinen
88       // pelaaja1.Weapon = new AssaultRifle(30, 10);
89
90        //Ammusten määrä aluksi:
91       //pelaaja1.Weapon.Ammo.Value = 1000;
92
93        //Mitä tapahtuu kun ammus osuu johonkin?
94        //pelaaja1.Weapon.ProjectileCollision = AmmusOsui;
95    }
96    void LuoKentta()
97    {
98        PhysicsObject muuri = new PhysicsObject(100, Screen.Height);
99        muuri.X = Screen.Left + 50;
100        muuri.Color = Color.Gray;
101        Add(muuri);
102
103        kolmio = new PhysicsObject(400, 300);
104        kolmio.Shape = Shape.Triangle;
105        kolmio.Image = Illuminatikuva;
106        Add(kolmio);
107
108     
109        pelaajan1Ase = new AssaultRifle(30, 10);
110
111        //Ammusten määrä aluksi:
112        pelaajan1Ase.Ammo.Value = 1000;
113
114        //Mitä tapahtuu kun ammus osuu johonkin?
115        pelaajan1Ase.ProjectileCollision = AmmusOsui;
116
117
118        pelaajan1Ase.Ammo.Value = 500;
119
120        //loputtomat ammukset:
121        pelaajan1Ase.InfiniteAmmo = true;
122        pelaajan1Ase.Power.Value = 2000;
123        pelaajan1Ase.Power.DefaultValue = 2000;
124        pelaajan1Ase.FireRate = 5.0;
125        pelaajan1Ase.AmmoIgnoresGravity = false;
126        pelaajan1Ase.AmmoIgnoresExplosions = true;
127        pelaajan1Ase.CanHitOwner = false;
128
129    }
130}
Note: See TracBrowser for help on using the repository browser.