C++随手写一个打字练习软件TL(TypeLetters)附原码

C++随手写一个打字练习软件TL(TypeLetters)附原码


说明

软件名称:TL(TypeLetters)
开发语言:C++
适合人群:零基础小白或C++学习者
软件功能:打字练习软件TL(TypeLetters),复制到Windows的CMD下直接运行。
1、运行速度快,无广告。
2、无限循环的练习模式,爽到嫑嫑的。
3、可以更换练习文章,可以自定义练习文章。
4、只支持英文字母练习,练习键盘指法足够。
5、有C++源码,可以自行修改和扩展功能。
6、源码注释详细,C++学习者可以参考。


软件截屏

CMD运行软件:输入tl,即可运行

CMD运行软件:输入tl,即可运行。

源码截屏

源码截屏

无限循环练习

无限循环练习

醒目的错误提示

醒目的错误提示

选择练习文章

选择练习文章,有新的文章(*.txt)可以直接放到articles目录下,会自动列出


部分源码

					if(key==8){
						//backspace 退格键,回退删除一个字符
						//	cout<<"::"<<cursorX;
						if(cursorX>0){
							cursorX-=1;
						}else{
							cursorX=0;
						}
						setCursorPosition(cursorY,cursorX);
						//将光标处的字符消除为空格
						cout<<" ";
						setToStr(cursorY-1,cursorX,colorSys,0);//设置为原始颜色
						setCursorPosition(cursorY,cursorX);//重新定位光标
					}else if(key==13){
						//回车换行符处理
						if(cursorX>=strTxt.length()){
							//是行尾,换下一行
							nextLine();
						}else{
							//不是行尾则不响应
						}
					}else if(key==16){
						//ctrl+p,暂停/继续

					}else if(key>0x1F&&key<0x7F){
						//是键盘字符,则输出字符,0x20,空格;0xD,回车键
						charTxt = strTxt[cursorX];
						if(cursorX<strTxt.length()){
							cout<<key;
						}
						//与原串字符比较是否相同
						if(charTxt==key){
							//设置为通过颜色
							setToStr(cursorY-1,cursorX,colorYes,charTxt);	
						}else{
							//设置为不通过的颜色
							if(charTxt==0x20){
								//空格
								charTxt = '_';
							}
							setToStr(cursorY-1,cursorX,colorNo,charTxt);	
						}
						if(cursorX>=strTxt.length()-1){
							//本行已打完,换下一行
							nextLine();
						}else{
							cursorX++;
						}
					}

压缩包下载

共有两个压缩包,点击下载:
1、TL(TypeLetters)exe.rar,可以CMD中直接运行
2、TL(TypeLetters)src.rar,源码包
原码请下载第2个:TL(TypeLetters)src.rar

(全文完)

相关推荐

  1. 顺序表练习版)

    2024-05-11 10:40:13       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 10:40:13       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 10:40:13       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 10:40:13       82 阅读
  4. Python语言-面向对象

    2024-05-11 10:40:13       91 阅读

热门阅读

  1. No row with the given identifier exists 解决方法

    2024-05-11 10:40:13       35 阅读
  2. asp.net结课作业中遇到的问题解决4

    2024-05-11 10:40:13       29 阅读
  3. B+树(B+ Tree)

    2024-05-11 10:40:13       28 阅读
  4. Vue2之父子组件传值中使用watch监听props中的对象

    2024-05-11 10:40:13       32 阅读
  5. 如何从零开始开发一个简单的消息队列处理框架

    2024-05-11 10:40:13       32 阅读
  6. js设计模式--观察者模式

    2024-05-11 10:40:13       30 阅读
  7. string转wchar_t *

    2024-05-11 10:40:13       29 阅读
  8. Ajax 笔记02

    2024-05-11 10:40:13       27 阅读