package Happily.Insane.Rain;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
private static final long serialVersionUID = 1L;
public static int width = 300;
public static height = width / 16 * 9;
public static int scale = 3;
private boolean running = false;
public Game() {
setPreferredSize(size);
}
public synchronized void start() {
running = true;
thread
= new Thread (this,
"Display"); thread.start();
}
public synchronized void stop() {
running = false;
try {
thread.join();
e.printStackTrace();
}
}
public void run() {
while (running) {
System.
out.
println("Running..."); }
}
public static void main
(String[] args
) {
Game game = new Game();
game.frame.setResizable(false);
game.frame.setTitle("Rain");
game.frame.add(game);
game.frame.pack();
game.
frame.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); game.frame.setLocationRelativeTo(null);
game.frame.setVisible(true);
game.start();
}
}
cGFja2FnZSBIYXBwaWx5Lkluc2FuZS5SYWluOwoKCmltcG9ydCBqYXZhLmF3dC5DYW52YXM7CmltcG9ydCBqYXZhLmF3dC5EaW1lbnNpb247CgppbXBvcnQgamF2YXguc3dpbmcuSkZyYW1lOwoKcHVibGljIGNsYXNzIEdhbWUgZXh0ZW5kcyBDYW52YXMgaW1wbGVtZW50cyBSdW5uYWJsZSB7CiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgbG9uZyBzZXJpYWxWZXJzaW9uVUlEID0gMUw7CgogICAgICAgIHB1YmxpYyBzdGF0aWMgaW50IHdpZHRoID0gMzAwOwogICAgICAgIHB1YmxpYyBzdGF0aWMgaGVpZ2h0ID0gd2lkdGggLyAxNiAqIDk7CiAgICAgICAgcHVibGljIHN0YXRpYyBpbnQgc2NhbGUgPSAzOwoKICAgICAgICBwcml2YXRlIFRocmVhZCB0aHJlYWQ7CiAgICAgICAgcHJpdmF0ZSBKRnJhbWUgZnJhbWU7CiAgICAgICAgcHJpdmF0ZSBib29sZWFuIHJ1bm5pbmcgPSBmYWxzZTsKCiAgICAgICAgcHVibGljIEdhbWUoKSB7CiAgICAgICAgICAgICAgICBEaW1lbnNpb24gc2l6ZSA9IG5ldyBEaW1lbnNpb24gKHdpZHRoKnNjYWxlLCBoZWlnaHQqc2NhbGUpOwogICAgICAgICAgICAgICAgc2V0UHJlZmVycmVkU2l6ZShzaXplKTsKCiAgICAgICAgICAgICAgICBmcmFtZSA9IG5ldyBKRnJhbWUoKTsKICAgICAgICB9CgogICAgICAgIHB1YmxpYyBzeW5jaHJvbml6ZWQgdm9pZCBzdGFydCgpIHsKICAgICAgICAgICAgICAgIHJ1bm5pbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgdGhyZWFkID0gbmV3IFRocmVhZCAodGhpcywgIkRpc3BsYXkiKTsKICAgICAgICAgICAgICAgIHRocmVhZC5zdGFydCgpOwogICAgICAgIH0KCiAgICAgICAgcHVibGljIHN5bmNocm9uaXplZCB2b2lkIHN0b3AoKSB7CiAgICAgICAgICAgICAgICBydW5uaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWQuam9pbigpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkgewogICAgICAgICAgICAgICAgICAgICAgICBlLnByaW50U3RhY2tUcmFjZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcHVibGljIHZvaWQgcnVuKCkgewogICAgICAgICAgICAgICAgd2hpbGUgKHJ1bm5pbmcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSdW5uaW5nLi4uIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgogICAgICAgICAgICAgICAgR2FtZSBnYW1lID0gbmV3IEdhbWUoKTsKICAgICAgICAgICAgICAgIGdhbWUuZnJhbWUuc2V0UmVzaXphYmxlKGZhbHNlKTsKICAgICAgICAgICAgICAgIGdhbWUuZnJhbWUuc2V0VGl0bGUoIlJhaW4iKTsKICAgICAgICAgICAgICAgIGdhbWUuZnJhbWUuYWRkKGdhbWUpOwogICAgICAgICAgICAgICAgZ2FtZS5mcmFtZS5wYWNrKCk7CiAgICAgICAgICAgICAgICBnYW1lLmZyYW1lLnNldERlZmF1bHRDbG9zZU9wZXJhdGlvbihKRnJhbWUuRVhJVF9PTl9DTE9TRSk7CiAgICAgICAgICAgICAgICBnYW1lLmZyYW1lLnNldExvY2F0aW9uUmVsYXRpdmVUbyhudWxsKTsKICAgICAgICAgICAgICAgIGdhbWUuZnJhbWUuc2V0VmlzaWJsZSh0cnVlKTsKCiAgICAgICAgICAgICAgICBnYW1lLnN0YXJ0KCk7CiAgICAgICAgfQoKfQo=