⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shuzican.java

📁 一款掉落数字游戏。。通过敲击手机键盘数字销毁屏幕数字。。实现了游戏菜单。。新手可以学习
💻 JAVA
字号:
import java.util.Random;
import java.util.Vector;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

public class ShuZiCAN extends Canvas implements Runnable {
	private Vector v = new Vector();

	private Random r = new Random();

	private int pStep = 3;
	
	private int defen=0;
	
	private int sm=getWidth(),l=0;

	protected void keyPressed(int key) {
		int a = key - KEY_NUM0;
		for (int i = 0; i < v.size(); i++) {
			ShuZi d = (ShuZi)v.elementAt(i);
			if(a == d.s){
				v.removeElementAt(i);
			defen += 10;
			if(sm < getWidth())
				sm += 5;
			}
		}
	}


	public ShuZiCAN() {
		new Thread(this).start();
	}

	protected void paint(Graphics g) {
		g.setColor(0);
		g.fillRect(0, 0, getWidth(), getHeight());
		g.setColor(0, 255, 0);
		g.drawString("请稍后.....", getWidth()/2-20, getHeight()-70, Graphics.LEFT
				| Graphics.TOP);
		g.setColor(0, 255, 0);
		g.fillRect(0, getHeight()-50, l, 20);
		if(l == getWidth()){
			g.setColor(0);
			g.fillRect(0, 0, getWidth(), getHeight());
		g.setColor(0, 255, 0);
		for (int i = 0; i < v.size(); i++) {
			ShuZi d = (ShuZi) v.elementAt(i);
			g.drawString("" + d.s, d.dx, d.dy, Graphics.HCENTER
					| Graphics.BASELINE);
		}
		g.setColor(255, 0, 0);
		g.drawString("得分:"+defen, 0, 0, Graphics.LEFT
				| Graphics.TOP);
		g.setColor(255, 0, 0);
		g.fillRect(0, getHeight()-10, sm, 10);
		}
		if(sm == 0){
			g.setColor(0);
			g.fillRect(0, 0, getWidth(), getHeight());
			g.setColor(0, 255, 0);
			g.drawString("游戏结束", getWidth()/2, getHeight()/2, Graphics.HCENTER
					| Graphics.BASELINE);
			g.setColor(0, 255, 0);
			g.drawString("得分:"+defen, getWidth()/2, getHeight()/2+10, Graphics.HCENTER
					| Graphics.BASELINE);
		}
	}

	public void run() { 
		long last = System.currentTimeMillis();
		while(true){
			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			l += 10;
			repaint();
			if(l == getWidth())
				break;
		}
		if(l == getWidth()){
		while (true) {
			long now = System.currentTimeMillis();
			if (now - last > 400) {
				int dx = Math.abs(r.nextInt() % getWidth());
				int s = Math.abs(r.nextInt() % 10);
				int dy = -5;
				ShuZi d = new ShuZi(dx, dy, pStep,s);
				v.addElement(d);
				last = now;
			}
			for (int i = 0; i < v.size(); i++) {
				ShuZi d = (ShuZi) v.elementAt(i);
				d.dy = d.dy + d.dStep;
				if (d.dy > getHeight()){
					v.removeElementAt(i);
				sm -= 30;
				}
			}
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			repaint();
			if(sm == 0)
				break;
			// TODO Auto-generated method stub
		}
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -