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

📄 game.cpp.html

📁 《Big C++ 》Third Edition电子书和代码全集-Part1
💻 HTML
📖 第 1 页 / 共 4 页
字号:
353:    wxButton<font color=#990000>*</font> guess_button <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxButton</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font> 
354:       ID_GUESS<font color=#990000>,</font> <font color=#FF0000>"Guess"</font><font color=#990000>)</font><font color=#990000>;</font>
355: 
356:    wxBoxSizer<font color=#990000>*</font> bottom_sizer <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxBoxSizer</font></b><font color=#990000>(</font>wxHORIZONTAL<font color=#990000>)</font><font color=#990000>;</font>
357:    bottom_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font><b><font color=#0000FF>new</font></b> <b><font color=#000000>wxStaticText</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=#FF0000>"Hours"</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
358:    bottom_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font>hour_text<font color=#990000>)</font><font color=#990000>;</font>
359:    bottom_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font><b><font color=#0000FF>new</font></b> <b><font color=#000000>wxStaticText</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=#FF0000>"Minutes"</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
360:    bottom_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font>minute_text<font color=#990000>)</font><font color=#990000>;</font>
361:    bottom_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font>guess_button<font color=#990000>)</font><font color=#990000>;</font>
362: 
363:    wxBoxSizer<font color=#990000>*</font> frame_sizer <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxBoxSizer</font></b><font color=#990000>(</font>wxVERTICAL<font color=#990000>)</font><font color=#990000>;</font>
364:    frame_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font>window<font color=#990000>,</font> <font color=#993399>1</font><font color=#990000>,</font> wxGROW<font color=#990000>)</font><font color=#990000>;</font>
365:    frame_sizer<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Add</font></b><font color=#990000>(</font>bottom_sizer<font color=#990000>,</font> <font color=#993399>0</font><font color=#990000>,</font> wxALIGN_CENTER<font color=#990000>)</font><font color=#990000>;</font>
366: 
367:    <b><font color=#000000>SetAutoLayout</font></b><font color=#990000>(</font><b><font color=#0000FF>true</font></b><font color=#990000>)</font><font color=#990000>;</font>
368:    <b><font color=#000000>SetSizer</font></b><font color=#990000>(</font>frame_sizer<font color=#990000>)</font><font color=#990000>;</font>
369: 
370:    <b><font color=#000000>new_round</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
371: <font color=#FF0000>}</font>
372: 
373: <font color=#009900>void</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>OnGuess</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font>
374: <font color=#FF0000>{</font>
375:    tries<font color=#990000>+</font><font color=#990000>+</font><font color=#990000>;</font>
376:    <font color=#009900>int</font> hours <font color=#990000>=</font> <b><font color=#000000>atoi</font></b><font color=#990000>(</font>hour_text<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>GetValue</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
377:    <font color=#009900>int</font> minutes <font color=#990000>=</font> <b><font color=#000000>atoi</font></b><font color=#990000>(</font>minute_text<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>GetValue</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
378:    <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>hours <font color=#990000>&lt;</font> <font color=#993399>1</font> <font color=#990000>|</font><font color=#990000>|</font> hours <font color=#990000>&gt;</font> <font color=#993399>12</font><font color=#990000>)</font>
379:    <font color=#FF0000>{</font>
380:       wxMessageDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMessageDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
381:          <font color=#FF0000>"Hours must be between 1 and 12"</font><font color=#990000>)</font><font color=#990000>;</font>
382:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>      
383:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
384:       <b><font color=#0000FF>return</font></b><font color=#990000>;</font>
385:    <font color=#FF0000>}</font>
386:    <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>minutes <font color=#990000>&lt;</font> <font color=#993399>0</font> <font color=#990000>|</font><font color=#990000>|</font> minutes <font color=#990000>&gt;</font> <font color=#993399>59</font><font color=#990000>)</font>
387:    <font color=#FF0000>{</font>
388:       wxMessageDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMessageDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
389:          <font color=#FF0000>"Hours must be between 1 and 12"</font><font color=#990000>)</font><font color=#990000>;</font>
390:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>      
391:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
392:       <b><font color=#0000FF>return</font></b><font color=#990000>;</font>
393:    <font color=#FF0000>}</font>
394:    <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>current_hours <font color=#990000>=</font><font color=#990000>=</font> hours <font color=#990000>&amp;</font><font color=#990000>&amp;</font> current_minutes <font color=#990000>=</font><font color=#990000>=</font> minutes<font color=#990000>)</font>
395:    <font color=#FF0000>{</font>
396:       string text <font color=#990000>=</font> <font color=#FF0000>"Congratulations, "</font> <font color=#990000>+</font> player<font color=#990000>.</font><b><font color=#000000>get_name</font></b><font color=#990000>(</font><font color=#990000>)</font>
397:          <font color=#990000>+</font> <font color=#FF0000>"! That is correct."</font><font color=#990000>;</font>     
398:       wxMessageDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMessageDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
399:          text<font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
400:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
401:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
402:       player<font color=#990000>.</font><b><font color=#000000>increment_score</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
403:       <b><font color=#000000>new_round</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
404:    <font color=#FF0000>}</font>
405:    <b><font color=#0000FF>else</font></b>
406:    <font color=#FF0000>{</font>
407:       string text <font color=#990000>=</font> <font color=#FF0000>"Sorry, "</font> <font color=#990000>+</font> player<font color=#990000>.</font><b><font color=#000000>get_name</font></b><font color=#990000>(</font><font color=#990000>)</font>
408:          <font color=#990000>+</font> <font color=#FF0000>"! That is not correct."</font><font color=#990000>;</font>
409:       wxMessageDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMessageDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
410:          text<font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
411:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
412:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
413:       <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>tries <font color=#990000>=</font><font color=#990000>=</font> <font color=#993399>2</font><font color=#990000>)</font> <b><font color=#000000>new_round</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>   
414:    <font color=#FF0000>}</font>
415: <font color=#FF0000>}</font>
416: 
417: <font color=#009900>void</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>new_round</font></b><font color=#990000>(</font><font color=#990000>)</font>
418: <font color=#FF0000>{</font>
419:    tries <font color=#990000>=</font> <font color=#993399>0</font><font color=#990000>;</font>
420:    <font color=#009900>int</font> level <font color=#990000>=</font> player<font color=#990000>.</font><b><font color=#000000>get_level</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
421:    <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>level <font color=#990000>=</font><font color=#990000>=</font> <font color=#993399>1</font><font color=#990000>)</font> current_minutes <font color=#990000>=</font> <font color=#993399>0</font><font color=#990000>;</font>
422:    <b><font color=#0000FF>else</font></b> <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>level <font color=#990000>=</font><font color=#990000>=</font> <font color=#993399>2</font><font color=#990000>)</font> current_minutes <font color=#990000>=</font> <font color=#993399>15</font> <font color=#990000>*</font> <b><font color=#000000>rand_int</font></b><font color=#990000>(</font><font color=#993399>0</font><font color=#990000>,</font> <font color=#993399>3</font><font color=#990000>)</font><font color=#990000>;</font>
423:    <b><font color=#0000FF>else</font></b> <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>level <font color=#990000>=</font><font color=#990000>=</font> <font color=#993399>3</font><font color=#990000>)</font> current_minutes <font color=#990000>=</font> <font color=#993399>5</font> <font color=#990000>*</font> <b><font color=#000000>rand_int</font></b><font color=#990000>(</font><font color=#993399>0</font><font color=#990000>,</font> <font color=#993399>11</font><font color=#990000>)</font><font color=#990000>;</font>
424:    <b><font color=#0000FF>else</font></b> current_minutes <font color=#990000>=</font> <b><font color=#000000>rand_int</font></b><font color=#990000>(</font><font color=#993399>0</font><font color=#990000>,</font> <font color=#993399>59</font><font color=#990000>)</font><font color=#990000>;</font>
425:    current_hours <font color=#990000>=</font> <b><font color=#000000>rand_int</font></b><font color=#990000>(</font><font color=#993399>1</font><font color=#990000>,</font> <font color=#993399>12</font><font color=#990000>)</font><font color=#990000>;</font>
426:    window<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>set_time</font></b><font color=#990000>(</font>current_hours<font color=#990000>,</font> current_minutes<font color=#990000>)</font><font color=#990000>;</font>
427: <font color=#FF0000>}</font>
428: 
429: <font color=#009900>void</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>OnPlayerName</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font>
430: <font color=#FF0000>{</font>
431:    wxTextEntryDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxTextEntryDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
432:       <font color=#FF0000>"What is your name?"</font><font color=#990000>)</font><font color=#990000>;</font>
433:    dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
434:    player<font color=#990000>.</font><b><font color=#000000>set_name</font></b><font color=#990000>(</font>dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>GetValue</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
435:    dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
436: <font color=#FF0000>}</font>
437: 
438: <font color=#009900>void</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>OnPlayerLevel</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font>
439: <font color=#FF0000>{</font>
440:    wxTextEntryDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxTextEntryDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
441:       <font color=#FF0000>"At what level do you want to play? (1-4)"</font><font color=#990000>)</font><font color=#990000>;</font>
442:    dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
443:    <font color=#009900>int</font> level <font color=#990000>=</font> <b><font color=#000000>atoi</font></b><font color=#990000>(</font>dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>GetValue</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>.</font><b><font color=#000000>c_str</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
444:    dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
445:    <b><font color=#0000FF>if</font></b> <font color=#990000>(</font>level <font color=#990000>&lt;</font> <font color=#993399>1</font> <font color=#990000>|</font><font color=#990000>|</font> level <font color=#990000>&gt;</font> <font color=#993399>4</font><font color=#990000>)</font>
446:    <font color=#FF0000>{</font>
447:       wxMessageDialog<font color=#990000>*</font> dialog <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>wxMessageDialog</font></b><font color=#990000>(</font><b><font color=#0000FF>this</font></b><font color=#990000>,</font>
448:          <font color=#FF0000>"The level must be between 1 and 4"</font><font color=#990000>)</font><font color=#990000>;</font>
449:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>ShowModal</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>      
450:       dialog<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Destroy</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
451:       <b><font color=#0000FF>return</font></b><font color=#990000>;</font>
452:    <font color=#FF0000>}</font>
453:    player<font color=#990000>.</font><b><font color=#000000>set_level</font></b><font color=#990000>(</font>level<font color=#990000>)</font><font color=#990000>;</font>
454: <font color=#FF0000>}</font>
455: 
456: GameApp<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>GameApp</font></b><font color=#990000>(</font><font color=#990000>)</font>
457: <font color=#FF0000>{</font>
458:    <b><font color=#000000>rand_seed</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
459:    frame <font color=#990000>=</font> <b><font color=#0000FF>new</font></b> <b><font color=#000000>GameFrame</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
460: <font color=#FF0000>}</font>
461: 
462: <font color=#009900>bool</font> GameApp<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>OnInit</font></b><font color=#990000>(</font><font color=#990000>)</font>
463: <font color=#FF0000>{</font>
464:    frame<font color=#990000>-</font><font color=#990000>&gt;</font><b><font color=#000000>Show</font></b><font color=#990000>(</font><b><font color=#0000FF>true</font></b><font color=#990000>)</font><font color=#990000>;</font>
465:    <b><font color=#0000FF>return</font></b> <b><font color=#0000FF>true</font></b><font color=#990000>;</font>
466: <font color=#FF0000>}</font>
467: 
</tt>
</pre>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -