source: 2015/24/LeeviK/AS Bandit Experience/AS Bandit Experience/AS Bandit Experience/AS_Bandit_Experience.cs @ 5981

Revision 5981, 4.8 KB checked in by lesejuku, 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 AS_Bandit_Experience : PhysicsGame
10{
11    PhysicsObject bandit;
12    GameObject banditKadet;
13    Ase banditAse;
14    bool ladataankoAsetta = false;
15    PhysicsObject Vodka;
16
17    const double HAHMOJEN_LEVEYS = 80;
18    const double HAHMOJEN_KORKEUS = 80;
19
20    public override void Begin()
21    {
22        Level.Background.Color = Color.BrownGreen;
23
24        //IsFullScreen = true;
25        Mouse.IsCursorVisible = true;
26        MediaPlayer.Play("UzickoKolo"); //CHEEKI BREEKI ATMOSFEARIC MUSIC
27        Camera.Zoom(3.0);
28
29        Layers[-1].RelativeTransition = new Vector(1.0, 1.0);
30
31        bandit = new PhysicsObject(HAHMOJEN_LEVEYS, HAHMOJEN_KORKEUS);
32        Image PelaajanKuva = LoadImage("banditNASSE");
33        bandit.Shape = Shape.FromImage(PelaajanKuva);
34        bandit.Mass = 8.0;
35        bandit.LinearDamping = 0.75;
36        bandit.Image = PelaajanKuva;
37        Add(bandit);
38
39        banditKadet = new GameObject(HAHMOJEN_LEVEYS, HAHMOJEN_KORKEUS);
40        banditKadet.Shape = Shape.Circle;
41        Image KadetKuva = LoadImage("banditAKS");
42        banditKadet.Image = KadetKuva;
43        Add(banditKadet, -1);
44
45
46        banditAse = new Ase(HAHMOJEN_LEVEYS, HAHMOJEN_KORKEUS, 30, int.MaxValue, 3.0); //koko, lipaskoko, reserviluodit, latausnopeus
47        banditAse.FireRate = 11.6; //metriä sekunnissa
48        banditAse.Power.Value = 720; //ensimmäisen luodin lähtönopeus
49        banditAse.Power.DefaultValue = 720; //muiden luotien lähtönopeus
50        //SoundEffect AKSaani = LoadSoundEffect("CheekiBreeki");
51        //banditAse.AttackSound = AKSaani; //väliaikainen
52        banditAse.X = -22.0;
53        banditAse.Y = -6.5;
54        banditAse.Image = null;
55        banditAse.IsVisible = false;
56        bandit.Add(banditAse);
57
58        PhysicsObject Vodka = new PhysicsObject(2.5, 9);
59        Vodka.Shape = Shape.Circle;
60        Vodka.X = 100.0;
61        Vodka.Y = 20.0;
62        Image vodkaKuva = LoadImage("vodka");
63        Vodka.Image = vodkaKuva;
64        Add(Vodka);
65
66        AddCollisionHandler(bandit, Vodka, ViinaRalli);
67        //Camera.Follow(bandit);
68
69        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
70        Keyboard.Listen(Key.A, ButtonState.Down, LiikutaBandit, null, new Vector(-1000, 0), bandit);
71        Keyboard.Listen(Key.D, ButtonState.Down, LiikutaBandit, null, new Vector(1000, 0), bandit);
72        Keyboard.Listen(Key.W, ButtonState.Down, LiikutaBandit, null, new Vector(0, 1000), bandit);
73        Keyboard.Listen(Key.S, ButtonState.Down, LiikutaBandit, null, new Vector(0, -1000), bandit);
74        Keyboard.Listen(Key.Space, ButtonState.Pressed, TuhoaBandit,null); //Tuhoaa Pelaajan
75        Keyboard.Listen(Key.R, ButtonState.Pressed, LataaAse, null, banditAse);
76        Mouse.Listen(MouseButton.Left, ButtonState.Down, AmmuAseella, "Ammu", banditAse);
77        Mouse.ListenMovement(0.0, Tahtaa, "Tähtää aseella", bandit);
78
79        LuoLoner(new Vector(100.0, 0.0));
80    }
81
82    protected override void Update(Time time)
83    {
84        banditKadet.Position = bandit.Position;
85        banditKadet.Angle = bandit.Angle;
86        base.Update(time);
87    }
88
89    void LiikutaBandit(Vector vektori, PhysicsObject bandit)
90    {
91        vektori *= 10;
92        bandit.Push(vektori);
93
94    }
95
96    void AmmuAseella(AssaultRifle ase)
97    {
98        if (ladataankoAsetta) return;
99
100        PhysicsObject ammus = ase.Shoot();
101
102        if (ammus != null)
103        {
104            ammus.Size *= 10.2;
105        }
106    }
107
108    void LataaAse(Ase ladattavaAse)
109    {
110        if (ladataankoAsetta) return;
111        ladataankoAsetta = true;
112
113        Timer.SingleShot(ladattavaAse.ReloadTime, delegate
114        {
115            ladattavaAse.Reload();
116            ladataankoAsetta = false;
117        });
118    }
119
120    void Tahtaa(AnalogState hiirenliike, PhysicsObject bandit)
121    {
122        Vector suunta = (Mouse.PositionOnWorld - bandit.AbsolutePosition).Normalize();
123        bandit.Angle = suunta.Angle;
124    }
125
126    Loner LuoLoner(Vector paikka)
127    {
128        Loner loner = new Loner(HAHMOJEN_LEVEYS, HAHMOJEN_KORKEUS, 100.0, bandit);
129        loner.Position = paikka;
130        Image VihollisenKuva = LoadImage("lonerNASSE");
131        loner.Image = VihollisenKuva;
132        loner.Shape = Shape.FromImage(VihollisenKuva);
133        Add(loner);
134        return loner;
135    }
136    void LuoVodka()
137    {
138
139    }
140
141    void ViinaRalli(PhysicsObject tormaaja, PhysicsObject kohde)
142    {
143        kohde.Destroy();
144        MessageDisplay.Add("Vodka collected!");
145    }
146
147    void TuhoaBandit()
148    {
149        bandit.Destroy();
150        banditAse.Destroy();
151        banditKadet.Destroy();
152
153   
154
155    }
156
157}
Note: See TracBrowser for help on using the repository browser.