source: 2016/koodauskerho/ChristianI/Clickero/Clickero/Clickero/Clickero.cs @ 8391

Revision 8391, 3.6 KB checked in by sieerinn, 2 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 Clickero : PhysicsGame
10{
11   
12    Image Emojikuva = LoadImage("emoji");
13    Image Taustakuva = LoadImage("bcg");
14    IntMeter pisteLaskuri;
15    string[] nimet = { "1 point per sec", "2 points per sec", "3 points per sec", "4 points per sec", "5 points per sec" };
16    int[] hinnat = { 150, 250, 450, 550, 660 };
17    double scrollausNopeus = 3;
18    List<PushButton> kaupanValikot = new List<PushButton>();
19
20    public override void Begin()
21    {
22        Window.Height = 600;
23        Window.Width = 600;
24        Level.Background.Image = Taustakuva;
25        Level.Background.FitToLevel();
26        LisaaLaskurit();
27        GameObject klikattavaEmoji = new GameObject(300, 300);
28        Add(klikattavaEmoji);
29        klikattavaEmoji.Image = Emojikuva;
30
31        IsMouseVisible = true;
32
33        Mouse.ListenOn(klikattavaEmoji, MouseButton.Left, ButtonState.Pressed, klikattiinemojia, "Klikattiin Emojia");
34        Mouse.ListenWheel(ScrollaaValikkoa, "scrollaa");
35
36        PushButton shop = new PushButton("Shop");
37        shop.X = Window.Right / 2 - 50;
38        shop.Y = -255;
39        shop.Pressed += NaytaKyltit;
40        Add(shop);
41        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
42        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
43        Window.Title = "Emoji Clicker 2017";
44       
45
46    }
47
48    private void ScrollaaValikkoa()
49    {
50        double change = Mouse.WheelChange;
51        foreach (PushButton item in kaupanValikot)
52        {
53            item.Y += change * scrollausNopeus;
54        }
55    }
56
57    private void NaytaKyltit()
58    {
59        if(kaupanValikot.Count > 0)
60        {
61            for (int i = 0; i < kaupanValikot.Count; i++)
62            {
63                kaupanValikot[i].Destroy();
64               
65            }
66            kaupanValikot.Clear();
67            return;
68        }
69
70        for (int i = 0; i < nimet.Length; i++)
71        {
72
73            PushButton button = LuoPushButton(0, 250 - i * 70, nimet[i], hinnat[i]);
74            kaupanValikot.Add(button);
75        }
76    }
77
78    private PushButton LuoPushButton(int x, int y, string nimi, int hinta)
79    {
80        PushButton button = new PushButton(nimi);
81        button.X = x;
82        button.Y = y;
83        Add(button);
84        button.Pressed += delegate { OstettiinJotain(nimi, hinta); };
85        return button;
86    }
87
88    private void OstettiinJotain(string nimi, int hinta)
89    {
90        //Tarkistus, onko rahaa
91        if (pisteLaskuri.Value > hinta)
92        {
93            Timer ajastin = new Timer();
94            ajastin.Interval = 1;
95            ajastin.Timeout += delegate { pisteLaskuri.Value += hinta / 100; };
96            ajastin.Start();
97            pisteLaskuri.Value -= hinta;
98        }
99
100        //Ajastin, joka antaa rahaa
101    }
102
103    void LisaaLaskurit()
104    {
105        pisteLaskuri = (LuoPisteLaskuri(Window.Left, Window.Top + 250.0));
106       
107    }
108    public void klikattiinemojia()
109    {
110       
111       
112        pisteLaskuri.Value = pisteLaskuri.Value+1;
113    }
114
115
116    IntMeter LuoPisteLaskuri(double x, double y)
117    {
118
119        IntMeter laskuri = new IntMeter(0);
120       
121        Label naytto = new Label();
122        naytto.BindTo(laskuri);
123        naytto.X = x;
124        naytto.Y = y;
125        naytto.TextColor = Color.White;
126        naytto.BorderColor = Level.Background.Color;
127        naytto.Color = Color.DarkYellow;
128        Add(naytto);
129
130        return laskuri;
131    }
132
133
134
135
136}
137
Note: See TracBrowser for help on using the repository browser.