source: 2017/31/VilleH/Kivitykki/Kivitykki/Kivitykki/Kivitykki.cs @ 9383

Revision 9383, 2.6 KB checked in by npo17_85, 3 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 Kivitykki : PhysicsGame
10{
11    Cannon tykki;
12   
13    public override void Begin()
14    {
15        Mouse.IsCursorVisible = true;
16        PhysicsObject Jorma = new PhysicsObject(100, 75);
17        Add(Jorma);
18        Jorma.Shape = Shape.Circle;
19        Jorma.Color = Color.Blue;
20        Level.Background.Color = Color.Green;
21        Jorma.X = 0;
22        Jorma.Y = -350;
23
24        Kivi();
25        LuoAikaLaskuri();
26        AikaLoppui();
27
28        PhysicsObject Paa = new PhysicsObject(30, 30);
29        Add(Paa);
30        Paa.Shape = Shape.Circle;
31        Paa.Color = Color.HotPink;
32        Paa.X = 0;
33        Paa.Y = -350;
34
35        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
36
37
38        tykki = new Cannon(100, 20);
39        Add(tykki);
40        tykki.X = 80;
41        tykki.Y = -300;
42        tykki.Angle = Angle.FromDegrees(90);
43
44        Mouse.ListenMovement(0.1, Tahtaa, "Tähtää aseella");
45        Keyboard.Listen(Key.Space, ButtonState.Down, AmmuAseella, "Ammu", tykki);
46
47     
48     
49
50    }
51
52    void Tahtaa(AnalogState hiirenliike)
53    {
54        Vector suunta = (Mouse.PositionOnWorld - tykki.AbsolutePosition).Normalize();
55        tykki.Angle = suunta.Angle;
56    }
57
58    void AmmuAseella(Cannon ase)
59    {
60        PhysicsObject ammus = ase.Shoot();
61
62        if (ammus != null)
63        {
64            //ammus.Size *= 3;
65            //ammus.Image = ...
66            //ammus.MaximumLifetime = TimeSpan.FromSeconds(2.0);
67        }
68
69
70       
71    }
72    void Kivi()
73     
74    {
75
76       
77
78        for (int i = 0; i < 30; i++)
79        {
80            PhysicsObject Kivi = new PhysicsObject(20, 20);
81            Kivi.Color = Color.Black;
82            Kivi.Shape = Shape.Circle;
83            Add(Kivi);
84            Kivi.X = RandomGen.NextDouble(Level.Left,Level.Right);
85
86            Kivi.Y = RandomGen.NextDouble(Level.Top, 100);
87        } 
88
89   
90       
91
92
93    }
94
95
96    void LuoAikaLaskuri()
97    {
98        Timer aikaLaskuri = new Timer();
99        aikaLaskuri.Interval = 45 ;
100        aikaLaskuri.Timeout += AikaLoppui;
101        aikaLaskuri.Start(1);
102
103        Label aikaNaytto = new Label();
104        aikaNaytto.TextColor = Color.Yellow;
105        aikaNaytto.DecimalPlaces = 1;
106        aikaNaytto.BindTo(aikaLaskuri.SecondCounter);
107        Add(aikaNaytto);
108        aikaNaytto.X = 600;
109        aikaNaytto.Y = 500;
110    }
111
112    void AikaLoppui()
113    {
114        MessageDisplay.Add("Aika loppui...");
115
116
117    }
118
119    }
Note: See TracBrowser for help on using the repository browser.