Created
October 13, 2012 05:46
-
-
Save blha303/3883396 to your computer and use it in GitHub Desktop.
TheCherno Rain
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.thecherno.rain; | |
import java.awt.Canvas; | |
import java.awt.Color; | |
import java.awt.Dimension; | |
import java.awt.Graphics; | |
import java.awt.image.BufferStrategy; | |
import java.awt.image.BufferedImage; | |
import java.awt.image.DataBufferInt; | |
import javax.swing.JFrame; | |
public class Game extends Canvas implements Runnable { | |
private static final long serialVersionUID = 1L; | |
public static int width = 300; | |
public static int height = width / 16 * 9; | |
public static int scale = 1; | |
private Thread thread; | |
private JFrame frame; | |
private boolean running = false; | |
private BufferedImage image = new BufferedImage(width, height, | |
BufferedImage.TYPE_INT_RGB); | |
private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData(); | |
public Game() { | |
Dimension size = new Dimension(width * scale, height * scale); | |
setPreferredSize(size); | |
frame = new JFrame(); | |
} | |
public synchronized void start() { | |
running = true; | |
thread = new Thread(this, "Display"); | |
thread.start(); | |
} | |
public synchronized void stop() { | |
running = false; | |
try { | |
thread.join(); | |
} catch (InterruptedException e) { | |
e.printStackTrace(); | |
} | |
} | |
public void run() { | |
while (running) { | |
update(); | |
render(); | |
} | |
} | |
public void render() { | |
BufferStrategy bs = getBufferStrategy(); | |
if (bs == null) { | |
createBufferStrategy(3); | |
return; | |
} | |
Graphics g = bs.getDrawGraphics(); | |
{ | |
g.setColor(Color.red); | |
g.fillRect(0, 0, getWidth(), getHeight()); | |
} | |
g.dispose(); | |
bs.show(); | |
} | |
public void update() { | |
} | |
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(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment