打字游戏源代码

打字游戏源代码
打字游戏源代码

DefaultFrame .java 程序

import java.awt.*;

import java.awt.color.*;

import java.awt.event.*;

public class DefaultFrame extends Frame {

public static final int GAME_WIDTH = 600;

public static final int GAME_HEIGHT = 400;

public static void main(String[] args) {

DefaultFrame defaultFrame1 = new DefaultFrame();

https://www.360docs.net/doc/7e9850522.html,uchFrame();

}

private void lauchFrame() {

this.setBounds(150, 150, GAME_WIDTH, GAME_HEIGHT);

this.setBackground(Color.DARK_GRAY);

this.setResizable(false);

this.setVisible(true);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

KeyMonitor km = new KeyMonitor(this);

this.addKeyListener(km);

}

class KeyMonitor extends KeyAdapter {

private DefaultFrame defaultFrame;

public KeyMonitor (DefaultFrame d) {

defaultFrame = d;

}

public void keyPressed(KeyEvent e) {

if(e.getKeyCode() == KeyEvent.VK_SPACE) {

defaultFrame.setVisible(false);

new GameFrame().launchFrame();

}

}

}

public void paint(Graphics g) {

g.setFont(new Font("a",Font.BOLD,20));

g.setColor(Color.blue);

g.drawString("打字小游戏", 250, 100);

g.drawString("看看30秒时间你能打多少个字母", 150, 200);

g.drawString("按空格键开始游戏", 200, 300);

}

}

GameFrame.java程序

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.util.List;

public class GameFrame extends Frame {

public static final int GAME_WIDTH = 600;

public static final int GAME_HEIGHT = 400;

public static int GAME_LEVEL = 2;

public static int charNum = 0; //记录总字符数

public static int hitNum = 0; //记录打中的字符数

List myChar = new ArrayList();

private boolean timeUp = false;

private Image offScreenImage = null;

public void launchFrame() {

this.setBounds(150, 150, GAME_WIDTH, GAME_HEIGHT);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent arg0) {

System.exit(0);

}

});

this.setVisible(true);

KeyMonitor keyMonitor = new KeyMonitor();

this.addKeyListener(keyMonitor);

Thread t = new Thread(new CreaterChar());

t.start();

new Thread(new CountTime()).start();

new Thread(new Repaint()).start();

}

class KeyMonitor extends KeyAdapter {

public void keyPressed(KeyEvent e) {

for(int i = 0; i < myChar.size();i++) {

MyChar aChar = (MyChar)myChar.get(i);

aChar.keyPressed(e);

}

}

}

public void paint(Graphics g) {

g.setColor(Color.red);

g.setFont(new Font("a",Font.BOLD,10));

// g.drawString("屏幕中字符数" + myChar.size(), 500, 40);

g.drawString("打中的字符数"+ hitNum, 450, 60);

for (int i = 0; i < myChar.size(); i++) {

MyChar aChar = (MyChar)myChar.get(i);

if(aChar.isLive())

aChar.draw(g);

else {

myChar.remove(myChar.get(i));

}

}

if(timeUp == true) {

g.setColor(Color.blue);

g.drawString("Time Up", 200, 150);

g.drawString("打中的字符数"+ hitNum,200,200);

g.drawString("按F1重新开始",200,250);

}

}

// 双缓冲技术

public void update(Graphics g) {

if (offScreenImage == null) {

offScreenImage = this.createImage(GAME_WIDTH,GAME_HEIGHT);

}

Graphics gOffScreen = offScreenImage.getGraphics();

Color c = gOffScreen.getColor();

gOffScreen.setColor(Color.GREEN);

gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);

paint(gOffScreen);

gOffScreen.setColor(c);

g.drawImage(offScreenImage, 0, 0, null);

}

class CreaterChar implements Runnable {

public void run() {

int sleep = 0;

switch (GAME_LEVEL) {

case 2:

sleep = 1000;

}

while (!timeUp) {

try {

MyChar newchar = new MyChar();

MyChar newchar1 = new MyChar();

MyChar newchar2 = new MyChar();

myChar.add(newchar);

myChar.add(newchar1);

myChar.add(newchar2);

charNum ++;

repaint();

Thread.sleep(sleep);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

repaint();

}

}

class CountTime implements Runnable {

public void run() {

try {

Thread.sleep(30000);

} catch (InterruptedException e) {

e.printStackTrace();

}

timeUp = true;

}

}

class Repaint implements Runnable {

public void run() {

while(timeUp == false) {

try {

Thread.sleep(100);

} catch (InterruptedException e) {

// TODO 自动生成catch 块

e.printStackTrace();

}

repaint();

}

}

}

}

MyChar.java程序

import java.awt.Graphics;

import java.awt.color.*;

import java.awt.event.KeyEvent;

import java.awt.*;

public class MyChar {

String charString = "abcdefghijklmnopqrstuvwxyz";

int x,y;

int index;

String str;

char c;

boolean live;

public MyChar () {

x = new java.util.Random().nextInt();

if(x < 0)

x = x * (-1);

x = (x % 115 + 1) * 5;

y = 50;

index = new java.util.Random().nextInt();

if (index < 0)

index = index * (-1);

index = index %26;

c = charString.charAt(index);

str = String.valueOf(c);

live = true;

}

public void draw(Graphics g) {

g.setColor(Color.BLACK);

g.setFont(new Font("a",Font.BOLD,20));

g.drawString(str,x ,y );

y = y + 10;

if(y > GameFrame.GAME_HEIGHT - 40) {

live = false;

}

}

public void keyPressed(KeyEvent e) {

if(e.getKeyChar() == c) {

GameFrame.hitNum++;

live = false;

}

if(e.getKeyCode() == KeyEvent.VK_F1) {

GameFrame.charNum = 0;

GameFrame.hitNum = 0;

new GameFrame().launchFrame();

}

}

public boolean isLive() {

return live;

}

}

汇编课程设计汇本打字游戏

华北科技学院 课程设计说明书 专业:网络工程 课程名称: 汇编课程设计 设计题目: 打字游戏设计 设计时间: 2011-12-05 至2011-12-16 评语: ________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:____评阅教师:___

课程设计报告的要求 1、需求分析 描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。 2、总体设计(程序设计组成框图、流程图) 3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,过程调用关系描述等)) 4、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 5、测试结果,用几组测试数据进行测试算法设计的正确性。 6、附录。源程序清单和结果:源程序要加注释。结果要包括测试数据和运行结果。 《汇编语言》课程设计案例 一、问题述及其需求分析 要求:利用汇编语言编写一个小的打字游戏 容:编写程序,在打开的菜单页面中选择游戏的难度。 难度选择包括以下5个选择 (1)very slow (2)slow (3)normal (4)fast (5)very fast 在编写过程中包括以下几个部分: (1)初始化上部分的字母 (2)获得下落的字母 (3)字母下移,同时覆盖原来的字母 (4)判断是否有输入 (5)若无输入则下落到最后 (6)覆盖原来的字符

汇编语言课程设计报告-打字练习程序

提供全套毕业设计,欢迎咨询 汇编语言课程设计报告 程序题目:打字练习程序 学生姓名:XX 班级:2010级计算机科学与技术专业4班学号:XXX 院系:计算机科学学院 指导教师:XXX

目录

1设计目的 本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的: 1. 增进对汇编语言的认识,加强用汇编语言编程的能力; 2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; 3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; 4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; 5. 掌握屏幕输出显示的设计方法。 2概要设计 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明

是 否 否 是 是 图2-1程序设计流程图 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER 进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1: 3 详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)

小学信息技术教案-第7课玩打字游戏”教学设计

第7课玩打字游戏”教学设计 【教学目标】 ?键盘的分区,掌握主键盘区字母键、数字键、符号键 的名称和分布情况 ?掌握键盘操作的正确姿势 ?熟练掌握正确的指法分工 【教学内容】 ?键盘上的字母键、双字符键和控制键 ?键盘操作的正确姿势和指法分工 【教学重难点】 重点:指法分工的掌握 难点:数字键输入、上档键的应用 【教材分析与教学建议】 经过前面的学习,学生已经对键盘与键盘操作比较熟悉,因此本课主要通过游戏的方式使学生巩固键盘的操作技能,帮助学生进一步提高用键盘输入字符的准确率和速度。 打字练习的题目最好结合语文学科的拼音和英语学科的 单词等。 在打字训练时可以配上节奏合适的音乐,营造愉快、舒 适的氛围。

要想学生做到盲打,要用一两节课做到是挺难的,建议 在以后每节课前利用5分钟时间进行练习。 【教学方法和手段】 讲练结合,强调实践 【教学过程】 一、导入 师:上一节课,我们认识了键盘,而且还学会了输入基 本的字母、数字和常见符号。但是要又快又准地输入单词或汉字,还需要我们掌握正确的键盘操作方法。掌握了正确的键盘 操作方法,再加上勤奋练习,就能自如地利用键盘与计算机进 行沟通交流。现在老师可以给大家演示一下快速的键盘输入。 (让学生总结信息技术课程的学习收获,同时将学生的“总结语”输入word,演示快速“盲打”效果,激发学生学 习键盘输入技巧的积极性。) 二、了解键盘输入的基本指法和正确姿势 师(边讲解边演示):主键盘区第三排上的“a” “s” “d” “f”和“j” “k” “l” “;” 这8个键叫做基本键。开始操作键盘的时候,双手拇指轻放在空格键上,其余的 8个手指放在这8个键上。基本键是打字时手指所处的基准位置,击打其他任何键,手指都是从这里出发,而且打完后又须 立即退回到基本键位。 左手食指负责的键位有4、5、r、t、f、g、v、b共八 个键,中指负责3、e、d、c共四个键,无名指负责2、w、s、

java课程设计报告--打字游戏

java课程设计报告--打字游戏 Java开发技术课程设计 (打字游戏) 学院:计算机与信息工程学院 学号:****** 姓名: ** 时间:2011年12月14日 一、程序描述 1.1程序设计的目的 通过java开发技术课程的学习,我初步了解了如何运用java语言编写程序。课程结束后,按老师的要求,在查找资料后,我完成了打字练习这个程序。 在这个过程中,主要达到了两个目的,一是检验和巩固专业知识,二是提高综合 课堂上掌握的理论知识与处理数据的素质和能力。通过该程序的编写,可以将我 业务相结合,以检验我掌握知识的宽度、深度及对知识的综合运用能力。 1.2程序设计的要求 (1)程序的界面会随机的出现字母和数字,玩家在键盘上摁相应的键后,界面上的对应的字符就会消失 (2)字符下落的速度可以选择,完成一定量的字符后,显示进入下一关,下一关的速度加快 (3)能统计正确与错误的字符数分别是多少

