Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

Game.java 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.rthoni.uqac.pigeon;
  2. import javax.swing.*;
  3. import javax.swing.Timer;
  4. import javax.swing.event.MouseInputListener;
  5. import java.awt.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.event.MouseListener;
  10. import java.util.*;
  11. import java.util.List;
  12. /**
  13. * Created by ZHAJOR on 30/10/2016.
  14. */
  15. public class Game extends JPanel implements MouseListener, ActionListener{
  16. private int x, y;
  17. private List<Pigeon> pigeons;
  18. private List<Food> foods;
  19. public Game(){
  20. addMouseListener(this);
  21. this.pigeons = new ArrayList<Pigeon>();
  22. this.foods = new ArrayList<Food>();
  23. for(int i = 0; i < 10; ++i){
  24. Pigeon p = new Pigeon(""+i, this);
  25. this.pigeons.add(p);
  26. p.start();
  27. }
  28. this.createTimer();
  29. this.setDoubleBuffered(false);
  30. }
  31. @Override
  32. public void paint(Graphics g) {
  33. Graphics2D g2d = (Graphics2D) g;
  34. g2d.setColor(Color.RED);
  35. // Draw piegons
  36. for (Pigeon pigeon : this.pigeons) {
  37. g2d.fillOval(pigeon.getX(), pigeon.getY(), 30, 30);
  38. }
  39. //g2d.setColor(Color.BLUE);
  40. // Draw foods
  41. for (Food food : this.foods) {
  42. g2d.fillRect(food.getX(), food.getY(), 15, 15);
  43. }
  44. }
  45. @Override
  46. public void mouseClicked(MouseEvent e) {
  47. }
  48. @Override
  49. public void mousePressed(MouseEvent e) {
  50. this.foods.add(new Food(e.getX(), e.getY()));
  51. System.out.print(e.getX() + " ");
  52. System.out.print(e.getY() + "\n");
  53. }
  54. @Override
  55. public void mouseReleased(MouseEvent e) {
  56. }
  57. @Override
  58. public void mouseEntered(MouseEvent e) {
  59. }
  60. @Override
  61. public void mouseExited(MouseEvent e) {
  62. }
  63. public List<Food> getFoods(){
  64. return this.foods;
  65. }
  66. public void setFoods(List<Food> foods){
  67. this.foods = foods;
  68. }
  69. private void createTimer(){
  70. new Timer(50, this).start();
  71. }
  72. @Override
  73. public void actionPerformed(ActionEvent e) {
  74. repaint();
  75. }
  76. }