`
dcj3sjt126com
  • 浏览: 1885518 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中简单的指法练习游戏(仅在32位下正常运行)

阅读更多
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import java.awt.print.*;

import javax.swing.*;

public class typewrite {

	public static void main(String[] args) {
		JFrame w = new JFrame("typewrite game");
		w.setSize(300, 400);
		w.setFont(new Font("",10,100000));
		w.setBackground(Color.RED);
		MyPanel mp = new MyPanel();
		w.add(mp);
		w.addKeyListener(mp);
		mp.addKeyListener(mp);
		Thread t = new Thread(mp);
		t.start();
		w.setVisible(true);
	}
}

class MyPanel extends JPanel implements Runnable, KeyListener ,MouseListener{

	private static final long serialVersionUID = 1L;
	int x[] = new int[10];
	int y[] = new int[10];
	char c[] = new char[10];
	int sum = 1000;

	public MyPanel() {
		for (int i = 0; i < 10; i++) {
			x[i] = (int) (Math.random() * 260);
			y[i] = (int) (Math.random() * 300);
			c[i] = (char) (Math.random() * 26 + 97);
		}
	}

	public void paint(Graphics g) {
		g.clearRect(0, 0, 300, 400);
		g.setColor(Color.BLACK);

		for (int i = 0; i < 10; i++) {
			g.drawString("" + c[i], x[i], y[i]);
		}

		g.setColor(Color.GREEN);
		g.drawString("score: " + sum, 20, 10);
		if (sum < 0) {
			g.clearRect(0, 0, 300, 400);
			g.drawString("GAME OVER", 100, 200);

		}
	}

	public void run() {
		while (true) {
			for (int i = 0; i < 10; i++) {
				y[i]++;
				if (y[i] > 400) {
					y[i] = 0;
					x[i] = (int) (Math.random() * 260);
					c[i] = (char) (Math.random() * 27 + 97);
					sum -= 100;
				}
			}

			if (sum < 0) 
				return;
			
			try {
				Thread.sleep(40);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			repaint();

		}
	}

	@Override
	public void keyPressed(KeyEvent e) {
		char cc = e.getKeyChar();
		int yy = -1;
		int index = -1;

		for (int i = 0; i < 10; i++) {
			if (cc == c[i]) {
				if (y[i] > yy) {
					yy = y[i];
					index = i;
				}
			}
		}

		if(index>-1){
			y[index]=0;
			x[index]=(int)(Math.random()*260);
			c[index]=(char)(Math.random()*26+97);
			sum+=10;
		}else{
			sum-=100;
		}
	}

	@Override
	public void keyReleased(KeyEvent e) { }

	@Override
	public void keyTyped(KeyEvent e) { }

	@Override
	public void mouseClicked(MouseEvent arg0) { }

	@Override
	public void mouseEntered(MouseEvent arg0) { }

	@Override
	public void mouseExited(MouseEvent arg0) { }

	@Override
	public void mousePressed(MouseEvent arg0) { }

	@Override
	public void mouseReleased(MouseEvent arg0) { }

}

 

分享到:
评论

相关推荐

    基于Java的指法练习小游戏的设计与实现.pdf

    在指法练习小游戏中,事件监听器将捕捉用户的键盘操作事件,当用户正确或错误地敲击指定的字母按键时,程序会根据事件触发相应的逻辑,更新分数或执行其他游戏动作。Java Swing中事件处理通常通过实现ActionListener...

    基于Java的指法练习小游戏的设计与实现.zip

    在本项目中,“基于Java的指法练习小游戏的设计与实现”是一个旨在帮助用户通过游戏化的方式提高键盘打字速度和准确性的程序。这个程序利用Java编程语言开发,它结合了教育与娱乐,使得学习过程更加有趣。以下是关于...

    JAVA 练习,小游戏!.zip

    JAVA 练习,小游戏!JAVA 练习,小游戏!JAVA 练习,小游戏! JAVA 练习,小游戏!JAVA 练习,小游戏!JAVA 练习,小游戏! JAVA 练习,小游戏!JAVA 练习,小游戏!JAVA 练习,小游戏! JAVA 练习,小游戏!JAVA ...

    JAVA运行环境WinXP 32位的版本

    JAVA运行环境WinXP 32位的版本

    Java基础练习代码

    本文将深入探讨Java基础练习代码中的关键概念,帮助初学者巩固基础,提高编程技能。 首先,Java是一种面向对象的编程语言,它的核心特性包括封装、继承和多态。在练习代码中,你会看到如何定义类(class)并创建...

    java7 32位版

    在提供的压缩包中,"java7 32λ.exe"可能是Java 7 32位版的安装程序。下载并安装这个执行文件后,用户可以在32位Windows系统上设置和运行Minecraft服务器。确保服务器配置正确,包括指定适当的内存分配、设置启动...

    java安装包(windows 32位)

    Java是世界上最流行的编程语言之一,尤其在企业...总之,"java安装包(windows 32位)"提供了在32位Windows系统上进行Java开发的完整环境,对于初学者而言,这是一个方便的起点,能够帮助他们快速进入Java编程的世界。

    Java JDK 17 (32位Windows系统)

    对于Windows 32位系统用户来说,选择JDK 17意味着他们可以在32位环境中享受到最新的Java开发功能。然而,值得注意的是,32位系统有内存限制(通常为4GB),可能会影响大型应用的性能。因此,在开发和运行资源密集型...

    java图形界面,贪吃蛇游戏练习.zip

    java图形界面,贪吃蛇游戏练习.zipjava图形界面,贪吃蛇游戏练习.zip java图形界面,贪吃蛇游戏练习.zipjava图形界面,贪吃蛇游戏练习.zip java图形界面,贪吃蛇游戏练习.zipjava图形界面,贪吃蛇游戏练习.zip java图形...

    JAVA项目坦克大战小游戏练习

    本项目以"JAVA项目坦克大战小游戏练习"为主题,旨在帮助开发者通过实际操作,深入理解和应用JAVA编程语言。 一、JAVA基础应用 该项目首先需要掌握JAVA的基础语法,包括类、对象、继承、多态等面向对象编程概念。...

    指法练习程序

    在本案例中,我们关注的是一个名为“简易指法练习程序”的项目。 1. **键盘指法基础**:指法练习程序的核心是教用户如何正确分配手指在键盘上的位置,以便在不看键盘的情况下快速输入。标准的指法策略是将左手小指...

    java面向对象初学者练习小游戏.zip

    java面向对象初学者练习小游戏.zipjava面向对象初学者练习小游戏.zip java面向对象初学者练习小游戏.zipjava面向对象初学者练习小游戏.zip java面向对象初学者练习小游戏.zipjava面向对象初学者练习小游戏.zip java...

    java jdk 32位

    Java JDK 32位是Java开发环境中不可或缺的部分,主要用于32位操作...总之,Java JDK 32位在进行Java和Android开发时扮演着重要角色,尤其是在处理旧项目或配合其他旧版工具时。确保正确安装和配置,是高效开发的基础。

    java各种代码练习

    在Java中,学习如何创建、实例化类和调用方法是基础中的基础。例如,`main`方法是每个Java应用程序的入口点,`System.out.println`用于输出文本到控制台。 2. **界面设计**: Java提供了图形用户界面(GUI)组件,...

    exe4j+Java版本32位和64位

    在处理32位和64位系统时,`exe4j`提供了关键的支持,确保程序在不同平台上都能正常运行。 1. **Java版本差异** Java有针对32位和64位操作系统的不同版本。32位JRE可以在32位操作系统上运行,而64位JRE则适用于64位...

    Java写的打地鼠小游戏

    在开发过程中,开发者需要考虑多平台兼容性,确保游戏能在不同的操作系统上正常运行。Java的“一次编写,到处运行”特性在这里发挥了重要作用。"Mouse.jar"已经过多平台测试,证明了这一点。 此外,游戏的优化也是...

    java程序用exe4j打包成exe可执行文件工具(32位,64位)

    Java程序通常运行在Java虚拟机(JVM)上,但为了让非Java开发人员或终端用户更方便地使用Java应用程序,可以将其打包成Windows平台下的.exe可执行文件。这里,我们聚焦于一个名为"exe4j"的工具,它能够帮助我们将...

Global site tag (gtag.js) - Google Analytics