(4)程序的主界面是能够给玩家第一感官的部分,主要包括程序图形区域界面、程序的显示更新界面。 1.3程序设计的环境 Windows xp操作系统、Myeclipse编辑工具、jdk1.6 二、分析与设计 2.1 游戏处理流程 本次游戏设计的处理流程如下图所示 进入游戏画面 单击“开始”按钮, 游戏开始,字符开始随机。 根据出现的字符按相应的 键,对应一个消失一个(字 符)按对一定字符后将提示 进入下一关,下一关的速度 有所增加。速度也可单独调 节。 没有摁倒相应游戏中途欲中 的键,错误的断,稍后继续 数字将加一游戏 单击“退出” 单击“暂停” 退出游戏游戏暂停 再次单击开始 游戏,游戏恢复 游戏处理流程图 2.2需求分析

打字练习游戏程序

摘要 汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言亦称为符号语言。 关键字:汇编语言、程序设计、助记符

目录 摘要 0 目录 (1) 前言 (2) 第1章系统分析 (3) 第2章系统总体设计 (4) 2.1打字程序包括以下五个子程序: (4) 2.2算法的整体设计思路 (4) 2.3程序的主要特点 (4) 第3章详细设计 (5) 3.1主界面伪代码 (5) 3.2等级界面伪代码 (5) 3.3游戏界面伪代码 (6) 3.4清屏子程序设计 (6) 3.5密码程序设计 (7) 3.6宏代码 (8) 3.6.1在指定位置显示彩色字符串 (8) 3.6.2显示背景 (9) 3.6.3画横向边框的宏 (9) 3.6.4画竖边框的宏 (10) 3.7功能的进一步完善 (11) 3.7.1完善代码一 (11) 3.7.2完善代码二 (12) 3.7.3完善代码三 (12) 第4章软件使用说明书 (14) 4.1密码界面图: (14) 4.2主界面图: (14) 4.3等级选择界面: (14) 4.4游戏界面: (15) 参考文献 (17) 致谢 (18) 源代码: (19)

前言 随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。 《打字游戏程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过具体的问题分析、设计、调试、运行程序。在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。这个程序最终通过菜单所提示的信息选取所要进入的界面,获得所要的功能。

打字训练测试软件_Java课程设计报告书

word格式文档 《程序设计实践》题目:打字训练测试软件 学校:陕西工业学院 学院:信息学院 班级:信管12-2 学号:201213156619 姓名:刘克豪 2014 年11 月09 日

基础类、IO流与异常处理程序设计 一、实践要求 1.掌握Java常用基础类API。 2.掌握输入输出流常用类API。 二、实践要求 利用Java常用基础类API、输入输出流常用类API、Java异常处理等完成所选项目的程序设计。 三、项目需求 所选项目名称:打字训练测试软件 四、项目设计方案 EnglishGame类:主要构造都在这里完成。 MyKey类:是该程序的一个内部类。 EnglishGame作为主函数的入口。调用actionPerformed类的方法实现事件监听器。当发生点击事件时就会弹出输入框,开始英文打字功能。从而达到打字训练测试的目的。 五、核心算法详细设计 1 . public void actionPerformed(ActionEvent e) {} 2.public void keyReleased(KeyEvent arg0) {} 3.public static void main(String[] args) {}

4. public JPanel creatMenu() {} 六、完整源码 package shiyansan; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileReader; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextPane; import javax.swing.SwingUtilities; //所使用的包 public class EnglishGame implements ActionListener { private static JFrame f = new JFrame("英文打字游戏"); private static Container con = f.getContentPane(); JPanel mainPanel,panel0,panel1,panel2,panel3,panel4,panel5,panel6,panel7; JButton button1,button2,button3,button4,button,button5,button6; JTextPane tp1,tp2;

玩打字游戏

