Syntax error on tokens, delete these tokens
You put
public boolean running = false;
outside of a class definition, effectively in the global namespace. But there are no globals in Java. This is not legal.
I'll say, that's a strange error message for that though. I would expect a little more from the compiler. Something to the effect of class
or interface
or enum
because once you start the statement with public
there are exactly three legal things that can follow. But, it is what it is. So, the compiler is right to complain, I just would have expected a more informative error message.
You are declaring a field outside of the class:
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public boolean running = false; /// <=============== invalid location
public class Game extends Canvas implements Runnable { // <==== class starts here
private static final long serialVersionUID = 1L;
public static final int WIDTH = 160;
public static final int HEIGHT = WIDTH / 12 * 9;
public static final int SCALE = 3;
public static final String NAME = "Game";
...
It must be placed inside a class:
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Game extends Canvas implements Runnable { // <==== class starts here
public boolean running = false; /// <=============== valid location
private static final long serialVersionUID = 1L;
public static final int WIDTH = 160;
public static final int HEIGHT = WIDTH / 12 * 9;
public static final int SCALE = 3;
public static final String NAME = "Game";
...