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

📄 game.cpp.html

📁 《Big C++ 》Third Edition电子书和代码全集-Part1
💻 HTML
📖 第 1 页 / 共 4 页
字号:
117: <i><font color=#9A1900>      Constructs a clock window.</font></i>
118: <i><font color=#9A1900>      @param parent the parent window</font></i>
119: <i><font color=#9A1900>   */</font></i>
120:    <b><font color=#000000>ClockWindow</font></b><font color=#990000>(</font>wxWindow<font color=#990000>*</font> parent<font color=#990000>)</font><font color=#990000>;</font>
121:    <i><font color=#9A1900>/**</font></i>
122: <i><font color=#9A1900>      Sets the time of the clock and repaints it.</font></i>
123: <i><font color=#9A1900>      @param h the hours</font></i>
124: <i><font color=#9A1900>      @param m the minutes</font></i>
125: <i><font color=#9A1900>   */</font></i>
126:    <font color=#009900>void</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><font color=#990000>;</font>
127:    <i><font color=#9A1900>/**</font></i>
128: <i><font color=#9A1900>      Paints the clock.</font></i>
129: <i><font color=#9A1900>      @param event the event descriptor</font></i>
130: <i><font color=#9A1900>   */</font></i>      
131:    <font color=#009900>void</font> <b><font color=#000000>OnPaint</font></b><font color=#990000>(</font>wxPaintEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font><font color=#990000>;</font>
132: <b><font color=#0000FF>private</font></b><font color=#990000>:</font>
133:    Clock clock<font color=#990000>;</font>
134:    <b><font color=#000000>DECLARE_EVENT_TABLE</font></b><font color=#990000>(</font><font color=#990000>)</font>
135: <font color=#FF0000>}</font><font color=#990000>;</font>
136: 
137: <i><font color=#9A1900>/**</font></i>
138: <i><font color=#9A1900>   The frame that contains the clock window and the</font></i>
139: <i><font color=#9A1900>   fields for entering a guess.</font></i>
140: <i><font color=#9A1900>*/</font></i>
141: <b><font color=#0000FF>class</font></b> GameFrame <font color=#990000>:</font> <b><font color=#0000FF>public</font></b> wxFrame
142: <font color=#FF0000>{</font>
143: <b><font color=#0000FF>public</font></b><font color=#990000>:</font>
144:    <i><font color=#9A1900>/**</font></i>
145: <i><font color=#9A1900>      Constructs the game frame.</font></i>
146: <i><font color=#9A1900>   */</font></i>
147:    <b><font color=#000000>GameFrame</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
148: 
149:    <i><font color=#9A1900>/**</font></i>
150: <i><font color=#9A1900>      Starts a new round, with a new clock time.</font></i>
151: <i><font color=#9A1900>   */</font></i>
152:    <font color=#009900>void</font> <b><font color=#000000>new_round</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
153:    <i><font color=#9A1900>/**</font></i>
154: <i><font color=#9A1900>      Processes the player's guess.</font></i>
155: <i><font color=#9A1900>      @param event the event descriptor</font></i>
156: <i><font color=#9A1900>   */</font></i>         
157:    <font color=#009900>void</font> <b><font color=#000000>OnGuess</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font><font color=#990000>;</font>
158:    <i><font color=#9A1900>/**</font></i>
159: <i><font color=#9A1900>      Prompts the player to enter a name.</font></i>
160: <i><font color=#9A1900>      @param event the event descriptor</font></i>
161: <i><font color=#9A1900>   */</font></i>         
162:    <font color=#009900>void</font> <b><font color=#000000>OnPlayerName</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font><font color=#990000>;</font>
163:    <i><font color=#9A1900>/**</font></i>
164: <i><font color=#9A1900>      Prompts the player to enter a level.</font></i>
165: <i><font color=#9A1900>      @param event the event descriptor</font></i>
166: <i><font color=#9A1900>   */</font></i>         
167:    <font color=#009900>void</font> <b><font color=#000000>OnPlayerLevel</font></b><font color=#990000>(</font>wxCommandEvent<font color=#990000>&amp;</font> event<font color=#990000>)</font><font color=#990000>;</font>
168: <b><font color=#0000FF>private</font></b><font color=#990000>:</font>
169:    ClockWindow<font color=#990000>*</font> window<font color=#990000>;</font>
170:    wxTextCtrl<font color=#990000>*</font> hour_text<font color=#990000>;</font>
171:    wxTextCtrl<font color=#990000>*</font> minute_text<font color=#990000>;</font>
172:    Player player<font color=#990000>;</font>
173:    <font color=#009900>int</font> current_hours<font color=#990000>;</font>
174:    <font color=#009900>int</font> current_minutes<font color=#990000>;</font>
175:    <font color=#009900>int</font> tries<font color=#990000>;</font>
176:    <b><font color=#000000>DECLARE_EVENT_TABLE</font></b><font color=#990000>(</font><font color=#990000>)</font>
177: <font color=#FF0000>}</font><font color=#990000>;</font>
178: 
179: <i><font color=#9A1900>/**</font></i>
180: <i><font color=#9A1900>   The clock game application.</font></i>
181: <i><font color=#9A1900>*/</font></i>
182: <b><font color=#0000FF>class</font></b> GameApp <font color=#990000>:</font> <b><font color=#0000FF>public</font></b> wxApp
183: <font color=#FF0000>{</font>
184: <b><font color=#0000FF>public</font></b><font color=#990000>:</font>
185:    <i><font color=#9A1900>/**</font></i>
186: <i><font color=#9A1900>      Constructs the application.</font></i>
187: <i><font color=#9A1900>   */</font></i>
188:    <b><font color=#000000>GameApp</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
189:    <b><font color=#0000FF>virtual</font></b> <font color=#009900>bool</font> <b><font color=#000000>OnInit</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
190: <b><font color=#0000FF>private</font></b><font color=#990000>:</font>
191:    GameFrame<font color=#990000>*</font> frame<font color=#990000>;</font>
192: <font color=#FF0000>}</font><font color=#990000>;</font>
193: 
194: <b><font color=#000000>DECLARE_APP</font></b><font color=#990000>(</font>GameApp<font color=#990000>)</font>
195: 
196: <b><font color=#000000>IMPLEMENT_APP</font></b><font color=#990000>(</font>GameApp<font color=#990000>)</font>
197: 
198: <b><font color=#000000>BEGIN_EVENT_TABLE</font></b><font color=#990000>(</font>ClockWindow<font color=#990000>,</font> wxWindow<font color=#990000>)</font>
199:    <b><font color=#000000>EVT_PAINT</font></b><font color=#990000>(</font>ClockWindow<font color=#990000>:</font><font color=#990000>:</font>OnPaint<font color=#990000>)</font>
200: <b><font color=#000000>END_EVENT_TABLE</font></b><font color=#990000>(</font><font color=#990000>)</font>
201: 
202: <b><font color=#000000>BEGIN_EVENT_TABLE</font></b><font color=#990000>(</font>GameFrame<font color=#990000>,</font> wxFrame<font color=#990000>)</font>
203:    <b><font color=#000000>EVT_BUTTON</font></b><font color=#990000>(</font>ID_GUESS<font color=#990000>,</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font>OnGuess<font color=#990000>)</font>
204:    <b><font color=#000000>EVT_MENU</font></b><font color=#990000>(</font>ID_PLAYER_NAME<font color=#990000>,</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font>OnPlayerName<font color=#990000>)</font>
205:    <b><font color=#000000>EVT_MENU</font></b><font color=#990000>(</font>ID_PLAYER_LEVEL<font color=#990000>,</font> GameFrame<font color=#990000>:</font><font color=#990000>:</font>OnPlayerLevel<font color=#990000>)</font> 
206: <b><font color=#000000>END_EVENT_TABLE</font></b><font color=#990000>(</font><font color=#990000>)</font>
207: 
208: <i><font color=#9A1900>/**</font></i>
209: <i><font color=#9A1900>   Sets the seed of the random number generator.</font></i>
210: <i><font color=#9A1900>*/</font></i>
211: <font color=#009900>void</font> <b><font color=#000000>rand_seed</font></b><font color=#990000>(</font><font color=#990000>)</font>
212: <font color=#FF0000>{</font>  
213:    <font color=#009900>int</font> seed <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>time</font></b><font color=#990000>(</font><font color=#993399>0</font><font color=#990000>)</font><font color=#990000>)</font><font color=#990000>;</font>
214:    <b><font color=#000000>srand</font></b><font color=#990000>(</font>seed<font color=#990000>)</font><font color=#990000>;</font>
215: <font color=#FF0000>}</font>
216: 
217: <i><font color=#9A1900>/**</font></i>
218: <i><font color=#9A1900>   Returns a random integer in a range.</font></i>
219: <i><font color=#9A1900>   @param a the bottom of the range</font></i>
220: <i><font color=#9A1900>   @param b the top of the range</font></i>
221: <i><font color=#9A1900>   @return a random number x, a &lt;= x and x &lt;= b</font></i>
222: <i><font color=#9A1900>*/</font></i>
223: <font color=#009900>int</font> <b><font color=#000000>rand_int</font></b><font color=#990000>(</font><font color=#009900>int</font> a<font color=#990000>,</font> <font color=#009900>int</font> b<font color=#990000>)</font>
224: <font color=#FF0000>{</font>  
225:    <b><font color=#0000FF>return</font></b> a <font color=#990000>+</font> <b><font color=#000000>rand</font></b><font color=#990000>(</font><font color=#990000>)</font> <font color=#990000>%</font> <font color=#990000>(</font>b <font color=#990000>-</font> a <font color=#990000>+</font> <font color=#993399>1</font><font color=#990000>)</font><font color=#990000>;</font>
226: <font color=#FF0000>}</font>
227: 
228: Clock<font color=#990000>:</font><font color=#990000>:</font><b><font color=#000000>Clock</font></b><font color=#990000>(</font><font color=#009900>int</font> x<font color=#990000>,</font> <font color=#009900>int</font> y<font color=#990000>,</font> <font color=#009900>int</font> r<font color=#990000>)</font>
229: <font color=#FF0000>{</font>  
230:    centerx <font color=#990000>=</font> x<font color=#990000>;</font>
231:    centery <font color=#990000>=</font> y<font color=#990000>;</font>
232:    radius <font color=#990000>=</font> r<font color=#990000>;</font>
233: <font color=#FF0000>}</font>
234: 

⌨️ 快捷键说明

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