教学内容:学习使用键盘打字,掌握正确的坐姿和指法。 教学目的:1、使学生掌握正确的坐姿和指法。 2、掌握基本建打字方法。 3、使学生养成良好的打字习惯。 教学重点:坐姿和指法 教学时间:二课时 教学过程: 第一课时 一、导言 在计算机学习中,打字是必不可缺的,开始学习用键盘进行打字练习,与我们刚开始学习写字一样,一定要有一个正确的姿势。姿势正确有利于击键,可以提高操作的效率,并且不易疲劳。特别是对小学生来说,更是如此。 二、讲授新课: 1、认识键盘上的8个基本建,练习基本键的键入。 2、了解正确的坐姿和指法,明确10个手指的分工。 3、正确的坐姿 (1)上身保持挺直,两肩放松,身体正对键盘。 (2)量较适当分开,平放与地面。 (3)屏幕中心略低于双眼,胸部距离键盘20厘米左右,如图所示。 (4)手指略弯曲,左手食指放在(F)键上,右手食指放在(J)键上,其他手指再按顺序轻放在相应的基本键上。 8个键是“基本键”。大拇指位于空格键上,如下图所示。 4、启动金山打字通2002 双击桌面上的金山打字通图标就可以启动金山打字通2002。 启动成功后,出现金山打字通2002的主画面,如图所示。 5、键位练习 基本建(A、S、D、F、G、H、J、K、L、;)的练习。 击键方法:对应的手指短促而有弹性地击打对应键,不可用力过猛或长时间地按住键。敲击的要有节奏而均匀。 (1)选择“键位练习”。 在功能选项菜单栏上,单击“英文打字”菜单,打开它的下拉菜单,如图所示。 单击下拉菜单中的“键位练习”命令,进入下图所示的键位练习界面。 (2)如果计算机中安装有声卡、耳麦、音响等多媒体设备,将办又悦耳的音乐响起。这是键盘上就会出现一个与其他键颜色不同的键,这个键就是要求我们击打的键。 (3)击键正确后,会出现新的键供你练习;如果击键错误,会在击错的键上出现符号X。 三、提示说明 1、当用食指击键时,其余三个手指应保持在各自的基本键上,不要翘起。 2、当小指击键时,食指不要翘起,当食指击键时,小指不要翘起。 四、退出金山打字通2002 如果想结束练习,只要单击系统菜单中的按钮,就可退出金山打字通2002。

C语言打字练习程序课程设计报告

青岛理工大学 《C语言程序设计》 题目打字练习程序 指导教师:李兰老师 姓名: 学号:2011 班级: 专业:计算机科学 地点:现代教育中心机房201 时间:2012.6.26 至2012.6.29

一、内容 本程序主要实现的是对使用者的打字速度进行练习和提高。因为界面友好亲和,因此能让使用者在轻松愉快中练习并快速提高自己的打字速度和准确性。程序主要的功能有记录使用者在本次使用中的击中数和总下落字母的个数之比。并且游戏设置了九个等级,随着数字的增加,等级越高,字母下落的速度逐步提高,这样能够更好的迎合不同水平的用户需求。使用本程序很简单,因为在写代码时,我很注重的是界面的友好,所以,在用户的每次操作前,界面上都有详细的操作提醒,只要跟着提示输入就能很快速地进入并开始练习。 二、上机环境 操作系统:windows XP(win7兼容) 开发工具:VC6.0 三、函数调用关系图 void main( ) start( ) printfScreen( ) levelChoice( ) newWord ( ) moving( ) wordHit( ) result( ) leave( )

四、各函数功能说明 1、void main( ) 主函数 2、void printScreen( ) 刷新屏幕函数 3、int levelChoice( ) 游戏等级选择函数 4、int newWord( ) 生成新字符函数 5、int moving( ) 字符下降函数 6、int wordHit( ) 击中字符函数 7、int result ( ) 结果输出函数 8、int start( ) 程序开始提示操作 9、void leave( ) 函数结束

小学信息技术:第7课 玩打字游戏”教学设计

新修订小学阶段原创精品配套教材 第7课玩打字游戏”教学设计教材定制 / 提高课堂效率 /内容可修改 Lesson 7 Teaching Design of "Playing Typing Game" 教师:风老师 风顺第二小学 编订:FoonShion教育

第7课玩打字游戏”教学设计 【教学目标】 ·键盘的分区,掌握主键盘区字母键、数字键、符号键的名称和分布情况 ·掌握键盘操作的正确姿势 ·熟练掌握正确的指法分工 【教学内容】 ·键盘上的字母键、双字符键和控制键 ·键盘操作的正确姿势和指法分工 【教学重难点】 重点:指法分工的掌握 难点:数字键输入、上档键的应用 【教材分析与教学建议】 经过前面的学习,学生已经对键盘与键盘操作比较熟悉,因此本课主要通过游戏的方式使学生巩固键盘的操作技能,帮助学生进一步提高用键盘输入字符的准确率和速度。 打字练习的题目最好结合语文学科的拼音和英语学科的单词等。

在打字训练时可以配上节奏合适的音乐,营造愉快、舒适的氛围。 要想学生做到盲打,要用一两节课做到是挺难的,建议在以后每节课前利用5分钟时间进行练习。 【教学方法和手段】 讲练结合,强调实践 【教学过程】 一、导入 师:上一节课,我们认识了键盘,而且还学会了输入基本的字母、数字和常见符号。但是要又快又准地输入单词或汉字,还需要我们掌握正确的键盘操作方法。掌握了正确的键盘操作方法,再加上勤奋练习,就能自如地利用键盘与计算机进行沟通交流。现在老师可以给大家演示一下快速的键盘输入。 (让学生总结信息技术课程的学习收获,同时将学生的“总结语”输入word,演示快速“盲打”效果,激发学生学习键盘输入技巧的积极性。) 二、了解键盘输入的基本指法和正确姿势 师(边讲解边演示):主键盘区第三排上的“a” “s” “d” “f”和“j” “k” “l” “;” 这8个键叫做基本键。开始操作键盘的时候,双手拇指轻放在空格键上,其余的8个手指放在这8个键上。基本键是打字时手指所处的基准位置,击打其他任何

计算机技术基础(c语言)课程设计 简单的打字游戏

