@@ -0,0 +1,1568 @@
+package game.space;%0A%0Aimport java.awt.*;%0Aimport java.awt.event.*;%0Aimport javax.swing.*;%0Aimport java.util.ArrayList;%0Aimport java.util.Random;%0A%0Aimport game.invader.Invader;%0A%0Apublic class Space extends JFrame implements ActionListener %7B%0A%0A    public static final String TITLE = %22Zonama Fighter%22;%0A%0A    public static final int WIDTH = 600;%0A%0A    public static final int HEIGHT = 400;%0A%0A    public static final int TIMER_DELAY = 100;%0A%0A    protected ArrayList%3CInvader%3E invaders = new ArrayList%3CInvader%3E();%0A%0A    protected Timer timer = new Timer(TIMER_DELAY, this);%0A%0A    public static void main(String%5B%5D args) %7B%0A        new Space();%0A    %7D%0A%0A    public static int getRandomColumn() %7B%0A        Random rand = new Random();%0A        return rand.nextInt(WIDTH - Invader.WIDTH);%0A    %7D%0A%0A    public static Invader createInvader() %7B%0A        Invader invader = new Invader();%0A        invader.setX(Space.getRandomColumn());%0A        return invader;%0A    %7D%0A%0A    public Space() %7B%0A        setTitle(TITLE);%0A        setSize(WIDTH, HEIGHT);%0A        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);%0A        addInvader(Space.createInvader());%0A        setVisible(true);%0A        timer.start();%0A    %7D%0A%0A    public void addInvader(Invader invader) %7B%0A        Container pane = getContentPane();%0A        pane.add(invader);%0A        invaders.add(invader);%0A    %7D%0A%0A    public void moveInvaders() %7B%0A        for (Invader invader : invaders) %7B%0A            invader.moveDown();%0A        %7D%0A    %7D%0A%0A    public void actionPerformed(ActionEvent event) %7B%0A        moveInvaders();%0A        addInvader(Space.createInvader());%0A    %7D%0A%7D%0A

Add Space class to control the invaders