package com.rthoni.uqac.pigeon; import javax.swing.*; import javax.swing.Timer; import javax.swing.event.MouseInputListener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.*; import java.util.List; /** * Created by ZHAJOR on 30/10/2016. */ public class Game extends JPanel implements MouseListener, ActionListener{ private int x, y; private List pigeons; private List foods; public Game(){ addMouseListener(this); this.pigeons = new ArrayList(); this.foods = new ArrayList(); for(int i = 0; i < 10; ++i){ Pigeon p = new Pigeon(""+i, this); this.pigeons.add(p); p.start(); } this.createTimer(); this.setDoubleBuffered(false); } @Override public void paint(Graphics g) { Graphics2D g2d = (Graphics2D) g; g2d.setColor(Color.RED); // Draw piegons for (Pigeon pigeon : this.pigeons) { g2d.fillOval(pigeon.getX(), pigeon.getY(), 30, 30); } //g2d.setColor(Color.BLUE); // Draw foods for (Food food : this.foods) { g2d.fillRect(food.getX(), food.getY(), 15, 15); } } @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { this.foods.add(new Food(e.getX(), e.getY())); System.out.print(e.getX() + " "); System.out.print(e.getY() + "\n"); } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } public List getFoods(){ return this.foods; } public void setFoods(List foods){ this.foods = foods; } private void createTimer(){ new Timer(50, this).start(); } @Override public void actionPerformed(ActionEvent e) { repaint(); } }