计算机技术基础(C程序) 课程设计报告 一.题目:简单打字游戏 二、选题背景: 在全球信息化高度发展的今天,计算机技术是现代人必须掌握的基本技术。而一手精湛的打字技术更是我们自动化人所必备的资本。本c语言程序的开发为广大计算机使用者提供了一个很好的平台。 三、设计思想: 本程序主要应用了e l s e…i f语句、g o t o语句等函数。建立打字练习的程序。通过使用积分的方式,给使用者以直观的视觉冲击。激励使用者的练习兴趣。

三、程序流程图:

四:程序清单 #include "conio.h" #include "stdlib.h" #include "graphics.h" main() {char a[36]; int i,j,x,key,t,score=0; int gd=DETECT,gr; initgraph(&gd,&gr,""); cleardevice(); for(i=0;i<10;i++) a[i]=48+i; for(i=10;i<36;i++) a[i]=55+i; a[i]=0; for(i=1;i<81;i++) { gotoxy(i,3); printf("%c",220); gotoxy(i,18); printf("%c",220); } gotoxy(5,1); printf("score:"); settextstyle(1,0,8); outtextxy(100,350,"TYPE GAME"); sleep(2); randomize(); for(;;) { gotoxy(12,1); printf(" "); gotoxy(12,1);

打字游戏

湖南农业大学东方科技学院 课程设计报告 课程名称:微机原理与接口技术 设计题目:打字游戏程序设计 学生姓名:罗英杰 学号: 2 年级专业:2008级计算机科学与技术 班级: 3 班 指导老师:王兴波 学院:东方科技学院 湖南·长沙 提交日期:2009年12月

一、任务与要求 1. 开始界面的提示信息:进入游戏,退出 2. 打字游戏:字母从屏幕上方下落,若用户在字母下落过程中输入正确字母,字母消失, 输入不正确,字母继续下落 3. 空格键退出游戏 二、分析与规划 1、结构分析图,如下 2、布局分析: 首先,出现菜单主界面起到提示作用。然后进入游戏,接着完成游戏的退出。

三、实现过程 1、出现菜单主界面: ZK db "WELCOME TO PLAY$" no db "shejiren: Luo Yingjie 2009/12/09 $" meg db "press Enter key to continue.......$" meg1 db "when a letter is dropping,please hit it!$" meg2 db "press space key to pause!$" meg3 db "press ESC key to return main interface!$" meg4 db "press letter 'E' to exit!$" 上面的代码菜单主界面的内容 clear_screen 00d,00d,24d,79d Init_game 00d,00d,0ah,dl,80d,nextsign1 Init_game 24d,00d,0ah,dl,80d,nextsign2 Init_game 00d,00d,0ah,dh,25d,nextsign3 Init_game 00d,79d,0ah,dh,25d,nextsign4 menu 05d,15d,ZK ;菜单信息的宏调用 menu 07h,15d,no menu 09d,15d,meg menu 11d,15d,meg1 menu 13d,15d,meg2 menu 15d,15d,meg3 menu 17d,15d,meg4 clear_screen 01d,01d,23d,78d ;清屏宏调用 clear_screen 01d,01d,23d,78d Init_game 23d,01d,01h,dl,78d,nextsign5 mov ah,02h mov bh,00h mov dh,01h

C#打字游戏课程设计

C# 打字游戏程序核心代码主要部分: 设计程序流程图:

主窗体代码: using System; using System.Collections.Generic; using https://www.360docs.net/doc/7e9850522.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //课程名称 C# 程序设计实践 //设计题目打字游戏 //专业计算机科学与技术 //班级 //学号 //姓名 //指导老师 namespace Typing_Game { public partial class FrmTyping : Form { public FrmTyping() { InitializeComponent();

public int right = 0; //正确个数计数 public int wrong = 0; //错误个数计数 public int sum = 0; //总个数技术 public int count = 0; //按键总次数 public float accuracy; //正确率 public int Minute = 1; //设置默认没局游戏时间 public int minute; //设置游戏中的倒计时分 public int second; //设置游戏中的倒计时秒 private void FrmTyping_Load(object sender, EventArgs e) { } //在状态栏中显示当前系统时间 private void timerSys_Tick(object sender, EventArgs e) { DateTime now = DateTime.Now; this.tsslSysTime.Text = "系统时间: " + now.Hour.ToString() + ":" + now.Minute.ToString() + ":" + now.Second.ToString()+'\t'; } //开始&结束按钮 private void tsmiStratOrOver_Click(object sender, EventArgs e) { if (tsmiStratOrOver.Text == "开始") { tsmiStratOrOver.Text = "结束"; timerWord.Start(); timerGame.Start(); timerGT.Start(); //在游戏开始时暂停&继续按钮可用 tsmiPauseOrContinue.Enabled = true; //在游戏未开始时选择游戏等级与设置游戏按钮无效 tsmiLevel.Enabled = false; tsmiOption.Enabled = false; //游戏开始初始化游戏数据 right = 0; wrong = 0;

玩打字游戏教学设计

第7课玩打字游戏”教学设计 DIV.yFav_1196752207413P.soNoral{TEXT-jUSTIFy:inter-ideograph;FoNT-SIZE:10.5pt;ARGIN:0c0c0pt;FoNT-FAILy :"TiesNeRoan";TEXT-ALIGN:justify}DIV.yFav_119675220 7413LI.soNoral{TEXT-jUSTIFy:inter-ideograph;FoNT-SI ZE:10.5pt;ARGIN:0c0c0pt;FoNT-FAILy:"TiesNeRoan";TEX T-ALIGN:justify}DIV.yFav_1196752207413DIV.soNoral{T EXT-jUSTIFy:inter-ideograph;FoNT-SIZE:10.5pt;ARGIN: 0c0c0pt;FoNT-FAILy:"TiesNeRoan";TEXT-ALIGN:justify} DIV.yFav_1196752207413H1{FoNT-EIGHT:bold;TEXT-jUSTI Fy:inter-ideograph;FoNT-SIZE:22pt;ARGIN:17pt0c16.5p t;LINE-HEIGHT:240%;FoNT-FAILy:"TiesNeRoan";TEXT-ALI GN:justify}DIV.yFav_1196752207413H2{FoNT-EIGHT:bold ;TEXT-jUSTIFy:inter-ideograph;FoNT-SIZE:16pt;ARGIN: 13pt0c;LINE-HEIGHT:173%;FoNT-FAILy:Arial;TEXT-ALIGN :justify}DIV.yFav_1196752207413H3{FoNT-EIGHT:bold;T EXT-jUSTIFy:inter-ideograph;FoNT-SIZE:16pt;ARGIN:13 pt0c;LINE-HEIGHT:173%;FoNT-FAILy:"TiesNeRoan";TEXT-ALIGN:justify}DIV.yFav_1196752207413P.soFooter{FoNT -SIZE:9pt;ARGIN:0c0c0pt;LAyoUT-GRID-oDE:char;FoNT-F

c++设计一个简单的打字游戏

《C++课程设计实验报告》 姓名: XXX 学号: XXXXXXX 班级: XXXXXX 指导教师: XX 完成日期: XXXX年X月X日

目录 一、问题简述 (2) 二、需求分析及系统设计 (2) (一)需求分析 (2) (二)系统设计 (2) 三、程序测试结果 (4) 四、问题及解决方案和收获与心得 (7) (一)问题及解决方案 (7) (二)收获与心得 (7) 五、程序源代码 (8)

一、问题简述 本题目(参考题五)要求设计并实现一个打字游戏,游戏要求如下: 游戏开始后,屏幕上方同时有四个数字分四列下落,每个数字由三位组成(随机生成,但首位不可相同)。玩家用键盘依次输入数字,如果输入的数字序列与某一列正在下落的数字三位全部相同,则给玩家加10分,该列数字消失,该列新产生数字并下落;如果输入的数字某一位不相同,则输入的数字序列全部作废,重新接收输入。某一列数字到达屏幕底部则游戏结束。 对于本题目我采用C++进行设计并实现。 二、需求分析及系统设计 (一)需求分析 需要设计的这个游戏程序,其规则在上述问题简述中已经进行了详细描述。其中有几个方面是这个程序所需要的主要模块: (1)生成四组随机的三位数,并且所生成的四组随机数要求首位不相同; (2)分析并选取合适的方式来存储这些随机数; (3)所有显示出的数能够按照一定频率向下进行滚动; (4)键盘输入一组数字,并在输入匹配的情况下消除与之匹配的数,然后产生一个不同于其他三组的新随机数; (5)判断游戏结束的标准并输出分数。 (二)系统设计 通过分析,选择二维数组作为存储并处理这些随机数的容器,所有主要步骤都在这个二维数组中设计并实现;在随机数的生成上选择以当前系统时间为随机

Java课程设计打字游戏

中南大学 Java课程设计报告题目打字游戏 学生姓名窦立阳 指导教师陈丽萍 学院信息科学与工程学院 专业班级计科1204 完成时间 2015年1月15日 目录 第二章总体设计 界面设计 (4) 运行流程 (4) 逻辑设计 (4) 积分设计 (4) 第三章详细设计 主面板 (5) 两个按键 (5) 相关全局变量 (5) 全局变量说明 (5) 相关全局函数 (7) 字符下落模块 (7) WordLabel (7) WordFallControl (8) WordFallLabel (8) 速度控制模块 (8) 按键模块设计 (8) 键盘监听事件 (9) 积分模块设计 (9) 事件模块设计 (10) 第四章调试分析 第一次调试 (11) 第二次调试 (11) 第三次调试 (12) 第五章运行结果 (13)

第六章课程设计总结 (17) 第七章参考文献 (19) 第八章附录:带注释的源代码 Wordfall (20) WordFallControl类 (20) WordLabel类 (22) WordFallLabel类 (23) ScoreLabel类 (24) StartButton类 (25) TimeLabel类 (26) AAAAA类:程序的主函数入口 (28) Maintain类 (30) 第一章实验要求 【问题描述】设计实现一个打字游戏,界面参见图2-2,具备如下功能: ●点击“开始”按钮,产生随机字符从屏幕上方下落; ●点击键盘上按钮,如果正确,当前的字符消失,产生新的按钮从上方继续落下。 ●提供速度调整和积分功能。 图2-2 打字游戏界面 第二章总体设计 界面设计 根据实验要求中的图2-2,在主面板中, 有一个模块控制各个字符的生成并且控制他们的自动下落,并在正确触发时,字符不可见; “开始”和“结束”,用于字符下落的开始和结束; 运行流程 程序启动,程序等待按键“开始”的事件的触发; 当“开始”键触发后,负责字符下落的模块,将持续产生字符,并使其下落; 键盘开始被监听,从键盘的按键触发,向程序返回值; 积分模块开始工作,将字符下落模块的字符和键盘事件返回的值进行比较,得出积分,并且将积分值显示在面板上; 如果点击“停止”按键,所有模块停止工作,等待程序关闭,或者等待“开始” 逻辑设计 字符不断产生并且下降,需要一个线程控制产生字符,然后还应该有一个线程对面一个字符,控制其下落。 键盘被按下后,立刻会有值返回到程序中,积分模块会每隔一段时间将,键盘事件返回的值,和当前需要按下的值进行比较。 积分说明 当开始产生字符后,会有很多字符都是可输入的,但是当前可输入的字符只有一

实验三 打字游戏的实现

上机实验须知 实验名称: 打字游戏的实现 实验目的: 在掌握Flash中坐标系统的应用以及帧延迟循环的应用的基础上,结合人机交互的技术,实现一个美观实用的完整的Flash打字游戏。 实验环境: 1)高档微机 2)Windows操作系统中文版 3)Flash CS3 Professional中文版 实验原理: 通过侦听Flash的键盘事件,获取事件对象,然后通过事件对象的keyCode值可以确认发生事件的是哪个按键。例如按下J键,那么Flash就会自动产生一个键盘事件对象,其keyCode值为74。每个按键都有一个唯一的键控代码,如附录所示。其它知识点基本上涵盖在坐标系统与延迟帧循环中,这里不再赘述。 实验内容: 本游戏开始之后,在屏幕下方不断出现上升的气球,每个气球上面都有一个字母,敲击键盘上对应的字母后,气球就会破裂。游戏时间为1~5分钟,游戏结束后会显示打字的速度和准确率。 游戏分析: 打字游戏的原理非常简单,只要侦听键盘事件,并判断键盘所代表的字母是否在屏幕上,并做相应的处理即可。 实验步骤: 1)制作气球角色 气球是一个类似弹球的角色,它内部时间轴的延迟循环实现了自动上漂以及爆炸后文字下落的运动效果,并提供一些对外函数,从而实现设置气球颜色、设置字母、爆炸等等视觉效果。 气球角色对外的属性和方法如下: 属性和方法说明 inStage: Boolean 气球是否在舞台上(上漂)的标识符 idle: Boolean 气球是否空闲的标识符 setColor(col:uint) 设置气球的颜色 init(index:int) 初始化气球的各个状态 bomb() 气球爆炸 blast(speedLevel:int) 发射气球 已经完成了气球角色的时间轴如下图所示: 气球角色的时间轴 它有三个可视对象:气球皮肤、气球外框和显示字母的动态文本框。其中气球皮肤用来设置气

