Rev 8071 | Rev 8080 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8071 | maxcodehac | 1 | #include |
2 | #include |
||
3 | #include |
||
4 | |||
5 | /* |
||
6 | EVENTS LOOK LIKE IN C-- |
||
7 | */ |
||
8 | |||
9 | #define evReDraw 1 |
||
10 | #define evKey 2 |
||
11 | #define evButton 3 |
||
12 | |||
13 | |||
14 | |||
15 | #define _size 4 |
||
16 | |||
17 | #define bs 44 |
||
18 | |||
19 | #define FIRSTC 0x137F00 |
||
20 | #define SECONDC 0x0013FF |
||
21 | |||
22 | int field[_size][_size] = { |
||
23 | {0, 0, 0, 1}, |
||
24 | {0, 0, 1, 0}, |
||
25 | {0, 0, 0, 1}, |
||
8072 | maxcodehac | 26 | {1, 0, 0, 0} |
8071 | maxcodehac | 27 | }; |
28 | |||
29 | char* title = "Fridge v0.1"; |
||
30 | |||
31 | void draw_window(){ |
||
32 | BeginDraw(); |
||
33 | DrawWindow(215,100,225, 225,title,0xEEEeee,0x34); |
||
34 | for (int j = 10, yy = 0; yy<_size; j+=bs, yy++) |
||
35 | for (int i = 10, xx = 0; xx<_size; i+=bs, xx++) |
||
36 | { |
||
37 | if (field[yy][xx]) define_button(65536 * i + bs, 65536 * j + bs, ((xx+1)*10)+yy+1, FIRSTC); |
||
38 | else define_button(65536 * i + bs, 65536 * j + bs, ((xx+1)*10)+yy+1, SECONDC); |
||
39 | } |
||
40 | EndDraw(); |
||
41 | } |
||
42 | |||
43 | void Button() { |
||
44 | int id = get_os_button(); |
||
45 | if (id == 1) exit(0); else |
||
46 | { |
||
47 | int x = (id/10)-1; |
||
48 | int y = (id%10)-1; |
||
49 | |||
50 | for (int i = 0; i<_size; i++) |
||
51 | if (field[i][x]) field[i][x] = 0; else field[i][x] = 1; |
||
52 | |||
53 | for (int i = 0; i<_size; i++) |
||
54 | if (field[y][i]) field[y][i] = 0; else field[y][i] = 1; |
||
55 | |||
56 | if (field[y][x]) field[y][x] = 0; else field[y][x] = 1; |
||
57 | |||
58 | draw_window(); |
||
59 | } |
||
60 | } |
||
61 | |||
62 | int main() |
||
63 | { |
||
64 | draw_window(); |
||
65 | while(1) |
||
66 | { |
||
67 | switch(get_os_event()) |
||
68 | { |
||
69 | case evButton: |
||
70 | Button(); |
||
71 | break; |
||
72 | |||
73 | case evKey: |
||
74 | get_key(); |
||
75 | break; |
||
76 | |||
77 | case evReDraw: |
||
78 | draw_window(); |
||
79 | break; |
||
80 | } |
||
81 | } |
||
82 | } |