A wild TANK GAME appears!

master
Aaron Johnon 1 year ago
commit a1aa8a006f

3
.gitignore vendored

@ -0,0 +1,3 @@
*.class
*.swp

@ -0,0 +1,3 @@
#Tank Game
Blow up the other tanks, except they don't exist yet.

@ -0,0 +1,27 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class main {
public static void main(String[] args) {
System.out.println("I like birds.");
JFrame mainframe = new JFrame();
mainframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainframe.setResizable(false);
mainframe.setTitle("Tank Game");
mainframe.setLocationRelativeTo(null);
mainframe.setSize(800, 600);
//JLabel label = new JLabel("Label test!", JLabel.CENTER);
//mainframe.add(label);
player playerPanel = new player();
mainframe.add(playerPanel);
playerPanel.requestFocusInWindow();
mainframe.setVisible(true);
}
}

@ -0,0 +1,109 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class player extends JPanel implements KeyListener, ActionListener {
private Image sprite;
private int x = 400;
private int y = 512;
private int spd = 1;
//Movement bools
private boolean leftPressed = false;
private boolean rightPressed = false;
private boolean upPressed = false;
private boolean downPressed = false;
private boolean shootPressed = false;
//Game loop timer
private Timer timer;
public player() {
ImageIcon icon = new ImageIcon("spr/tank1.png");
sprite = icon.getImage();
setFocusable(true);
addKeyListener(this);
setPreferredSize(new Dimension(800, 600));
//Timer to set target framerate to 60 (~16ms/frame)
timer = new Timer(1000 / 60, this);
timer.start();
}
private void updatePlayerPos() {
if (leftPressed) x -= spd;
if (rightPressed) x += spd;
if (upPressed) y -= spd;
if (downPressed) y += spd;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(sprite, x, y, this);
}
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_LEFT:
case KeyEvent.VK_A:
leftPressed = true;
break;
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_D:
rightPressed = true;
break;
case KeyEvent.VK_UP:
case KeyEvent.VK_W:
upPressed = true;
break;
case KeyEvent.VK_DOWN:
case KeyEvent.VK_S:
downPressed = true;
break;
case KeyEvent.VK_SPACE:
shootPressed = true;
break;
}
}
@Override
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_LEFT:
case KeyEvent.VK_A:
leftPressed = false;
break;
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_D:
rightPressed = false;
break;
case KeyEvent.VK_UP:
case KeyEvent.VK_W:
upPressed = false;
break;
case KeyEvent.VK_DOWN:
case KeyEvent.VK_S:
downPressed = false;
break;
case KeyEvent.VK_SPACE:
shootPressed = false;
break;
}
}
@Override
public void keyTyped(KeyEvent e) {
//UNUSED
}
public void actionPerformed(ActionEvent e) {
updatePlayerPos();
repaint();
}
}
Loading…
Cancel
Save