?? shuzican.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("游戲結(jié)束", 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
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -