- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
LabWindows/CVI虚拟仪器设计技术场景与游戏设计之: 打字练习
4.4 打字练习
4.4.1 打字练习设计方法
一般的打字练习软件包含几大功能:中文打字练习、数字打字练习、英文打字练习、中文打字测速、英文打字测速等。如金山公司推出的金山打字通软件,是一款功能齐全、数据丰富、界面友好的、集打字练习和测试于一体的打字软件。打字练习可以循序渐进突破盲打障碍,短时间运指如飞,完全摆脱枯燥学习。
利用LabWindows/CVI 开发一款打字练习游戏,设计两个字母从屏幕上方自由下落,当按键与字母相同时该字母消失并重新生成新的下落字母,每成功击键一次,得分就加一分,通过速度调节可适当加速或降低下落速度,时间设置为60s, 当一次游戏结束时,给出一分钟内打字速度说明。读者通过游戏的编程可体会键盘类游戏设计方法,同时也能提高打字速度。游戏字母范围设置为a~z,亦可设置其他字符如0~9 和A~Z,满足实际键盘练习要求。
打字窗口背景用LED 控件,并配以底色,下落字符采用Text Message 控件,设置背景透明,与窗口背景能很好融合。下落字符通过伪随机数产生,下落的Left 属性是通过随机数确定的。
对于键盘类游戏设计,通常都会在回调函数响应EVENT_KEYPRESS 事件,也只有利用该事件才能获得击键字符。一般来说,用户按键事件,支持面板和绝大多数控件。当面板或控件处于激活状态时,通过回调函数接收键盘事件。在面板或控件回调函数中,eventData1 表示按键ASCII 码,eventData2 为指向存储ASCII 码值的指针。LabWindows/CVI 约定,modifier (修饰)键为Shift 和Alt 键,menu modifier 键为Ctrl 键。
大部分虚拟键在winuser.h 头文件中定义,并以VK_开头。LabWindows/CVI 对其进行了重新定义,如表4-7 所示。
表4-7 虚拟键表
常量名 | 常量值 | 说明 |
VAL_FWD_DELETE_VKEY | 0x0100 | Del 键 |
VAL_BACKSPACE_VKEY | 0x0200 | 退格键 |
VAL_ESC_VKEY | 0x0300 | ESC 键 |
VAL_TAB_VKEY | 0x0400 | Tab 键 |
VAL_ENTER_VKEY | 0x0500 | 回车键 |
VAL_UP_ARROW_VKEY | 0x0600 | ↑键 |
VAL_DOWN_ARROW_VKEY | 0x0700 | ↓键 |
VAL_LEFT_ARROW_VKEY | 0x0800 | ←键 |
VAL_RIGHT_ARROW_VKEY | 0x0900 | →键 |
VAL_INSERT_VKEY | 0x0A00 | Insert 键 |
VAL_HOME_VKEY | 0x0B00 | Home 键 |
VAL_END_VKEY | 0x0C00 | End 键 |
VAL_PAGE_UP_VKEY | 0x0D00 | Page Up 键 |
VAL_PAGE_DOWN_VKEY | 0x0E00 | Page Down 键 |
VAL_F1_VKEY | 0x0F00 | F1 键 |
VAL_F2_VKEY | 0x1000 | F2 键 |
VAL_F3_VKEY | 0x1100 | F3 键 |
VAL_F4_VKEY | 0x1200 | F4 键 |
VAL_F5_VKEY | 0x1300 | F5 键 |
VAL_F6_VKEY | 0x1400 | F6 键 |
VAL_F7_VKEY | 0x1500 | F7 键 |
VAL_F8_VKEY | 0x1600 | F8 键 |
VAL_F9_VKEY | 0x1700 | F9 键 |
VAL_F10_VKEY | 0x1800 | F10 键 |
VAL_F11_VKEY | 0x1900 | F11 键 |
VAL_F12_VKEY | 0x1A00 | F12 键 |
上一篇:基于模块化设计的R&S
BTC可优化执行各种测试任务
下一篇:怎样采用多种单端信号驱动低功率、1Msps、±2.5V
差分输入、16
位
ADC