source: 2015/24/EemeliK/Simssi/Simssi/Kentta.cs @ 7114

Revision 7114, 8.2 KB checked in by otjojunt, 4 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Linq;
7using System.Text;
8using System.Text.RegularExpressions;
9using System.Threading.Tasks;
10using System.Windows.Forms;
11
12namespace Simssi
13{
14    public partial class Kentta : Form
15    {
16        bool BuildMode = false;
17        int Rahalaskuri = 280000;
18
19        Point nopeus;
20
21        public Kentta()
22        {
23            InitializeComponent();
24            label1.Text = "Money: " + Rahalaskuri;
25            button2.Visible = false;
26            button3.Visible = false;
27            button4.Visible = false;
28
29            Timer paivitys = new Timer();
30            paivitys.Interval = 1;
31            paivitys.Tick += Paivitys_Tick;
32            paivitys.Start();
33        }
34
35        private void Paivitys_Tick(object sender, EventArgs e)
36        {
37            Point newLocation = new Point(pictureBox1.Location.X + nopeus.X, pictureBox1.Location.Y + nopeus.Y);
38            bool saaLiikkua = true;
39
40            foreach(var palikka in Controls)
41            {
42                PictureBox box = palikka as PictureBox;
43                if (box != null && Regex.IsMatch(box.Name, ".*Wall"))
44                {
45                    Rectangle koko = new Rectangle(box.Location, box.Size);
46                    if (koko.IntersectsWith(new Rectangle(newLocation, pictureBox1.Size)))
47                    {
48                        saaLiikkua = false;
49                    }
50                }
51            }
52
53            // tarkastus, törmääkö, johonkin rakennelmaan
54            // jos ei niin
55            if (saaLiikkua)
56            {
57                pictureBox1.Location = newLocation;
58            }
59            // muuten ei liikuta
60
61        }
62
63        private void button1_Click(object sender, EventArgs e)
64        {
65            GreenWallMode = false;
66            BlackWallMode = false;
67            YellowGround = false;
68
69            if (BuildMode == true)
70            {
71                BuildMode = false;
72                button2.Visible = false;
73                button3.Visible = false;
74                button4.Visible = false;
75            }
76            else if (BuildMode == false)
77            {
78                BuildMode = true;
79                button2.Visible = true;
80                button3.Visible = true;
81                button4.Visible = true;
82            }
83
84           
85        }
86        private void Kentta_Click(object sender, EventArgs e)
87        {
88            int koko = 30;
89
90            if (BuildMode)
91            {
92                MouseEventArgs ee = e as MouseEventArgs;
93
94                int x = (int)(ee.X / (float)koko) * koko;
95                int y = (int)(ee.Y / (float)koko) * koko;
96
97               
98                PictureBox talo = new PictureBox();
99                talo.BackColor = System.Drawing.Color.HotPink;
100                talo.Location = new System.Drawing.Point(x, y);
101                talo.Name = "talo";
102                talo.Size = new System.Drawing.Size(koko, koko);
103                talo.TabIndex = 19;
104                talo.TabStop = false;
105                talo.Click += Talo_Click;
106                Controls.Add(talo);
107
108                Rahalaskuri-=1000;
109                label1.Text = "Money: " + Rahalaskuri;
110            }
111            if (GreenWallMode)
112            {
113                MouseEventArgs ee = e as MouseEventArgs;
114
115                int x = (int)(ee.X / (float)koko) * koko;
116                int y = (int)(ee.Y / (float)koko) * koko;
117
118
119                PictureBox GreenWall = new PictureBox();
120                GreenWall.BackColor = System.Drawing.Color.Green;
121                GreenWall.Location = new System.Drawing.Point(x, y);
122                GreenWall.Name = "GreenWall";
123                GreenWall.Size = new System.Drawing.Size(koko, koko);
124                GreenWall.TabIndex = 19;
125                GreenWall.TabStop = false;
126                GreenWall.Click += Talo_Click;
127                Controls.Add(GreenWall);
128
129                Rahalaskuri -= 1000;
130                label1.Text = "Money: " + Rahalaskuri;
131            }
132            if (BlackWallMode)
133            {
134                MouseEventArgs ee = e as MouseEventArgs;
135
136                int x = (int)(ee.X / (float)koko) * koko;
137                int y = (int)(ee.Y / (float)koko) * koko;
138
139
140                PictureBox BlackWall = new PictureBox();
141                BlackWall.BackColor = System.Drawing.Color.Black;
142                BlackWall.Location = new System.Drawing.Point(x, y);
143                BlackWall.Name = "BlackWall";
144                BlackWall.Size = new System.Drawing.Size(koko, koko);
145                BlackWall.TabIndex = 19;
146                BlackWall.TabStop = false;
147                BlackWall.Click += Talo_Click;
148                Controls.Add(BlackWall);
149
150                Rahalaskuri -= 1000;
151                label1.Text = "Money: " + Rahalaskuri;
152            }
153            if (YellowGround)
154            {
155                MouseEventArgs ee = e as MouseEventArgs;
156
157                int x = (int)(ee.X / (float)koko) * koko;
158                int y = (int)(ee.Y / (float)koko) * koko;
159
160
161                PictureBox YellowGround = new PictureBox();
162                YellowGround.BackColor = System.Drawing.Color.Yellow;
163                YellowGround.Location = new System.Drawing.Point(x, y);
164                YellowGround.Name = "YellowGround";
165                YellowGround.Size = new System.Drawing.Size(koko, koko);
166                YellowGround.TabIndex = 19;
167                YellowGround.TabStop = false;
168                YellowGround.Click += Talo_Click;
169                Controls.Add(YellowGround);
170
171                Rahalaskuri -= 1000;
172                label1.Text = "Money: " + Rahalaskuri;
173            }
174        }
175
176        private void Talo_Click(object sender, EventArgs e)
177        {
178            if (BuildMode)
179            {
180                PictureBox talo = (PictureBox)sender;
181                Controls.Remove(talo);
182            }
183        }
184
185        private void label1_Click(object sender, EventArgs e)
186        {
187
188        }
189        bool GreenWallMode = false;
190        bool BlackWallMode = false;
191        bool YellowGround = false;
192
193        private void button2_Click(object sender, EventArgs e)
194        {
195            BuildMode = false;
196            BlackWallMode = false;
197            YellowGround = false;
198            GreenWallMode = true;
199        }
200
201        private void button3_Click(object sender, EventArgs e)
202        {
203            BuildMode = false;
204            GreenWallMode = false;
205            YellowGround = false;
206            BlackWallMode = true;
207        }
208
209        private void button4_Click(object sender, EventArgs e)
210        {
211            BuildMode = false;
212            GreenWallMode = false;
213            BlackWallMode = false;
214            YellowGround = true;
215        }
216
217        private void pictureBox1_Click(object sender, EventArgs e)
218        {
219
220        }
221
222        private void Kentta_KeyDown(object sender, KeyEventArgs e)
223        {
224           
225        }
226
227        private void Kentta_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
228        {
229
230        }
231
232        private void Kentta_KeyPress(object sender, KeyPressEventArgs e)
233        {
234            if (e.KeyChar == 'd')
235            {
236                nopeus = new Point(2, 0);
237            }
238
239            if (e.KeyChar == 'a')
240            {
241                nopeus = new Point(-2, 0);
242            }
243
244            if (e.KeyChar == 'w')
245            {
246                nopeus = new Point(0, -2);
247            }
248
249            if (e.KeyChar == 's')
250            {
251                nopeus = new Point(0, 2);
252            }
253        }
254
255        private void Kentta_KeyUp(object sender, KeyEventArgs e)
256        {
257            if (e.KeyCode == Keys.D || e.KeyCode == Keys.A || e.KeyCode == Keys.W || e.KeyCode == Keys.S)
258            {
259                nopeus = new Point(0, 0);
260            }
261        }
262
263        private void pictureBox5_Click(object sender, EventArgs e)
264        {
265            Rahalaskuri+=1000;
266        }
267
268        private void Kentta_Load(object sender, EventArgs e)
269        {
270
271        }
272    }
273}
Note: See TracBrowser for help on using the repository browser.