📄 game.cpp.html
字号:
<pre>
<tt>
001: <b><font color=#000080>#include</font></b> <font color=#FF0000><wx/wx.h></font>
002: <b><font color=#000080>#include</font></b> <font color=#FF0000><string></font>
003: <b><font color=#000080>#include</font></b> <font color=#FF0000><cstdlib></font>
004:
005: <b><font color=#0000FF>const</font></b> <font color=#009900>double</font> PI <font color=#990000>=</font> <font color=#993399>3.141592653589793</font><font color=#990000>;</font>
006:
007: <b><font color=#0000FF>const</font></b> <font color=#009900>int</font> ID_GUESS <font color=#990000>=</font> <font color=#993399>1000</font><font color=#990000>;</font>
008: <b><font color=#0000FF>const</font></b> <font color=#009900>int</font> ID_PLAYER_NAME <font color=#990000>=</font> <font color=#993399>1001</font><font color=#990000>;</font>
009: <b><font color=#0000FF>const</font></b> <font color=#009900>int</font> ID_PLAYER_LEVEL <font color=#990000>=</font> <font color=#993399>1002</font><font color=#990000>;</font>
010:
011: <i><font color=#9A1900>/**</font></i>
012: <i><font color=#9A1900> A clock that can draw its face.</font></i>
013: <i><font color=#9A1900>*/</font></i>
014: <b><font color=#0000FF>class</font></b> Clock
015: <font color=#FF0000>{</font>
016: <b><font color=#0000FF>public</font></b><font color=#990000>:</font>
017: <i><font color=#9A1900>/**</font></i>
018: <i><font color=#9A1900> Constructs a clock with a given center and radius.</font></i>
019: <i><font color=#9A1900> @param x the x-coordinate of the center</font></i>
020: <i><font color=#9A1900> @param y the y-coordinate of the center</font></i>
021: <i><font color=#9A1900> @param r the radius of the clock</font></i>
022: <i><font color=#9A1900> */</font></i>
023: <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><font color=#990000>;</font>
024:
025: <i><font color=#9A1900>/**</font></i>
026: <i><font color=#9A1900> Sets the current time.</font></i>
027: <i><font color=#9A1900> @param h the hours to set</font></i>
028: <i><font color=#9A1900> @param m the minutes to set</font></i>
029: <i><font color=#9A1900> */</font></i>
030: <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>
031:
032: <i><font color=#9A1900>/**</font></i>
033: <i><font color=#9A1900> Draws the clock face, with tick marks and hands.</font></i>
034: <i><font color=#9A1900> @param dc the device context to draw on</font></i>
035: <i><font color=#9A1900> */</font></i>
036: <font color=#009900>void</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><font color=#990000>;</font>
037: <b><font color=#0000FF>private</font></b><font color=#990000>:</font>
038: <i><font color=#9A1900>/**</font></i>
039: <i><font color=#9A1900> Draw a tick mark (hour or minute mark).</font></i>
040: <i><font color=#9A1900> @param dc the device context to draw on</font></i>
041: <i><font color=#9A1900> @param angle the angle in minutes (0...59, 0 = top)</font></i>
042: <i><font color=#9A1900> @param length the length of the tick mark, as a fraction</font></i>
043: <i><font color=#9A1900> of the radius (between 0.0 and 1.0)</font></i>
044: <i><font color=#9A1900> */</font></i>
045: <font color=#009900>void</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> <font color=#009900>double</font> length<font color=#990000>)</font> <b><font color=#0000FF>const</font></b><font color=#990000>;</font>
046:
047: <i><font color=#9A1900>/**</font></i>
048: <i><font color=#9A1900> Draw a hand, starting from the center.</font></i>
049: <i><font color=#9A1900> @param dc the device context to draw on</font></i>
050: <i><font color=#9A1900> @param angle the angle in minutes (0...59, 0 = top)</font></i>
051: <i><font color=#9A1900> @param length the length of the hand, as a fraction</font></i>
052: <i><font color=#9A1900> of the radius (between 0.0 and 1.0)</font></i>
053: <i><font color=#9A1900> */</font></i>
054: <font color=#009900>void</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> <font color=#009900>double</font> length<font color=#990000>)</font> <b><font color=#0000FF>const</font></b><font color=#990000>;</font>
055:
056: <font color=#009900>int</font> hours<font color=#990000>;</font>
057: <font color=#009900>int</font> minutes<font color=#990000>;</font>
058: <font color=#009900>int</font> centerx<font color=#990000>;</font>
059: <font color=#009900>int</font> centery<font color=#990000>;</font>
060: <font color=#009900>int</font> radius<font color=#990000>;</font>
061: <font color=#FF0000>}</font><font color=#990000>;</font>
062:
063: <i><font color=#9A1900>/**</font></i>
064: <i><font color=#9A1900> The player of the clock game.</font></i>
065: <i><font color=#9A1900>*/</font></i>
066: <b><font color=#0000FF>class</font></b> Player
067: <font color=#FF0000>{</font>
068: <b><font color=#0000FF>public</font></b><font color=#990000>:</font>
069: <i><font color=#9A1900>/**</font></i>
070: <i><font color=#9A1900> Constructs a player with name "Player", </font></i>
071: <i><font color=#9A1900> level 1, and score 0.</font></i>
072: <i><font color=#9A1900> */</font></i>
073: <b><font color=#000000>Player</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
074:
075: <i><font color=#9A1900>/**</font></i>
076: <i><font color=#9A1900> Increments the score. Moves to next level if current </font></i>
077: <i><font color=#9A1900> level complete</font></i>
078: <i><font color=#9A1900> */</font></i>
079: <font color=#009900>void</font> <b><font color=#000000>increment_score</font></b><font color=#990000>(</font><font color=#990000>)</font><font color=#990000>;</font>
080:
081: <i><font color=#9A1900>/**</font></i>
082: <i><font color=#9A1900> Gets the current level.</font></i>
083: <i><font color=#9A1900> @return the level</font></i>
084: <i><font color=#9A1900> */</font></i>
085: <font color=#009900>int</font> <b><font color=#000000>get_level</font></b><font color=#990000>(</font><font color=#990000>)</font> <b><font color=#0000FF>const</font></b><font color=#990000>;</font>
086:
087: <i><font color=#9A1900>/**</font></i>
088: <i><font color=#9A1900> Gets the player's name.</font></i>
089: <i><font color=#9A1900> @return the name</font></i>
090: <i><font color=#9A1900> */</font></i>
091: string <b><font color=#000000>get_name</font></b><font color=#990000>(</font><font color=#990000>)</font> <b><font color=#0000FF>const</font></b><font color=#990000>;</font>
092:
093: <i><font color=#9A1900>/**</font></i>
094: <i><font color=#9A1900> Sets the player's level.</font></i>
095: <i><font color=#9A1900> @param l the level</font></i>
096: <i><font color=#9A1900> */</font></i>
097: <font color=#009900>void</font> <b><font color=#000000>set_level</font></b><font color=#990000>(</font><font color=#009900>int</font> l<font color=#990000>)</font><font color=#990000>;</font>
098:
099: <i><font color=#9A1900>/**</font></i>
100: <i><font color=#9A1900> Sets the player's name.</font></i>
101: <i><font color=#9A1900> @param n the name</font></i>
102: <i><font color=#9A1900> */</font></i>
103: <font color=#009900>void</font> <b><font color=#000000>set_name</font></b><font color=#990000>(</font>string n<font color=#990000>)</font><font color=#990000>;</font>
104: <b><font color=#0000FF>private</font></b><font color=#990000>:</font>
105: string name<font color=#990000>;</font>
106: <font color=#009900>int</font> score<font color=#990000>;</font>
107: <font color=#009900>int</font> level<font color=#990000>;</font>
108: <font color=#FF0000>}</font><font color=#990000>;</font>
109:
110: <i><font color=#9A1900>/**</font></i>
111: <i><font color=#9A1900> The window that shows the clock.</font></i>
112: <i><font color=#9A1900>*/</font></i>
113: <b><font color=#0000FF>class</font></b> ClockWindow <font color=#990000>:</font> <b><font color=#0000FF>public</font></b> wxWindow
114: <font color=#FF0000>{</font>
115: <b><font color=#0000FF>public</font></b><font color=#990000>:</font>
116: <i><font color=#9A1900>/**</font></i>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -