|
|
|
package sig;
|
|
|
|
|
|
|
|
import javax.swing.JFrame;
|
|
|
|
import java.awt.event.KeyEvent;
|
|
|
|
|
|
|
|
import sig.engine.Panel;
|
|
|
|
|
|
|
|
public class RabiClone {
|
|
|
|
public static final String PROGRAM_NAME="Sig's Java Project Template";
|
|
|
|
|
|
|
|
public static int UPCOUNT=0;
|
|
|
|
public static Panel p;
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
|
|
|
JFrame f = new JFrame(PROGRAM_NAME);
|
|
|
|
p = new Panel(f);
|
|
|
|
|
|
|
|
p.init();
|
|
|
|
|
|
|
|
f.add(p);
|
|
|
|
f.addComponentListener(p);
|
|
|
|
f.addKeyListener(p);
|
|
|
|
f.setSize(1280,720);
|
|
|
|
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
f.setVisible(true);
|
|
|
|
|
|
|
|
p.render();
|
|
|
|
|
|
|
|
long lastGameTime = System.nanoTime();
|
|
|
|
while (true) {
|
|
|
|
long timePassed = System.nanoTime()-lastGameTime;
|
|
|
|
lastGameTime=System.nanoTime();
|
|
|
|
double updateMult = timePassed/1000000000d;
|
|
|
|
|
|
|
|
if (KeyHeld(KeyEvent.VK_UP)) {
|
|
|
|
//System.out.println("Up Held: "+UPCOUNT+++" (+"+(float)(timePassed/1000000f)+"ms)");
|
|
|
|
p.nanaY-=16*updateMult;
|
|
|
|
}
|
|
|
|
if (KeyHeld(KeyEvent.VK_DOWN)) {
|
|
|
|
//System.out.println("Up Held: "+UPCOUNT+++" (+"+(float)(timePassed/1000000f)+"ms)");
|
|
|
|
p.nanaY+=16*updateMult;
|
|
|
|
}
|
|
|
|
if (KeyHeld(KeyEvent.VK_RIGHT)) {
|
|
|
|
//System.out.println("Up Held: "+UPCOUNT+++" (+"+(float)(timePassed/1000000f)+"ms)");
|
|
|
|
p.nanaX+=16*updateMult;
|
|
|
|
System.out.println(p.nanaX);
|
|
|
|
}
|
|
|
|
if (KeyHeld(KeyEvent.VK_LEFT)) {
|
|
|
|
//System.out.println("Up Held: "+UPCOUNT+++" (+"+(float)(timePassed/1000000f)+"ms)");
|
|
|
|
p.nanaX-=16*updateMult;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private static Boolean KeyHeld(int key) {
|
|
|
|
return p.KEYS.getOrDefault(key,false);
|
|
|
|
}
|
|
|
|
}
|