⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 game.cpp.html

📁 《Big C++ 》Third Edition电子书和代码全集-Part1
💻 HTML
📖 第 1 页 / 共 4 页
字号:
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>&amp;</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>&lt;int&gt;</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>&lt;int&gt;</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>&lt;int&gt;</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>&lt;int&gt;</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>&amp;</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>&lt;int&gt;</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>&lt;int&gt;</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>&amp;</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>&lt;</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>&lt;</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>&amp;</font><font color=#990000>&amp;</font> level <font color=#990000>&lt;</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>&amp;</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>&gt;</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>&gt;</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>&gt;</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 + -