diff --git a/.classpath b/.classpath index fb50116..1f4cfe8 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,11 @@ - + + + + + + diff --git a/media/boules/boule.gif b/media/boules/boule.gif new file mode 100644 index 0000000..ab5132e Binary files /dev/null and b/media/boules/boule.gif differ diff --git a/media/fonds/fondarene.jpg b/media/fonds/fondarene.jpg new file mode 100644 index 0000000..491f4a9 Binary files /dev/null and b/media/fonds/fondarene.jpg differ diff --git a/media/fonds/fondchoix.jpg b/media/fonds/fondchoix.jpg new file mode 100644 index 0000000..6f25289 Binary files /dev/null and b/media/fonds/fondchoix.jpg differ diff --git a/media/murs/mur.gif b/media/murs/mur.gif new file mode 100644 index 0000000..9a07ac8 Binary files /dev/null and b/media/murs/mur.gif differ diff --git a/media/personnages/perso1marche1d0.gif b/media/personnages/perso1marche1d0.gif new file mode 100644 index 0000000..f8a3ab7 Binary files /dev/null and b/media/personnages/perso1marche1d0.gif differ diff --git a/media/personnages/perso1marche1d1.gif b/media/personnages/perso1marche1d1.gif new file mode 100644 index 0000000..43542cd Binary files /dev/null and b/media/personnages/perso1marche1d1.gif differ diff --git a/media/personnages/perso1marche2d0.gif b/media/personnages/perso1marche2d0.gif new file mode 100644 index 0000000..8198b09 Binary files /dev/null and b/media/personnages/perso1marche2d0.gif differ diff --git a/media/personnages/perso1marche2d1.gif b/media/personnages/perso1marche2d1.gif new file mode 100644 index 0000000..efebb8f Binary files /dev/null and b/media/personnages/perso1marche2d1.gif differ diff --git a/media/personnages/perso1marche3d0.gif b/media/personnages/perso1marche3d0.gif new file mode 100644 index 0000000..019fbfa Binary files /dev/null and b/media/personnages/perso1marche3d0.gif differ diff --git a/media/personnages/perso1marche3d1.gif b/media/personnages/perso1marche3d1.gif new file mode 100644 index 0000000..6bdb98c Binary files /dev/null and b/media/personnages/perso1marche3d1.gif differ diff --git a/media/personnages/perso1marche4d0.gif b/media/personnages/perso1marche4d0.gif new file mode 100644 index 0000000..5a82aac Binary files /dev/null and b/media/personnages/perso1marche4d0.gif differ diff --git a/media/personnages/perso1marche4d1.gif b/media/personnages/perso1marche4d1.gif new file mode 100644 index 0000000..a36b20a Binary files /dev/null and b/media/personnages/perso1marche4d1.gif differ diff --git a/media/personnages/perso1mort1d0.gif b/media/personnages/perso1mort1d0.gif new file mode 100644 index 0000000..bc956c9 Binary files /dev/null and b/media/personnages/perso1mort1d0.gif differ diff --git a/media/personnages/perso1mort1d1.gif b/media/personnages/perso1mort1d1.gif new file mode 100644 index 0000000..a79330f Binary files /dev/null and b/media/personnages/perso1mort1d1.gif differ diff --git a/media/personnages/perso1mort2d0.gif b/media/personnages/perso1mort2d0.gif new file mode 100644 index 0000000..ce1cb86 Binary files /dev/null and b/media/personnages/perso1mort2d0.gif differ diff --git a/media/personnages/perso1mort2d1.gif b/media/personnages/perso1mort2d1.gif new file mode 100644 index 0000000..42db7e4 Binary files /dev/null and b/media/personnages/perso1mort2d1.gif differ diff --git a/media/personnages/perso1touche1d0.gif b/media/personnages/perso1touche1d0.gif new file mode 100644 index 0000000..8b94066 Binary files /dev/null and b/media/personnages/perso1touche1d0.gif differ diff --git a/media/personnages/perso1touche1d1.gif b/media/personnages/perso1touche1d1.gif new file mode 100644 index 0000000..77f1e6b Binary files /dev/null and b/media/personnages/perso1touche1d1.gif differ diff --git a/media/personnages/perso1touche2d0.gif b/media/personnages/perso1touche2d0.gif new file mode 100644 index 0000000..f7b5ee0 Binary files /dev/null and b/media/personnages/perso1touche2d0.gif differ diff --git a/media/personnages/perso1touche2d1.gif b/media/personnages/perso1touche2d1.gif new file mode 100644 index 0000000..2a9da11 Binary files /dev/null and b/media/personnages/perso1touche2d1.gif differ diff --git a/media/personnages/perso2marche1d0.gif b/media/personnages/perso2marche1d0.gif new file mode 100644 index 0000000..835318e Binary files /dev/null and b/media/personnages/perso2marche1d0.gif differ diff --git a/media/personnages/perso2marche1d1.gif b/media/personnages/perso2marche1d1.gif new file mode 100644 index 0000000..e6ce180 Binary files /dev/null and b/media/personnages/perso2marche1d1.gif differ diff --git a/media/personnages/perso2marche2d0.gif b/media/personnages/perso2marche2d0.gif new file mode 100644 index 0000000..2cfa567 Binary files /dev/null and b/media/personnages/perso2marche2d0.gif differ diff --git a/media/personnages/perso2marche2d1.gif b/media/personnages/perso2marche2d1.gif new file mode 100644 index 0000000..af6bf11 Binary files /dev/null and b/media/personnages/perso2marche2d1.gif differ diff --git a/media/personnages/perso2marche3d0.gif b/media/personnages/perso2marche3d0.gif new file mode 100644 index 0000000..6bfe458 Binary files /dev/null and b/media/personnages/perso2marche3d0.gif differ diff --git a/media/personnages/perso2marche3d1.gif b/media/personnages/perso2marche3d1.gif new file mode 100644 index 0000000..2c2ad45 Binary files /dev/null and b/media/personnages/perso2marche3d1.gif differ diff --git a/media/personnages/perso2marche4d0.gif b/media/personnages/perso2marche4d0.gif new file mode 100644 index 0000000..07c06a4 Binary files /dev/null and b/media/personnages/perso2marche4d0.gif differ diff --git a/media/personnages/perso2marche4d1.gif b/media/personnages/perso2marche4d1.gif new file mode 100644 index 0000000..a8116ca Binary files /dev/null and b/media/personnages/perso2marche4d1.gif differ diff --git a/media/personnages/perso2mort1d0.gif b/media/personnages/perso2mort1d0.gif new file mode 100644 index 0000000..bf13283 Binary files /dev/null and b/media/personnages/perso2mort1d0.gif differ diff --git a/media/personnages/perso2mort1d1.gif b/media/personnages/perso2mort1d1.gif new file mode 100644 index 0000000..1c59f8a Binary files /dev/null and b/media/personnages/perso2mort1d1.gif differ diff --git a/media/personnages/perso2mort2d0.gif b/media/personnages/perso2mort2d0.gif new file mode 100644 index 0000000..7549eac Binary files /dev/null and b/media/personnages/perso2mort2d0.gif differ diff --git a/media/personnages/perso2mort2d1.gif b/media/personnages/perso2mort2d1.gif new file mode 100644 index 0000000..de4cac9 Binary files /dev/null and b/media/personnages/perso2mort2d1.gif differ diff --git a/media/personnages/perso2touche1d0.gif b/media/personnages/perso2touche1d0.gif new file mode 100644 index 0000000..3214648 Binary files /dev/null and b/media/personnages/perso2touche1d0.gif differ diff --git a/media/personnages/perso2touche1d1.gif b/media/personnages/perso2touche1d1.gif new file mode 100644 index 0000000..86592f4 Binary files /dev/null and b/media/personnages/perso2touche1d1.gif differ diff --git a/media/personnages/perso2touche2d0.gif b/media/personnages/perso2touche2d0.gif new file mode 100644 index 0000000..6c52b77 Binary files /dev/null and b/media/personnages/perso2touche2d0.gif differ diff --git a/media/personnages/perso2touche2d1.gif b/media/personnages/perso2touche2d1.gif new file mode 100644 index 0000000..5af3f87 Binary files /dev/null and b/media/personnages/perso2touche2d1.gif differ diff --git a/media/personnages/perso3marche1d0.gif b/media/personnages/perso3marche1d0.gif new file mode 100644 index 0000000..df7198c Binary files /dev/null and b/media/personnages/perso3marche1d0.gif differ diff --git a/media/personnages/perso3marche1d1.gif b/media/personnages/perso3marche1d1.gif new file mode 100644 index 0000000..fa4c1d9 Binary files /dev/null and b/media/personnages/perso3marche1d1.gif differ diff --git a/media/personnages/perso3marche2d0.gif b/media/personnages/perso3marche2d0.gif new file mode 100644 index 0000000..c852f48 Binary files /dev/null and b/media/personnages/perso3marche2d0.gif differ diff --git a/media/personnages/perso3marche2d1.gif b/media/personnages/perso3marche2d1.gif new file mode 100644 index 0000000..fbe5a3a Binary files /dev/null and b/media/personnages/perso3marche2d1.gif differ diff --git a/media/personnages/perso3marche3d0.gif b/media/personnages/perso3marche3d0.gif new file mode 100644 index 0000000..098cfd4 Binary files /dev/null and b/media/personnages/perso3marche3d0.gif differ diff --git a/media/personnages/perso3marche3d1.gif b/media/personnages/perso3marche3d1.gif new file mode 100644 index 0000000..608c381 Binary files /dev/null and b/media/personnages/perso3marche3d1.gif differ diff --git a/media/personnages/perso3marche4d0.gif b/media/personnages/perso3marche4d0.gif new file mode 100644 index 0000000..c852f48 Binary files /dev/null and b/media/personnages/perso3marche4d0.gif differ diff --git a/media/personnages/perso3marche4d1.gif b/media/personnages/perso3marche4d1.gif new file mode 100644 index 0000000..fbe5a3a Binary files /dev/null and b/media/personnages/perso3marche4d1.gif differ diff --git a/media/personnages/perso3mort1d0.gif b/media/personnages/perso3mort1d0.gif new file mode 100644 index 0000000..ce68bd3 Binary files /dev/null and b/media/personnages/perso3mort1d0.gif differ diff --git a/media/personnages/perso3mort1d1.gif b/media/personnages/perso3mort1d1.gif new file mode 100644 index 0000000..7b872d4 Binary files /dev/null and b/media/personnages/perso3mort1d1.gif differ diff --git a/media/personnages/perso3mort2d0.gif b/media/personnages/perso3mort2d0.gif new file mode 100644 index 0000000..7523832 Binary files /dev/null and b/media/personnages/perso3mort2d0.gif differ diff --git a/media/personnages/perso3mort2d1.gif b/media/personnages/perso3mort2d1.gif new file mode 100644 index 0000000..83eb305 Binary files /dev/null and b/media/personnages/perso3mort2d1.gif differ diff --git a/media/personnages/perso3touche1d0.gif b/media/personnages/perso3touche1d0.gif new file mode 100644 index 0000000..e243a45 Binary files /dev/null and b/media/personnages/perso3touche1d0.gif differ diff --git a/media/personnages/perso3touche1d1.gif b/media/personnages/perso3touche1d1.gif new file mode 100644 index 0000000..5c4f390 Binary files /dev/null and b/media/personnages/perso3touche1d1.gif differ diff --git a/media/personnages/perso3touche2d0.gif b/media/personnages/perso3touche2d0.gif new file mode 100644 index 0000000..1f56823 Binary files /dev/null and b/media/personnages/perso3touche2d0.gif differ diff --git a/media/personnages/perso3touche2d1.gif b/media/personnages/perso3touche2d1.gif new file mode 100644 index 0000000..3955c07 Binary files /dev/null and b/media/personnages/perso3touche2d1.gif differ diff --git a/media/sons/ambiance.wav b/media/sons/ambiance.wav new file mode 100644 index 0000000..1a907af Binary files /dev/null and b/media/sons/ambiance.wav differ diff --git a/media/sons/death.wav b/media/sons/death.wav new file mode 100644 index 0000000..3b7ba36 Binary files /dev/null and b/media/sons/death.wav differ diff --git a/media/sons/fight.wav b/media/sons/fight.wav new file mode 100644 index 0000000..bdc58b3 Binary files /dev/null and b/media/sons/fight.wav differ diff --git a/media/sons/go.wav b/media/sons/go.wav new file mode 100644 index 0000000..9857643 Binary files /dev/null and b/media/sons/go.wav differ diff --git a/media/sons/hurt.wav b/media/sons/hurt.wav new file mode 100644 index 0000000..d715073 Binary files /dev/null and b/media/sons/hurt.wav differ diff --git a/media/sons/precedent.wav b/media/sons/precedent.wav new file mode 100644 index 0000000..cce10fb Binary files /dev/null and b/media/sons/precedent.wav differ diff --git a/media/sons/suivant.wav b/media/sons/suivant.wav new file mode 100644 index 0000000..fc56dbe Binary files /dev/null and b/media/sons/suivant.wav differ diff --git a/media/sons/welcome.wav b/media/sons/welcome.wav new file mode 100644 index 0000000..4d1d06a Binary files /dev/null and b/media/sons/welcome.wav differ diff --git a/src/controleur/Controle.java b/src/controleur/Controle.java new file mode 100644 index 0000000..3ce6092 --- /dev/null +++ b/src/controleur/Controle.java @@ -0,0 +1,20 @@ +package controleur; +import vue.EntreeJeu; + +public class Controle { + private EntreeJeu frmEntreeJeu ; + + /** + * Constructeur + */ + private Controle() { + this.frmEntreeJeu = new EntreeJeu() ; + this.frmEntreeJeu.setVisible(true); + } + + public static void main(String[] args) { + // TODO Auto-generated method stub + new Controle(); + } + +} diff --git a/src/vue/Arene.java b/src/vue/Arene.java new file mode 100644 index 0000000..d5668f6 --- /dev/null +++ b/src/vue/Arene.java @@ -0,0 +1,75 @@ +package vue; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.io.File; +import java.net.URL; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; + +import javax.swing.ImageIcon; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import javax.swing.JTextField; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.ScrollPaneConstants; + +public class Arene extends JFrame { + + private static final long serialVersionUID = 1L; + private JPanel contentPane; + private JTextField textField; + + /** + * Launch the application. + */ + + /** + * Create the frame. + */ + public Arene() { + setTitle("Arene"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.getContentPane().setPreferredSize(new Dimension(800, 729)); + this.pack(); + this.setResizable(false); + setBounds(100, 100, 808, 757); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + + setContentPane(contentPane); + contentPane.setLayout(null); + + JLabel lblNewLabel = new JLabel(""); + String chemin = "fonds/fondarene.jpg"; + URL ressourceURL = getClass().getClassLoader().getResource(chemin); + + if (ressourceURL != null) { + String ressource = URLDecoder.decode(ressourceURL.getPath(), StandardCharsets.UTF_8); + lblNewLabel.setIcon(new ImageIcon(ressource)); + } else { + System.out.println("❌ Image non trouvée !"); + } + + + + + lblNewLabel.setBounds(0, 0, 792, 590); + contentPane.add(lblNewLabel); + + textField = new JTextField(); + textField.setBounds(0, 590, 792, 31); + contentPane.add(textField); + textField.setColumns(10); + + JScrollPane scrollPane = new JScrollPane(); + scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); + scrollPane.setBounds(0, 620, 792, 98); + contentPane.add(scrollPane); + + JTextArea textArea = new JTextArea(); + scrollPane.setViewportView(textArea); + } +} diff --git a/src/vue/ChoixJoueur.java b/src/vue/ChoixJoueur.java new file mode 100644 index 0000000..ef668ea --- /dev/null +++ b/src/vue/ChoixJoueur.java @@ -0,0 +1,91 @@ +package vue; +import java.awt.EventQueue; +import java.net.URL; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import javax.swing.ImageIcon; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; + +public class ChoixJoueur extends JFrame { + + private static final long serialVersionUID = 1L; + private JPanel contentPane; + + /** + * Launch the application. + */ + + /** + * Create the frame. + */ + public ChoixJoueur() { + setTitle("Choice"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.getContentPane().setPreferredSize(new Dimension(400, 275)); + this.pack(); + this.setResizable(false); + setBounds(100, 100, 412, 300); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + + setContentPane(contentPane); + contentPane.setLayout(null); + + JLabel lblNewLabel = new JLabel(""); + String chemin = "fonds/fondchoix.jpg"; + URL ressourceURL = getClass().getClassLoader().getResource(chemin); + + if (ressourceURL != null) { + String ressource = URLDecoder.decode(ressourceURL.getPath(), StandardCharsets.UTF_8); + lblNewLabel.setIcon(new ImageIcon(ressource)); + } else { + System.out.println("❌ Image non trouvée !"); + } + + lblNewLabel.setBounds(0, 0, 396, 261); + contentPane.add(lblNewLabel); + + JLabel lblNewLabel_1 = new JLabel(""); + lblNewLabel_1.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + System.out.println("Suivant"); + } + }); + lblNewLabel_1.setBackground(new Color(128, 255, 0)); + lblNewLabel_1.setBounds(293, 108, 93, 81); + contentPane.add(lblNewLabel_1); + + JLabel lblNewLabel_1_1 = new JLabel(""); + lblNewLabel_1_1.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + System.out.println("Précédent"); + } + }); + lblNewLabel_1_1.setBackground(new Color(128, 255, 0)); + lblNewLabel_1_1.setBounds(10, 96, 93, 81); + contentPane.add(lblNewLabel_1_1); + + JLabel lblNewLabel_2 = new JLabel(""); + lblNewLabel_2.addMouseListener(new MouseAdapter() { + @Override + public void mouseClicked(MouseEvent e) { + Arene arena = new Arene(); + arena.setVisible(true); + ChoixJoueur.this.dispose(); + } + }); + lblNewLabel_2.setBounds(293, 200, 103, 61); + contentPane.add(lblNewLabel_2); + } + +} diff --git a/src/vue/EntreeJeu.java b/src/vue/EntreeJeu.java new file mode 100644 index 0000000..80c0366 --- /dev/null +++ b/src/vue/EntreeJeu.java @@ -0,0 +1,98 @@ +package vue; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JLabel; +import javax.swing.JTextField; +import java.awt.Font; +import javax.swing.JButton; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; + +public class EntreeJeu extends JFrame { + + private static final long serialVersionUID = 1L; + private JPanel contentPane; + private JTextField textField; + + /** + * Launch the application. + */ + + + /** + * Create the frame. + */ + public EntreeJeu() { + setTitle("Urban Marginal"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 330, 160); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + + setContentPane(contentPane); + contentPane.setLayout(null); + + JLabel lblNewLabel = new JLabel("Start a server :"); + lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 12)); + lblNewLabel.setBounds(10, 11, 131, 14); + contentPane.add(lblNewLabel); + + JButton btnNewButton = new JButton("Start"); + + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + Arene areneJeu = new Arene(); + areneJeu.setVisible(true); + EntreeJeu.this.dispose(); + } + }); + btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 12)); + btnNewButton.setBounds(211, 7, 89, 23); + contentPane.add(btnNewButton); + + JLabel lblNewLabel_1 = new JLabel(""); + lblNewLabel_1.setBounds(20, 36, 46, 14); + contentPane.add(lblNewLabel_1); + + JLabel lblNewLabel_2 = new JLabel("Connect an existing server :"); + lblNewLabel_2.setFont(new Font("Tahoma", Font.BOLD, 12)); + lblNewLabel_2.setBounds(10, 36, 176, 14); + contentPane.add(lblNewLabel_2); + + JLabel lblNewLabel_3 = new JLabel("IP server :"); + lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 12)); + lblNewLabel_3.setBounds(10, 61, 68, 14); + contentPane.add(lblNewLabel_3); + + textField = new JTextField(); + textField.setText("127.0.0.1"); + textField.setBounds(88, 59, 98, 20); + contentPane.add(textField); + textField.setColumns(10); + + JButton btnNewButton_1 = new JButton("Connect"); + btnNewButton_1.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + ChoixJoueur choixJoueur = new ChoixJoueur(); + choixJoueur.setVisible(true); + EntreeJeu.this.dispose(); + } + }); + btnNewButton_1.setFont(new Font("Tahoma", Font.BOLD, 12)); + btnNewButton_1.setBounds(211, 57, 89, 23); + contentPane.add(btnNewButton_1); + + JButton btnNewButton_2 = new JButton("Exit"); + btnNewButton_2.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.exit(0); + } + }); + btnNewButton_2.setFont(new Font("Tahoma", Font.BOLD, 12)); + btnNewButton_2.setBounds(211, 91, 89, 23); + contentPane.add(btnNewButton_2); + } +}