当前位置:首页 > 开发 > 编程语言 > Java > 正文

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

发表于: 2013-03-28   作者:dcj3sjt126com   来源:转载   浏览次数:
摘要: 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) { JFr
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中简单的指法练习游戏(仅在32位下正常运行)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
想当年,为了这款游戏茶饭不思。。。2001年的Shininglore Online(中文名字--天使 Online)作为韩国
李华明Himi 原创,转载务必在明显处注明: 【黑米GameDev街区】 原文链接: http://www.himigame.com/
引言 1、 工作背景 研究linux-0.11已有月余,代码看了好几遍,虽然能看懂,却总感觉如隔靴搔痒一般
Top Windows Games That Run Flawlessly in Ubuntu Using Wine 在Ubuntu下使用Wine完美运行的Window
程序目的:为了练习刚刚复习的Thread及刚刚学习的Timer。 设计思路: 我们都知道,缓存是加快数据访问
一般的String写入文件都是一行一行写入的,也就是横向顺序写入的,简单的练习下纵向按块写入,如下
运行services查看服务时,当前安全设置禁止运行该页中activeX控件,该页无法正常显示;打开一个proj
相信用Flash Builder/Flex Builder做开发的大部分开发者都遇到过这样的问题,编译的swf在bin-debug中
import java.io.*; public class CharCounter{ private int[] charcount = new int[26]; Chart char
Ubuntu下Qt5.4.1项目,在Qt Creator下能正常编译和运行, 但是准备打包发布的时候,双击无反应, ./
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号