📄 game.cpp.html
字号:
235: <font color=#009900>void</font> Clock<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>set_time</font></b><font color=#990000>(</font><font color=#009900>int</font> h<font color=#990000>,</font> <font color=#009900>int</font> m<font color=#990000>)</font>
236: <font color=#FF0000>{</font>
237: hours <font color=#990000>=</font> h<font color=#990000>;</font>
238: minutes <font color=#990000>=</font> m<font color=#990000>;</font>
239: <font color=#FF0000>}</font>
240:
241: <font color=#009900>void</font> Clock<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>draw_tick</font></b><font color=#990000>(</font>wxDC<font color=#990000>&</font> dc<font color=#990000>,</font> <font color=#009900>double</font> angle<font color=#990000>,</font>
242: <font color=#009900>double</font> length<font color=#990000>)</font> <b><font color=#0000FF>const</font></b>
243: <font color=#FF0000>{</font>
244: <font color=#009900>double</font> alpha <font color=#990000>=</font> <font color=#990000>-</font>PI <font color=#990000>/</font> <font color=#993399>2</font> <font color=#990000>+</font> <font color=#993399>6</font> <font color=#990000>*</font> angle <font color=#990000>*</font> PI <font color=#990000>/</font> <font color=#993399>180</font><font color=#990000>;</font>
245: dc<font color=#990000>.</font><b><font color=#000000>DrawLine</font></b><font color=#990000>(</font>
246: centerx <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font>
247: <b><font color=#000000>cos</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius <font color=#990000>*</font> <font color=#990000>(</font><font color=#993399>1</font> <font color=#990000>-</font> length<font color=#990000>)</font><font color=#990000>)</font><font color=#990000>,</font>
248: centery <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font>
249: <b><font color=#000000>sin</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius <font color=#990000>*</font> <font color=#990000>(</font><font color=#993399>1</font> <font color=#990000>-</font> length<font color=#990000>)</font><font color=#990000>)</font><font color=#990000>,</font>
250: centerx <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font><b><font color=#000000>cos</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius<font color=#990000>)</font><font color=#990000>,</font>
251: centery <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font><b><font color=#000000>sin</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius<font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
252: <font color=#FF0000>}</font>
253:
254: <font color=#009900>void</font> Clock<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>draw_hand</font></b><font color=#990000>(</font>wxDC<font color=#990000>&</font> dc<font color=#990000>,</font> <font color=#009900>double</font> angle<font color=#990000>,</font>
255: <font color=#009900>double</font> length<font color=#990000>)</font> <b><font color=#0000FF>const</font></b>
256: <font color=#FF0000>{</font>
257: <font color=#009900>double</font> alpha <font color=#990000>=</font> <font color=#990000>-</font>PI <font color=#990000>/</font> <font color=#993399>2</font> <font color=#990000>+</font> <font color=#993399>6</font> <font color=#990000>*</font> angle <font color=#990000>*</font> PI <font color=#990000>/</font> <font color=#993399>180</font><font color=#990000>;</font>
258: dc<font color=#990000>.</font><b><font color=#000000>DrawLine</font></b><font color=#990000>(</font>centerx<font color=#990000>,</font> centery<font color=#990000>,</font>
259: centerx <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font><b><font color=#000000>cos</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius <font color=#990000>*</font> length<font color=#990000>)</font><font color=#990000>,</font>
260: centery <font color=#990000>+</font> <b><font color=#000000>static_cast</font></b><font color=#FF0000><int></font><font color=#990000>(</font><b><font color=#000000>sin</font></b><font color=#990000>(</font>alpha<font color=#990000>)</font> <font color=#990000>*</font> radius <font color=#990000>*</font> length<font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
261: <font color=#FF0000>}</font>
262:
263: <font color=#009900>void</font> Clock<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>draw</font></b><font color=#990000>(</font>wxDC<font color=#990000>&</font> dc<font color=#990000>)</font> <b><font color=#0000FF>const</font></b>
264: <font color=#FF0000>{</font>
265: dc<font color=#990000>.</font><b><font color=#000000>DrawEllipse</font></b><font color=#990000>(</font>centerx <font color=#990000>-</font> radius<font color=#990000>,</font> centery <font color=#990000>-</font> radius<font color=#990000>,</font>
266: <font color=#993399>2</font> <font color=#990000>*</font> radius<font color=#990000>,</font> <font color=#993399>2</font> <font color=#990000>*</font> radius<font color=#990000>)</font><font color=#990000>;</font>
267: <b><font color=#0000FF>const</font></b> <font color=#009900>double</font> HOUR_TICK_LENGTH <font color=#990000>=</font> <font color=#993399>0.2</font><font color=#990000>;</font>
268: <b><font color=#0000FF>const</font></b> <font color=#009900>double</font> MINUTE_TICK_LENGTH <font color=#990000>=</font> <font color=#993399>0.1</font><font color=#990000>;</font>
269: <b><font color=#0000FF>const</font></b> <font color=#009900>double</font> HOUR_HAND_LENGTH <font color=#990000>=</font> <font color=#993399>0.6</font><font color=#990000>;</font>
270: <b><font color=#0000FF>const</font></b> <font color=#009900>double</font> MINUTE_HAND_LENGTH <font color=#990000>=</font> <font color=#993399>0.75</font><font color=#990000>;</font>
271: <b><font color=#0000FF>for</font></b> <font color=#990000>(</font><font color=#009900>int</font> i <font color=#990000>=</font> <font color=#993399>0</font><font color=#990000>;</font> i <font color=#990000><</font> <font color=#993399>12</font><font color=#990000>;</font> i<font color=#990000>+</font><font color=#990000>+</font><font color=#990000>)</font>
272: <font color=#FF0000>{</font>
273: <b><font color=#000000>draw_tick</font></b><font color=#990000>(</font>dc<font color=#990000>,</font> i <font color=#990000>*</font> <font color=#993399>5</font><font color=#990000>,</font> HOUR_TICK_LENGTH<font color=#990000>)</font><font color=#990000>;</font>
274: <font color=#009900>int</font> j<font color=#990000>;</font>
275: <b><font color=#0000FF>for</font></b> <font color=#990000>(</font>j <font color=#990000>=</font> <font color=#993399>1</font><font color=#990000>;</font> j <font color=#990000><</font><font color=#990000>=</font> <font color=#993399>4</font><font color=#990000>;</font> j<font color=#990000>+</font><font color=#990000>+</font><font color=#990000>)</font>
276: <b><font color=#000000>draw_tick</font></b><font color=#990000>(</font>dc<font color=#990000>,</font> i <font color=#990000>*</font> <font color=#993399>5</font> <font color=#990000>+</font> j<font color=#990000>,</font> MINUTE_TICK_LENGTH<font color=#990000>)</font><font color=#990000>;</font>
277: <font color=#FF0000>}</font>
278: <b><font color=#000000>draw_hand</font></b><font color=#990000>(</font>dc<font color=#990000>,</font> minutes<font color=#990000>,</font> MINUTE_HAND_LENGTH<font color=#990000>)</font><font color=#990000>;</font>
279: <b><font color=#000000>draw_hand</font></b><font color=#990000>(</font>dc<font color=#990000>,</font> <font color=#990000>(</font>hours <font color=#990000>+</font> minutes <font color=#990000>/</font> <font color=#993399>60.0</font><font color=#990000>)</font> <font color=#990000>*</font> <font color=#993399>5</font><font color=#990000>,</font> HOUR_HAND_LENGTH<font color=#990000>)</font><font color=#990000>;</font>
280: <font color=#FF0000>}</font>
281:
282: Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>Player</font></b><font color=#990000>(</font><font color=#990000>)</font>
283: <font color=#FF0000>{</font>
284: name <font color=#990000>=</font> <font color=#FF0000>"Player"</font><font color=#990000>;</font>
285: level <font color=#990000>=</font> <font color=#993399>1</font><font color=#990000>;</font>
286: score <font color=#990000>=</font> <font color=#993399>0</font><font color=#990000>;</font>
287: <font color=#FF0000>}</font>
288:
289: <font color=#009900>void</font> Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>set_level</font></b><font color=#990000>(</font><font color=#009900>int</font> l<font color=#990000>)</font>
290: <font color=#FF0000>{</font>
291: level <font color=#990000>=</font> l<font color=#990000>;</font>
292: <font color=#FF0000>}</font>
293:
294: <font color=#009900>void</font> Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>set_name</font></b><font color=#990000>(</font>string n<font color=#990000>)</font>
295: <font color=#FF0000>{</font>
296: name <font color=#990000>=</font> n<font color=#990000>;</font>
297: <font color=#FF0000>}</font>
298:
299: <font color=#009900>int</font> Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>get_level</font></b><font color=#990000>(</font><font color=#990000>)</font> <b><font color=#0000FF>const</font></b>
300: <font color=#FF0000>{</font>
301: <b><font color=#0000FF>return</font></b> level<font color=#990000>;</font>
302: <font color=#FF0000>}</font>
303:
304: string Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>get_name</font></b><font color=#990000>(</font><font color=#990000>)</font> <b><font color=#0000FF>const</font></b>
305: <font color=#FF0000>{</font>
306: <b><font color=#0000FF>return</font></b> name<font color=#990000>;</font>
307: <font color=#FF0000>}</font>
308:
309: <font color=#009900>void</font> Player<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>increment_score</font></b><font color=#990000>(</font><font color=#990000>)</font>
310: <font color=#FF0000>{</font>
311: score<font color=#990000>+</font><font color=#990000>+</font><font color=#990000>;</font>
312: <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>score <font color=#990000>%</font> <font color=#993399>5</font> <font color=#990000>=</font><font color=#990000>=</font> <font color=#993399>0</font> <font color=#990000>&</font><font color=#990000>&</font> level <font color=#990000><</font> <font color=#993399>4</font><font color=#990000>)</font>
313: level<font color=#990000>+</font><font color=#990000>+</font><font color=#990000>;</font>
314: <font color=#FF0000>}</font>
315:
316: ClockWindow<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>ClockWindow</font></b><font color=#990000>(</font>wxWindow<font color=#990000>*</font> parent<font color=#990000>)</font>
317: <font color=#990000>:</font> <b><font color=#000000>wxWindow</font></b><font color=#990000>(</font>parent<font color=#990000>,</font> <font color=#990000>-</font><font color=#993399>1</font><font color=#990000>)</font><font color=#990000>,</font>
318: <b><font color=#000000>clock</font></b><font color=#990000>(</font><font color=#993399>200</font><font color=#990000>,</font> <font color=#993399>200</font><font color=#990000>,</font> <font color=#993399>200</font><font color=#990000>)</font>
319: <font color=#FF0000>{</font>
320: <font color=#FF0000>}</font>
321:
322: <font color=#009900>void</font> ClockWindow<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>OnPaint</font></b><font color=#990000>(</font>wxPaintEvent<font color=#990000>&</font> event<font color=#990000>)</font>
323: <font color=#FF0000>{</font>
324: wxPaintDC <b><font color=#000000>dc</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>)</font><font color=#990000>;</font>
325: dc<font color=#990000>.</font><b><font color=#000000>SetBrush</font></b><font color=#990000>(</font><font color=#990000>*</font>wxTRANSPARENT_BRUSH<font color=#990000>)</font><font color=#990000>;</font>
326: clock<font color=#990000>.</font><b><font color=#000000>draw</font></b><font color=#990000>(</font>dc<font color=#990000>)</font><font color=#990000>;</font>
327: <font color=#FF0000>}</font>
328:
329: <font color=#009900>void</font> ClockWindow<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>set_time</font></b><font color=#990000>(</font><font color=#009900>int</font> h<font color=#990000>,</font> <font color=#009900>int</font> m<font color=#990000>)</font>
330: <font color=#FF0000>{</font>
331: clock<font color=#990000>.</font><b><font color=#000000>set_time</font></b><font color=#990000>(</font>h<font color=#990000>,</font> m<font color=#990000>)</font><font color=#990000>;</font>
332: <b><font color=#000000>Refresh</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
333: <font color=#FF0000>}</font>
334:
335: GameFrame<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>GameFrame</font></b><font color=#990000>(</font><font color=#990000>)</font>
336: <font color=#990000>:</font> <b><font color=#000000>wxFrame</font></b><font color=#990000>(</font>NULL<font color=#990000>,</font> <font color=#990000>-</font><font color=#993399>1</font><font color=#990000>,</font> <font color=#FF0000>"GameFrame"</font><font color=#990000>)</font>
337: <font color=#FF0000>{</font>
338: <i><font color=#9A1900>// initialize menu</font></i>
339: wxMenu<font color=#990000>*</font> menu <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMenu</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
340: menu<font color=#990000>-</font><font color=#990000>></font><b><font color=#000000>Append</font></b><font color=#990000>(</font>ID_PLAYER_NAME<font color=#990000>,</font> <font color=#FF0000>"Name"</font><font color=#990000>)</font><font color=#990000>;</font>
341: menu<font color=#990000>-</font><font color=#990000>></font><b><font color=#000000>Append</font></b><font color=#990000>(</font>ID_PLAYER_LEVEL<font color=#990000>,</font> <font color=#FF0000>"Level"</font><font color=#990000>)</font><font color=#990000>;</font>
342:
343: <i><font color=#9A1900>// add menu to menu bar</font></i>
344: wxMenuBar<font color=#990000>*</font> menu_bar <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMenuBar</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
345: <b><font color=#000000>SetMenuBar</font></b><font color=#990000>(</font>menu_bar<font color=#990000>)</font><font color=#990000>;</font>
346: menu_bar<font color=#990000>-</font><font color=#990000>></font><b><font color=#000000>Append</font></b><font color=#990000>(</font>menu<font color=#990000>,</font> <font color=#FF0000>"Player"</font><font color=#990000>)</font><font color=#990000>;</font>
347:
348: window <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>ClockWindow</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>)</font><font color=#990000>;</font>
349:
350: hour_text <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxTextCtrl</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font> <font color=#990000>-</font><font color=#993399>1</font><font color=#990000>)</font><font color=#990000>;</font>
351: minute_text <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxTextCtrl</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font> <font color=#990000>-</font><font color=#993399>1</font><font color=#990000>)</font><font color=#990000>;</font>
352:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -