package lab7_snieg;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.*;
public class Midlet extends MIDlet {
Display ekran;
PadajacySnieg zamiec = new PadajacySnieg();
Grawitacja padaSnieg = new Grawitacja();
Timer timer = new Timer();
public Midlet() {
ekran = Display.getDisplay(this);
}
protected void destroyApp(boolean unconditional) {
}
protected void startApp() {
ekran.setCurrent(zamiec);
timer.schedule(padaSnieg, 10, 10);
}
protected void pauseApp() {
}
public void exit() {
timer.cancel();
destroyApp(true);
notifyDestroyed();
}
class Grawitacja extends TimerTask {
public void run() {
zamiec.scroll();
}
}
class PadajacySnieg extends Canvas {
int height;
int width;
int[] snieg;
Random generator = new Random();
boolean painting = false;
public PadajacySnieg() {
height = getHeight();
width = getWidth();
snieg = new int[height];
for (int i = 0; i < height; ++i) {
snieg[i] = -1;
}
}
public void scroll() {
if (painting) {
return;
}
for (int i = height - 1; i > 0; --i) {
snieg[i] = snieg[i - 1];
}
snieg[0] = Math.abs((generator.nextInt() % (2 * width)) / 2);
repaint();
}
protected void paint(Graphics g) {
painting = true;
g.setColor(128, 128, 128);
g.fillRect(0, 0, width, height);
g.setColor(255, 255, 255);
for (int y = 0; y < height; ++y) {
int x = snieg[y];
if (x == -1) {
continue;
}
g.drawLine(x, y, x, y);
}
painting = false;
}
protected void keyPressed(int keyCode) {
exit();
}
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}