代码练习软件 打字练习软件的C++代码
- 作者: 亖呉?盀
- 来源: 51数据库
- 2020-04-21
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
#include "conio.h"
#include "dos.h"
#define xLine 70
#define yLine 20
#define full 100
#define true 1
#define false 0
/*---------------------------------------------------------------------*/
void printScreen(int level,int right,int sum,char p[yLine][xLine])/* 刷新屏幕的输出图像 */
{
int i,j;
clrscr();
printf("level:%d Press 0 to exit;1 to pause score:%d/%d\n",level,right,sum);/* 输出现在的等级,击中数和现在已下落总数 */
printf ("----------------------------------------------------------------------\n");
for (i=0;i<yLine;i++)
{
for(j=0;j<xLine;j++)
printf ("%c",p[i][j]);
printf("\n");
}/* for (i) */
printf ("----------------------------------------------------------------------\n");
}/* printScreen */
/*---------------------------------------------------------------------*/
void leave()/* 离开程序时,调用该函数结束程序。 */
{
clrscr();
printf ("\n\n\n\nThank you for playing.");
delay (2500);
exit (0);
}
/*----------------------------------------------------------------------*/
int levelChoice(int level)/* 进入游戏时选择游戏等级 */
{
while (true)/* void */
{
clrscr ();
printf("please input 1-9 to choice level.choice 0 to return.\n");
level=getch();
level=level-48;
if (level>0&&level<10) return (level);
else if (level==0)
leave ();
else
printf ("Please input a correct number!\n");
}/* while (true) */
}/* levelChoice */
/*---------------------------------------------------------------------*/
int newWord(int sum,char p[yLine][xLine])/* 随生成一个新的字符并将其加入数组的首行 */
{
int j,w;
if (sum!=full)
{
j=(rand()%(xLine-2))+1;
w=(rand()%26)+65;
p[0][j]=w;
return (++sum);
}/* if */
return (sum);
}/* newWord */
/*---------------------------------------------------------------------*/
int moving(int miss,char p[yLine][xLine])/* 将最后一行置空,并使所有在数组中其他行的字符下降一行 */
{
int i,j;
char w;
for (j=1,i=yLine-1;j<xLine-1;j++)/* 遍历最后一行的所有字符,如果该字符非空则将其置空并使miss加一 */
{
if (p[i][j]!=' ')
{
miss++;
p[i][j]=' ';
}
}
for (i=yLine-2;i>=0;i--)/* 从倒数第二行的最后一个字符开始开始向前遍历该数组内的元素,如果该位置非空则将该字符移动至下一行 */
{
for (j=xLine-2;j>0;j--)
{
if (p[i][j]!=' ')
{
w=p[i][j];
p[i][j]=' ';
p[i+1][j]=w;
}/* if */
}/* for(j) */
}/* for(i) */
return (miss);
}/* moving */
/*---------------------------------------------------------------------*/
int wordHit(char p[yLine][xLine])
/*判断是否有字符从键盘键入。
如果有,则从最后一行的最后一个元素开始遍历该数组,找出该字符,并把对应位置置空,且返回1。
如果有输入,但屏幕上无对应项,或无输入则返回0*/
{
int i,j;
char key;
if(kbhit())/* 判断用户是否从键盘键入字符。如果kbhit返回值为 */
key=getch();
if(key)
{
if (key=='0') leave();
if (key=='1')
{
clrscr();
printf ("Press any key to continue.");
getch();
}
for (i=yLine;i>0;i--)
{
for (j=xLine;j>0;j--)
{
if (key-32==p[i-1][j-1])
{
p[i-1][j-1]=' ';
return (true);
}/* if */
}/* for (j) */
}/* for (i) */
sound(300);
}/* if (key) */
return (false);
}/* wordHit */
/*---------------------------------------------------------------------*/
int result(int right)
/*判断该次的成绩并输出对应的结果,询问用户是否继续,若继续,判断是否可以进入下一级别。*/
{
int score;
char yn;
score=right*100/full;
nosound();
clrscr();
if (score==100)
printf("perfect!\n");
else if (score>=85)
printf("good!\n");
else if (score>=70)
printf("That's OK!\n");
else
printf("you need to play again.\n");
printf("do you want to continue? Y/N\n");
for (;;)/* void */
{
yn=getch();
switch (yn)
{
case 'y' :
{
if (score>=70) return(true);
else return(false);
}/* case */
case 'n' : leave ();
default : printf("Please input a correct choice:");
}/* switch */
}/* for */
}/* result */
/*---------------------------------------------------------------------*/
int start()/* 进入程序时调用该函数,提示其操作。 */
{
char c;
while (true)
{
clrscr ();
printf ("\n\n\n\n\n Welcome to type game!\n\n\n 1.start\n 2.How to play\n 0.Exit");
c=getch();
switch (c)
{
case '0' : leave();/* 用户选择退出,退出主程序 */
case '2' :
{
clrscr();
printf ("\n\n\n\n\n Hit the type when you see it on the screen.\n Press 0 to exit.\n Press 1 to pause\n 1.start\n 0.exit");
while (true)
{
c=getch ();
if (c=='0') leave();
if (c=='1') return (true);
}
}
case '1' : return (true);
}
}
}
/*----------------------------------------------------------------------*/
void main()
{
/*---------------------------------------------------------------------*/
/*函数声明*/
void printScreen(int level,int right,int sum,char p[yLine][xLine]);
void leave();
int levelChoice(int level);
int newWord(int sum,char p[yLine][xLine]);
int moving(int miss,char p[yLine][xLine]);
int wordHit(char p[yLine][xLine]);
int result(int right);
int start();
/*---------------------------------------------------------------------*/
char p[yLine][xLine];
int i,j,level,right,sum,n,m,miss;
srand(time(NULL));
start();
for (i=0;i<yLine;i++)/* 初始化屏显数组 */
{
for (j=0;j<xLine;j++)
if (j==0||j==xLine-1)
p[i][j]=140;
else
p[i][j]=' ';
}/* for (i) */
level=levelChoice(level);
for (;;)/* 开始运行主程序 */
{ sum=0;
right=0;
miss=0;
printf("Press any key to start!");
m=getch();
printScreen(level,right,sum,p);
for (n=0,m=4;;n++)
{
delay(20);/* 延迟 */
nosound();
if(m%4==0)/* 当m为4的整数倍,即上一个字母下落3行时生成一个新的字母在首行并刷新屏幕 */
{
sum=newWord(sum,p);
m=5;
printScreen(level,right,sum,p);
}/*if(newWord)*/
if (wordHit(p)==true)/* 如果用户输入了字符并且正确,则使答对的数加一,并刷新屏幕 */
{
right++;
sound (1500);
printScreen(level,right,sum,p);
}/* if(wordHit) */
if(n==(37-4*level))/* 当n=37-4*level时,屏幕上的字母下落一行,并刷新屏幕,若最后一行有字母,则使错过数加一 */
{
n=0;
m++;
miss=moving(miss,p);
printScreen(level,right,sum,p);
}/* if (moving)*/
if(right+miss==full) break;/* 当正确数加错误数等于预置的总字母个数时跳出该循环 */
}
if (result (right)==true&&level<9)/* 当用户成绩在70以上,并且等级小于9时,等级加一,即进入下一级别 */
level++;
}/* for(sum,right) */
}
//在tc3.0下编译通过
什么书用来java练习代码好, 就是用来练习各种代码
java编程100例
怎样学习代码
建议你先学习C语言,C语言是最基础的东西。
1、学代码要有信心、恒心。
2、学代码要由浅入深,从简单到复杂。
拓展资料:
代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。源代码是代码的分支,某种意义上来说,源代码相当于代码。现代程序语言中,源代码可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译,它由通过编译器完成。
(参考资料:代码-百度百科)
有什么软件可以直接执行JAVA代码的?我刚学JAVA,要练习一些简单代码,不过公司电脑没有权限配置JDK变量
MyEclipse更多
这个安装的时候要设置环境变量啥的吗?
把jdk安装下,再安装MyEclipse吧,我机器jdk安装好的。
我都说了,机器权限被禁用了,没法设置环境变量
安装jdk就行 不用设置环境变量
哦,我试试
什么软件可以练习XHTML
Macromedia Dreamweaver
可以的啊,你在创建的时候就创建Html项目啊,预览的话点击那个在浏览器中预览按钮就可以了啊 或者按F12键
推荐一本java练习书,都是程序,我要练习敲代码,谢谢
我推荐几本书吧 希望你按照顺序看 先看《head first java》(有中文版,下面2本书都是有中文版的)很浅显易懂而且图文并茂,用对话的方式讲解,你不会感到疲惫,能让你快速上手。【肯定很权威,sun认证考试是他们出题的】
再看第二本《java核心技术卷1-基础知识》,bruce eckel推荐的入门书籍。
第三本是《java核心技术卷2-高级特性》。
第四本是bruce eckel本人编写的《java编程思想》。
第五本是《head first servlet &jsp》。
第六本是《head first ejb》。
后面的关于web开发,现在流行使用框架技术,本人认为没有较好的书籍---但有个出路(直接到官方网站看api文档和示例程序源码)。更多
有没有说一种现在可以敲代码的书,我初学者,敲得慢,想多练习
想练习敲代码,建议你从网上看视频开始。视频也有讲解的。可以边看边打代码学习,其实看书没多大用处,还得落到实践中去。
好吧
如何学会写代码?
我晕、兄弟你要是完全靠自己自学的话、估计这个还是有点难哈、我建议你先学习C语言哈、在百度上搜索到处都是教程的、C语言是最基础的东西、要学习它那种编程的思想哈、学习C语言就像是你学习认汉字要先学会拼音是一样的、你现在看不懂是因为你还没接触过、C#也是一门语言哈、是微软出的、最开始是C语言、然后有C++语言、而现在的C#就相当于是C++++哈、你先把C语言搞懂了、在进行学习C#吧、其实还有很多方向的、等你学到一定的程度你就懂了、代码和软件的关系我这样给你说嘛、比如一个软件的各种功能都是靠代码去实现功能的哈、给你举个例嘛、在你的电脑桌面上、当你双击“我的电脑”的时候、为什么就打开了一个窗口了呢、这就是代码去实现的哈、希望对你有所帮助哈
小学生练习打字的软件有哪些?最基础的那种..
金山打字
从里面的键盘开始练,先把指法练熟悉练对
再学打字,打英文必须得练,再看打中文是用五笔还是拼音,就练哪种
转载请注明出处51数据库 » 代码练习软件 打字练习软件的C++代码