打字游戏毕业论文

打字游戏毕业论文 打字游戏设计摘要:本文的主题是设计打字游戏,是在 VB 的环境下编程的。在户联网飞速发展的今天,电脑成了每家每户的多需要的平台,打字的速度也是人们所追求的。本文主要设计的是对键盘的熟悉程度,用户可以根据对键盘的认识程度选择相应的级别来完成打字测试。用户完成打字测试,可以进入一个测试结果窗体,这个窗体清楚的显示出用户击中字符的个数和没有击中的数目。用户通过这个窗体可以更好的认识到自己对键盘上的字符还有哪些不熟识的。关键词:打字游戏 ;测试;设计;引言随着科学技术的不断提高,计算机科学日渐成熟,计算机已经深入到工作和生活的各个角落,文字录入是学习计算机非常重要的一部分。在手写录入技术和语音识别技术还不完善的同时大部分人还在使用键盘作为文字录入的工具。所以我编了这个程序,也是我的毕业设计,希望能对电脑处学者和想提高打字速度的朋友有所帮助。1 设计思路在打字之前,由用户选择所需要的打字级别,该系统设置是通过一组单选按钮来实现的。本系统的关键在于如何实现打字练习。首先,应使字符以随机方式出现在窗体中,并不断下落,其中字符的出现方式与用户的具体设置相关。本系统中采用了命令按钮来表示不同的随机字符,该数组的每个元素为一个命 1 令按钮,用来显示一个字符。为了使不同的字符多能在窗体的顶端位置出现并下落,可在设计时设置各命令按钮的具体位置多在窗体的顶端。而实现出现字符的随机出现方式,应在命令按钮的 caption 属性中使用随机函数,使之代表不同的字符。字符的自动下落过程由定时器 Timer1,Timer6 控制命令按钮,下落速度取决于用户设置的练习速度。用户在不断按键的时候,会引起 Keypress 事件,在该事件中可判断用户的输入是否和当前命令按钮数组中某个元素的 Caption 属性值性质相同,即判断是否击中了出现在窗体中的某个字符。如果击中,则使用 Move 方法把图片 Image1 移动到被击中字符的位置出

VB设计的打字游戏代码

