login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > Overige > Java > Lucifer Spel v2.0

Lucifer Spel v2.0

Auteur: Ch0coschijt - 05 juli 2006 - 13:41 - Gekeurd door: Maarten - Hits: 5026 - Aantal punten: 1.50 (1 stem)



Geupdate versie van het lucifer spel.

Er liggen 21 lucifers op tafel. Iedere speler neemt, als hij aan de beurt is, 1, 2 of 3 lucifers weg. Wie de laatste lucifer moet pakken, verliest.


Code:
  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import javax.swing.JButton;
  7. import javax.swing.JFrame;
  8. import javax.swing.JLabel;
  9. import javax.swing.JOptionPane;
  10. import javax.swing.JPanel;
  11.  
  12. @SuppressWarnings("serial")
  13. public class lucifer extends JPanel implements ActionListener
  14. {
  15. private int lucifers;
  16. private boolean player1 = false;
  17. private boolean player2 = false;
  18. private boolean ai = false; // TODO:
  19. private JButton b1, b2, b3, start;
  20. private JLabel tekst;
  21. private JPanel buttonPanel;
  22.  
  23. /**
  24.   * Default Constructor
  25.   */
  26. public lucifer()
  27. {
  28. this.buildGui(); // bouw Gui (frame, panels and buttons)
  29. }
  30.  
  31. public static void main(String[] args)
  32. {
  33. lucifer game = new lucifer();
  34. JFrame frame = new JFrame("Lucifer Game v2.0");
  35. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36. frame.add(game);
  37. frame.setSize(700, 300);
  38. frame.setVisible(true);
  39. }
  40.  
  41. /**
  42.   * Build Game Gui
  43.   */
  44. private void buildGui()
  45. {
  46. this.setLayout(new BorderLayout());
  47.  
  48. this.buttonPanel = new JPanel();
  49.  
  50. this.b1 = new JButton("1");
  51. this.b1.setEnabled(false);
  52. this.b1.addActionListener(this);
  53.  
  54. this.b2 = new JButton("2");
  55. this.b2.setEnabled(false);
  56. this.b2.addActionListener(this);
  57.  
  58. this.b3 = new JButton("3");
  59. this.b3.setEnabled(false);
  60. this.b3.addActionListener(this);
  61.  
  62. this.start = new JButton("Start");
  63. this.start.addActionListener(this);
  64.  
  65. this.tekst = new JLabel( "Druk op Start om te Beginnen");
  66.  
  67. this.buttonPanel.add(this.b1);
  68. this.buttonPanel.add(this.b2);
  69. this.buttonPanel.add(this.b3);
  70. this.buttonPanel.add(this.start);
  71. this.buttonPanel.add(this.tekst);
  72.  
  73. this.add(this.buttonPanel, BorderLayout.PAGE_START);
  74. }
  75.  
  76. /**
  77.   * Zet de lucifers op het scherm
  78.   */
  79. public void paintComponent(Graphics g)
  80. {
  81. //System.out.println("DEBUG: Painting");
  82.  
  83. super.paintComponent(g);
  84.  
  85. for(int i = 0 ; i < this.lucifers ; i++)
  86. {
  87. g.setColor(new Color(106, 53, 0)); // teken het stokje
  88. g.fillRect((i+1) * 20, 80, 3, 75);
  89.  
  90. g.setColor(new Color(255, 0, 0)); // teken het lucifer kopje
  91. g.fillOval(( (i+1) * 20) -3, 71, 9, 9);
  92.  
  93. g.setColor(Color.black);
  94. g.drawString(" " + (i+1), ( (i+1) * 20) -3, 175);
  95. }
  96. }
  97.  
  98. /**
  99. * Acties worden hier uitgevoerd na het drukken op een knop
  100. */
  101. public void actionPerformed(ActionEvent a)
  102. {
  103. // is er op de start knop gedrukt?
  104. if(a.getSource() == this.start)
  105. {
  106. this.lucifers = 21;
  107. this.player1 = true; // speler 1 begint TODO: laat spelers kiezen wie er begint
  108. this.start.setEnabled(false); // zet start knop uit
  109. this.b1.setEnabled(true); // zet b1,b2,b3 knoppen weer aan
  110. this.b2.setEnabled(true);
  111. this.b3.setEnabled(true);
  112. this.tekst.setText("Speler 1 Begint, Klik op 1, 2 of 3 om een lucifer te pakken");
  113. revalidate();
  114. repaint();
  115. }
  116. else if(a.getSource() == this.b1)
  117. {
  118. this.lucifers--; // haal 1 lucifer weg
  119. revalidate();
  120. repaint();
  121. }
  122. else if(a.getSource() == this.b2)
  123. {
  124. this.lucifers -= 2; // haal 2 lucifers weg
  125. revalidate();
  126. repaint();
  127. }
  128. else if(a.getSource() == this.b3)
  129. {
  130. this.lucifers -= 3; // haal 3 lucifers weg
  131. revalidate();
  132. repaint();
  133. }
  134.  
  135. this.move();
  136. //System.out.println("DEBUG: " + this.lucifers);
  137. }
  138.  
  139.  
  140. public void move()
  141. {
  142. if(this.lucifers <= 1)
  143. {
  144. if(this.player1 == true)
  145. {
  146. JOptionPane.showMessageDialog(this, "Speler 1 heeft het spel verloren.");
  147. }
  148. else if(this.player2 == true)
  149. {
  150. JOptionPane.showMessageDialog(this, "Speler 2 heeft het spel verloren.");
  151. }
  152.  
  153. this.start.setEnabled(true); // zet start knop uit
  154. this.b1.setEnabled(false); // zet b1,b2,b3 knoppen weer aan
  155. this.b2.setEnabled(false);
  156. this.b3.setEnabled(false);
  157. }
  158. else
  159. {
  160. if(this.player1 == true)
  161. {
  162. this.player1 = false;
  163. this.player2 = true;
  164. this.tekst.setText("Speler 2 is aan de beurt");
  165. }
  166. else if(this.player2 == true)
  167. {
  168. this.player1 = true;
  169. this.player2 = false;
  170. this.tekst.setText("Speler 1 is aan de beurt");
  171. }
  172. }
  173. }
  174.  
  175.  
  176. }
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (5)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.038s