source: 2015/26/WilleK/The Mine-Clicker/The Mine-Clicker/The_Mine_Clicker/The_Mine_Clicker.cs @ 6469

Revision 6469, 4.1 KB checked in by wiaukota, 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 The_Mine_Clicker : PhysicsGame
10{
11    Image holeimage = LoadImage("holeimage");
12    Image shopimage = LoadImage("shopbutton");
13    [Save] public IntMeter cashcalculator;
14    PhysicsObject hole;
15    [Save] public int autominerprice;
16    [Save] public int powerpickprice;
17    [Save] public int miningclick;
18
19    void InitiateGame()
20    {
21        ClearAll();
22        SmoothTextures = false;
23        window();
24        controls();
25        mine();
26        shop();
27        cashmeter();
28
29        miningclick = 1;
30        powerpickprice = 10;
31        autominerprice = 100;
32
33        if (DataStorage.Exists("tilanne.xml"))
34        {
35           // pelitilanne olemassa, ladataan se
36           LoadGame("tilanne.xml");
37        }
38        else
39        {
40           // ei pelitilannetta
41            ShowMessageWindow("Tervetuloa peliin!");
42        }
43    }
44   
45    public override void Begin()
46    {
47        InitiateGame();
48    }
49
50    //void
51
52    void window()
53    {
54        IsMouseVisible = true;
55        Level.Background.Color = Color.DarkJungleGreen;
56        Window.Height = 700;
57    }
58
59    void controls()
60    {
61        Keyboard.Listen(Key.S, ButtonState.Pressed, delegate() { SaveGame("tilanne.xml"); }, "Save");
62        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Exit");
63    }
64
65    void mine()
66    {
67        hole = new PhysicsObject( 300, 300 );
68        hole.Image = holeimage;
69        Add(hole, -3);
70
71        Mouse.ListenOn(hole, MouseButton.Left, ButtonState.Pressed, delegate
72        {
73            addcashclick();
74            hole.Size = new Vector(250, 250);
75        }, "");
76
77        Mouse.ListenOn(hole, MouseButton.Left, ButtonState.Released, delegate
78        {
79            hole.Size = new Vector(300, 300);
80        }, "");
81        //ppppp
82        Mouse.ListenOn(hole, MouseButton.Right, ButtonState.Pressed, delegate
83        {
84            addcashclick();
85            hole.Size = new Vector(250, 250);
86        }, "");
87
88        Mouse.ListenOn(hole, MouseButton.Right, ButtonState.Released, delegate
89        {
90            hole.Size = new Vector(300, 300);
91        }, "");
92    }
93
94    void shop()
95    {
96        PhysicsObject button = new PhysicsObject(50,50);
97        button.Image = shopimage;
98        button.Position = new Vector(Screen.Left + 50, Screen.Top - 50);
99        Mouse.ListenOn(button, MouseButton.Left, ButtonState.Pressed, openshop,"");
100        Add(button);
101    }
102
103    void openshop()
104    {
105        MultiSelectWindow shopmenu = new MultiSelectWindow("Shop", "Auto Miner (" + autominerprice + ")", "PowerPick (" + powerpickprice + ")");
106        shopmenu.Left = Screen.Left;
107        shopmenu.Y = 200;
108        Add(shopmenu);
109
110        shopmenu.AddItemHandler(0, buyautominer);
111        shopmenu.AddItemHandler(1, buypowerpick);
112    }
113
114    void buyautominer()
115    {
116        if (cashcalculator.Value >= autominerprice)
117        {
118            cashcalculator.Value -= autominerprice;
119            Timer ajastin = new Timer();
120            ajastin.Interval = 1;
121            ajastin.Timeout += addcash;
122            ajastin.Start();
123
124            autominerprice += 50;
125        }
126    }
127
128    void buypowerpick()
129    {
130        if (cashcalculator.Value >= powerpickprice)
131        {
132            cashcalculator.Value -= powerpickprice;
133            miningclick += 1;
134            powerpickprice *= 2;
135        }
136    }
137
138    void cashmeter()
139    {
140
141        cashcalculator = new IntMeter(0);
142
143        Label cashbox = new Label();
144        cashbox.X = Screen.Right -50;
145        cashbox.Y = Screen.Top -50;
146        cashbox.TextColor = Color.Black;
147        cashbox.Color = Color.Transparent;
148
149        cashbox.BindTo(cashcalculator);
150        Add(cashbox);
151
152    }
153
154    void addcash()
155    {
156        cashcalculator.Value += 1;
157       
158    }
159
160    void addcashclick()
161    {
162        cashcalculator.Value += miningclick;
163
164    }
165}
Note: See TracBrowser for help on using the repository browser.