Speed Run! (C) DaForce Devs
This game has been abandoned and that means that to give back to the community we are releasing the source code to the game so you can tweak it as you like.
Matthew Allen
Co-Founder , DaForce Devs
**Source Code**
package javagame;
import java.awt.Color;
import java.awt.Image;
import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.ImageObserver;
import java.io.BufferedWriter;
import javax.swing.ImageIcon;
public class JavaGame extends JFrame implements Runnable{
int x, y, xDirection, yDirection;
private Image dbImage;
private Graphics dbg;
Image face;
boolean customsize;
int resx;
int resy;
boolean dead;
boolean ngame;
int score;
boolean firstkeyup;
boolean firstkeyside;
int speed;
int deaths;
boolean hashit;
boolean counter;
Color myBlackColor;
boolean debug;
String ver;
int date;
int cpu;
int resscore;
int res1;
String os;
Font font = new Font(“Arial”, Font.BOLD,12);
Font verfont = new Font(“Calibri”, Font.BOLD,40);
@Override
public void run(){
try{
while(true){
move();
if(dead == false){
if(hashit == true){
deaths = deaths+137;
resscore = resx/100;
resy = resy+100;
}
Thread.sleep(10);
}
}
}
catch(Exception e){
System.out.println(“Error”);
}
}
public void move(){
x +=xDirection;
y +=yDirection;
if(x <=10){
dead = true;
xDirection = 0;
yDirection = 0;
x = 2000;
y = 2000;
}
if (x >= 1280 – 20){
dead = true;
xDirection = 0;
yDirection = 0;
x = 2000;
y = 2000;
}
if(y <=20){
dead = true;
xDirection = 0;
yDirection = 0;
x = 2000;
y = 2000;
}
if (y >= 720 – 20){
dead = true;
xDirection = 0;
yDirection = 0;
x = 2000;
y = 2000;
}
if(score > 1){
speed = score/12;
}
}
private void xDirection(int i) {
}
public void setXDirection(int xdir){
xDirection = xdir;
}
public void setYDirection(int ydir) {
yDirection = ydir;
}
public class AL extends KeyAdapter {
public void keyPressed(KeyEvent e){
int keyCode = e.getKeyCode();
if(keyCode == e.VK F){
xDirection = 0;
yDirection = 0;
x = 640;
y = 360;
customsize = false;
dead = false;
ngame = true;
score = 0;
debug = false;
firstkeyup = true;
firstkeyside = true;
hashit = false;
ngame = true;
deaths = 0;
score = 0;
debug = false;
firstkeyup = true;
firstkeyside = true;
counter = false;
hashit = false;
}
if(dead == true){
if(keyCode == e.VK 1){
resx = 1280 ;
resy = 720 ;
customsize = true;
}
if(keyCode == e.VK 2){
resx = 1600;
resy = 900;
customsize = true;
}
if(keyCode == e.VK 3){
resx = 1920;
resy = 1080;
customsize = true;
}
}
if(customsize == true){
setSize(resx, resy);
}
if(keyCode == e.VK F3){
debug = true;
}
if(keyCode == e.VK G){
if(dead == true){
System.exit(1);
}
}
if(dead == false){
if(keyCode == e.VK LEFT){
if(firstkeyup == true){
setXDirection(- +speed);
firstkeyside = true;
firstkeyup = false;
ngame = false;
hashit = true;
score = score+resscore;
}
}
if(keyCode == e.VK RIGHT){
if(firstkeyup == true){
setXDirection(+ +speed);
firstkeyside = true;
firstkeyup = false;
ngame = false;
hashit = true;
score = score+resscore;
}
}
if(keyCode == e.VK UP){
if(firstkeyside == true){
setYDirection(- +speed);
firstkeyside = false;
firstkeyup = true;
ngame = false;
hashit = true;
score = score+resscore;
}
}
if(keyCode == e.VK DOWN){
if(firstkeyside == true){
setYDirection(+ +speed);
firstkeyside = false;
firstkeyup = true;
ngame = false;
hashit = true;
score = score+resscore;
}
}
}
}
}
public JavaGame(){
//Load images
ImageIcon i = new
ImageIcon(“/face.png”);
face = i.getImage();
face = i.getImage();
//game props
resx = 1280 ;
resy = 720 ;
ver = “Alpha 1.2.5”;
addKeyListener(new AL());
setTitle(“Speed Run! – ” +ver);
setSize( resx, resy);
setResizable(false);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT ON CLOSE);
setAlwaysOnTop(true);
setLocationRelativeTo(null);
customsize = false;
dead = false;
ngame = true;
score = 0;
debug = false;
firstkeyup = true;
firstkeyside = true;
hashit = false;
x = resx/2;
y = resy/2;
}
public void paint(Graphics g){
dbImage = createImage(getWidth(), getHeight());
dbg = dbImage.getGraphics();
paintComponent(dbg);
g.drawImage(dbImage,0, 0, (ImageObserver) this);
}
public void paintComponent(Graphics g){
g.setColor(Color.GRAY);
g.fillRect(0, 20, resx, 28); // HOR AXIS , VERT AXIS , WIDTH
g.drawImage(face, x+11, y+11, (ImageObserver) this);
g.setColor(Color.black);
g.fillRect(0, 20, resx, 25); // HOR AXIS , VERT AXIS , WIDTH
g.setColor(Color.white);
g.setFont(verfont);
g.drawString(“”+ver,20 , resy-20);
g.setFont(font);
//g.drawString(“Speed : “+speed, 1130, 40);
g.drawString(“Score : “+deaths,600 , 40);
if(dead == true){
g.setFont(font);
g.drawString(“DEAD”, 10, 40);
g.drawString(“PRESS ‘F’ to RESTART “, 170, 40);
g.drawString(” PRESS ‘G’ to EXIT”, 330, 40);
setBackground(Color.RED);
x = resx/2;
y = resy/2;
xDirection = 0;
yDirection = 0;
}
//if (dead == false){
//g.drawString(“LIVING”, 10, 40);
//g.drawString(“Coord:(“+x+”,”+y+”) |”, 50, 40);
//}
if(debug == true){
setFont(font);
g.setColor(Color.DARK GRAY);
g.fillRect(15, 70, 150, 230); // HOR AXIS , VERT AXIS , WIDTH
g.setColor(Color.WHITE);
g.drawString(“DEBUG MONITOR”, 20, 85);
g.drawString(“X : “+x, 20, 100);
g.drawString(“Y : “+y, 20, 115);
g.drawString(“———————–“, 20, 125);
g.drawString(“Dead : “+dead, 20, 135);
g.drawString(“NGame : “+ngame, 20, 150);
g.drawString(“Score : “+deaths, 20, 165);
g.drawString(“Speed : “+speed, 20, 180);
g.drawString(“Hashit (Has Hit) : “+hashit, 20, 195);
g.drawString(“Firstkeyup : “+firstkeyup, 20, 210);
g.drawString(“Firstkeyside : “+firstkeyside, 20, 225);
g.drawString(“Version : “+ver, 20, 240);
g.drawString(“No. of CPUs:”+cpu, 20, 270);
g.drawString(“OS : “+os, 20, 285);
os = System.getProperty(“os.name”);
cpu = Runtime.getRuntime().availableProcessors();
}
if(ngame == true){
dead = false;
g.setFont(font);
g.drawString(“Welcome to ‘Speed Run!'”, 300, 200);
g.drawString(“Touching the outer edges of the screen will result in your death ,”, 300, 225);
g.drawString(“Use the arrow keys to control your character, F to restart and G to Quit.”, 300, 250);
g.drawString(“The catch? You cannot press an arrow key that is opposite the last key you pressed. For example, Up – Down will not work , Up – Left will”, 300, 275);
g.drawString(“Good Luck, Press an arrow key to begin”, 300, 300);
score = 1;
speed = 1;
setBackground(Color.orange);
setYDirection(0);
setXDirection(0);
x = 640;
y = 360;
}
repaint();
}
public static void main(String[] args){
System.out.println(“JavaGame main succesulfully launched”);
JavaGame jg = new JavaGame();
Thread t1 = new Thread(jg);
t1.start();
}
}
Speed Run! was developed by DaForce-, Released in 2013-05-07
Speed Run! was Released on Windows,Mac,Linux
Speed Run! is a Single Player game