程序设计如下: Public h As Integer Public s As Integer Public p As Integer Public sum As Integer, num As Integer Private Sub Command1_Click() Timer1.Enabled = False End Sub Private Sub Command2_Click() Timer1.Enabled = True End Sub Private Sub Command3_Click() Timer1.Enabled = True Picture1.Item(0).Top = -1000 Picture1.Item(2).Top = -800 Picture1.Item(3).Top = -700 Picture1.Item(4).Top = -800 Picture1.Item(1).Top = -600 Dim a(5) As Integer Randomize a(1) = Int(65 + 25 * Rnd) Label1.Item(0).Caption = Chr(a(1)) k = 1 Do While k < 5 m = Int(Rnd * 25 + 65) f = 0 For j = 1 To k If m = a(j) Then f = 1 Exit For End If Next j If f = 0 Then k = k + 1 a(k) = m Label1.Item(k - 1).Caption = Chr(m) End If Loop p = 0 End Sub Private Sub Command4_Click()

打字游戏的设计报告

打字游戏的设计报告 姓名:赵香俊 班级:中北11级.net 专业:软件设计 日期:2012-10-25

目录 简介3目的3范围3参考资料3概述3定义13 2.1排行版:4 2.2自由模式:4 2.3 计时赛:4 2.4 生存模式:4 2.5难度选择: 5 2.6 游戏帮助:5定义2:6

简介 将本系统中所涉及的词汇(术语)进行详细、准确的描述。 目的 1.1.1在描述的过程中让开发人员了解、熟悉业务过程。 1.1.2为用例描述、用例建模、架构设计提供术语解释。 1.1.3为实体建模、数据库设计提供术语解释。 范围 主界面模块,自由游戏模块,生存模式模块,计时赛模块,排行版模块 参考资料 概述 定义1 2.1主页面 在主页面上有排行版,自由练习,计时赛,生存模式以及难度的选择。 Label1 Label2 Label3 Label4 Label5 Label6,上字体的颜色可以不断地变化。 在难度中可以让用户选择,可以把选项放在一个panel中,让他隐藏来,当用户点难度的时候可以选择难易程度。

在接下来介绍的三种模式当中都可以把他们放在同一个界面上 2.2自由模式: 你点击开始-游戏开始游戏开始后会从屏幕的上方掉下字,每次落下来的字的颜色都不同,速度也不同,并且不可以让字飘到屏幕以外的地方。如果你在没有落到屏幕的底方的时候把字给消除了,加10分,否则就扣10分。同时成绩也会记录到数据库中,在排行版中可以查询。 2.3计时赛: 1.用户点击开始,开始的按钮上会显示出暂停,这两个功能可以在同一个按钮上切换,点击开 始,音乐响起,随之字母会从屏幕的最上方落下来,每次的颜色不同,速度不同,字母也不同,当你在字母没有落到屏幕的最低端的时候你把字母给消除了你就可以加10分,否则减10分。在计时赛这个模块中有时间限制,如果到了规定的时间内,系统就会停止工作。 2. 2.4 生存模式 1.用户点击开始,开始的按钮上会显示出暂停,这两个功能可以在同一个按钮上切换,点击开 始,音乐响起,随之字母会从屏幕的最上方落下来,每次的颜色不同,速度不同,字母也不同,当你在字母没有落到屏幕的最低端的时候你把字母给消除了你就可以加10分,否则减

有趣的打字游戏作文【小学一年级700字】

有趣的打字游戏 《金山打字》里面有好玩的游戏,既让你玩得痛快,也能把打字练快了。 游戏共有五种:《生死时速》、《太空大战》、《拯救苹果》、《激流勇进》和《鼹鼠的故事》。我最喜欢《拯救苹果》、《激流勇进》和《鼹鼠的故事》了,那就先说说《拯救苹果》吧。 打开《拯救苹果》,点击“开始”按钮,好听的歌儿唱起来,苹果树上的苹果一个接一个往下落。苹果上面都有字母,你要在键盘上打对一个字母,那颗苹果就让你拯救了。 拯救的苹果在哪里放着呢?看屏幕右下角的篮子,苹果就在那里放着呢。如果篮子放满了,屏幕上会出现一个字板,上面写着:“恭喜,您通过了!”你可以再打下一关。如果你摔碎了三个苹果,屏幕上会也出现一个字板:“您认输吧!”那就需要你再打一次了。 打开《激流勇进》,点击“开始”按钮,又一种好听的音乐响起来,屏幕上会出现水上美景。水面上漂动着荷叶,你要准确打出荷叶上的英语单词,才能把小青蛙送到对岸。如果荷叶漂到一边,你还没

有打出单词,小青蛙就掉到水里了。把五只小青蛙成功送过河,屏幕上会出来一张字板,上面写着:“恭喜,您通过了!” 如果让两只小青蛙落水了,屏幕上也会出来一张字板:“您认输吧!” 游戏《鼹鼠的故事》让你保护地里的胡萝卜。鼹鼠举着木板从地洞里出来了,叽叽喳喳,好像在说“快偷快偷!”你如果把木板上的字母打出来了,一只小锤就会把鼹鼠砸进地洞。但鼹鼠还会出来的。你如果打错了字母,鼹鼠就会偷去一个胡萝卜。让鼹鼠偷去五个胡萝卜,这一局就只好认输啦。我玩这个游戏比较爽,一个胡萝卜也不会让偷走的。 《太空大战》轰隆轰隆,是玩飞弹打飞船;《生死时速》叽哩哇啦,是玩警察捉小偷。这两个游戏可能男孩爱玩吧。

相关文档
最新文档