Skip to content

Instantly share code, notes, and snippets.

@boyanov83
Created September 17, 2014 15:16
Show Gist options
  • Save boyanov83/1f4681933f35499838dc to your computer and use it in GitHub Desktop.
Save boyanov83/1f4681933f35499838dc to your computer and use it in GitHub Desktop.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import javax.imageio.ImageIO;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.Timer;
public class Rain {
static Random rnd = new Random();
static int yy = 10;
static ArrayList<Object> rain = new ArrayList<Object>(); // rain(y, x, color, y, x, color)
//Object[] colors = {Color.black, Color.yellow, Color.blue, Color.red, Color.orange};
static void draw(Graphics g) {
if (rain.size() < 60) {
rain.add(yy);
yy -= 20;
rain.add(rnd.nextInt(450));
rain.add(Toolkit.getDefaultToolkit().getImage("rock.png"));
}
for (int i = 0; i < rain.size(); i+=3)
{
g.drawImage((Image)rain.get(i+2), (int)rain.get(i+1), (int)rain.get(i), null);
rain.set(i, ((int)rain.get(i))+5);
if ((int)rain.get(i) >= 480)
{
rain.set(i, 10);
rain.set(i+1, rnd.nextInt(450));
}
}
try {
Thread.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
void update() {
}
}
@Phosphoros
Copy link

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class GameRun extends JFrame {
int myX = 430, myY = 400;
int myX2 = 300, myY2 = 300;
Image imageToBeDraw;
Image imageToBeDraw2;
Rain rain;
// private final Timer timer = new Timer(40, this);
// private Player player;
public GameRun() {
// Player player = new Player();
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
imageToBeDraw = Toolkit.getDefaultToolkit().getImage(
"D:/Codes/TestBugi/game/src/spaceship2.png");
imageToBeDraw2 = Toolkit.getDefaultToolkit().getImage(
"D:/Codes/TestBugi/game/src/spaceship.png");

    addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent evt) {
            moveIt(evt);
        }
    });
}

public void paint(Graphics g) {

    g.clearRect(0,0,500,500);
        Rain.draw(g);

    g.drawImage(imageToBeDraw, myX, myY, null);
    g.drawImage(imageToBeDraw2, myX2, myY2, null);
    try {
        Thread.sleep(70);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    repaint();

}

public void moveIt(KeyEvent evt) {
    switch (evt.getKeyCode()) {
    case KeyEvent.VK_DOWN:
        myY += 10;
        if (myY > 480) {
            myY = 0;
        }
        break;
    case KeyEvent.VK_UP:
        myY -= 10;
        if (myY < 0) {
            myY = 500;
        }
        break;
    case KeyEvent.VK_LEFT:
        myX -= 10;
        if (myX < 0) {
            myX = 500;
        }
        break;
    case KeyEvent.VK_RIGHT:
        myX += 10;
        if (myX > 500) {
            myX = 0;
        }
        break;case KeyEvent.VK_S:
            myY2 += 10;
            if (myY2 > 480) {
                myY2 = 0;
            }
            break;
        case KeyEvent.VK_W:
            myY2 -= 10;
            if (myY2 < 0) {
                myY2 = 500;
            }
            break;
        case KeyEvent.VK_A:
            myX2 -= 10;
            if (myX2 < 0) {
                myX2 = 500;
            }
            break;
        case KeyEvent.VK_D:
            myX2 += 10;
            if (myX2 > 500) {
                myX2 = 0;
            }
            break;

    }
    repaint();
}

public static void main(String[] args) {
    GameRun game = new GameRun();
}

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment