Forum: Kompileringsproblem

Forum huvudsida -> Programmering -> Kompileringsproblem

Sidor: 1

Till botten

coka 12:59 - 6:e Oktober 2009 | Post #1
Medlem
Inlägg: 3


Skicka PM
Är ganska ny på programmering, och försöker få till ett GUI, men programmet vill inte riktigt fungera. Det är ett kortspel, och det använder sig av flera klasser, så detta är inte allt, men det är det jag har problem med.
Har använt mig av ett exempel-program och försökt sätta ihop det med mitt gamla, så det kanske ser lite underligt ut, men jag vill bara veta varför det inte kompilerar.
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4.  
  5. public class Tjugoett2 extends JApplet {
  6.  
  7. public void init() {
  8.  
  9.  
  10. setBackground( new Color(130,50,40) );
  11.  
  12. BlackjackCanvas board = new BlackjackCanvas();
  13. getContentPane().add(board, BorderLayout.CENTER);
  14.  
  15. JPanel buttonPanel = new JPanel();
  16. buttonPanel.setBackground( new Color(220,200,180) );
  17. getContentPane().add(buttonPanel, BorderLayout.SOUTH);
  18.  
  19. JButton hit = new JButton( "Hit" );
  20. hit.addActionListener(board);
  21. buttonPanel.add(hit);
  22.  
  23. JButton stay = new JButton( "Stay" );
  24. stay.addActionListener(board);
  25. buttonPanel.add(stay);
  26.  
  27. JButton exit = new JButton( "Exit" );
  28. exit.addActionListener(board);
  29. buttonPanel.add(exit);
  30.  
  31.  
  32. }
  33.  
  34. public Insets getInsets() {
  35. return new Insets(3,3,3,3);
  36. }
  37.  
  38.  
  39.  
  40. class BlackjackCanvas extends JPanel implements ActionListener {
  41.  
  42.  
  43.  
  44. KortBunt lek;
  45.  
  46. Manniska du;
  47. Dator jag;
  48.  
  49. lek = new KortBunt();
  50. du = new Manniska(lek);
  51. jag = new Dator(lek, du);
  52.  
  53. lek.nyKortlek();
  54. lek.blanda();
  55.  
  56. du.nyttSpel();
  57. du.nyttKort();
  58.  
  59.  
  60.  
  61. String message;
  62.  
  63.  
  64.  
  65. Font bigFont;
  66. Font smallFont;
  67.  
  68.  
  69. BlackjackCanvas() {
  70.  
  71. setBackground( new Color(0,120,0) );
  72. smallFont = new Font("SansSerif", Font.PLAIN, 12);
  73. bigFont = new Font("Serif", Font.BOLD, 14);
  74.  
  75. }
  76.  
  77.  
  78. public void actionPerformed(ActionEvent e) {
  79.  
  80. String command = e.getActionCommand();
  81. if (hit == e.getSource())
  82. {
  83. if(du.p<21) {
  84. du.nyttKort();
  85. message = "Du har korten: "+du.symboler+" och har "+du.p+" poängn";
  86. if(du.p>21) {
  87. message = "Du förlorade...n";
  88. } else if(du.p == 21) {
  89. message = "Du vann!!n";
  90. }
  91. }
  92. }
  93. else
  94. if (stay == e.getSource())
  95. {
  96. if(du.p != 21) {
  97. jag.nyttSpel();
  98. message = "nDealerns tur...n";
  99. while(jag.p<=21 && jag.p<=du.p) {
  100. jag.nyttKort();
  101. }
  102. message = "Dealern fick korten:" + jag.symboler + " och har "+jag.p+" poängn";
  103. if (jag.poäng() <= 21 && jag.poäng() >= du.poäng()) {
  104. message = "Du förlorade!n";
  105. } else {
  106. message = "Du vann!n";
  107. }
  108. }
  109. }
  110. else
  111. if (exit == e.getSource())
  112. {
  113. System.exit(0);
  114. }
  115. }
  116.  
  117.  
  118.  
  119.  
  120. public void paintComponent(Graphics g) {
  121.  
  122.  
  123. super.paintComponent(g);
  124.  
  125. g.setFont(bigFont);
  126. g.setColor(Color.green);
  127. g.drawString(message, 10, getSize().height - 10);
  128.  
  129.  
  130. g.drawString("Dealerns kort:", 10, 23);
  131. g.drawString("Dina kort:", 10, 153);
  132.  
  133. g.setFont(smallFont);
  134. if (hit)
  135. nyttKort(g, null, 10, 30);
  136. else
  137. nyttKort(g, jag.nyttKort(0), 10, 30);
  138. for (int i = 1; i < jag.nyttKortCount(); i++)
  139. nyttKort(g, jag.nyttKort(i), 10 + i * 90, 30);
  140.  
  141.  
  142.  
  143. for (int i = 0; i < du.nyttKortCount(); i++)
  144. drawCard(g, du.nyttKort(i), 10 + i * 90, 160);
  145.  
  146. }
  147.  
  148.  
  149. void drawCard(Graphics g, Kort kort, int x, int y) {
  150.  
  151. if (kort == null) {
  152.  
  153. g.setColor(Color.blue);
  154. g.fillRect(x,y,80,100);
  155. g.setColor(Color.white);
  156. g.drawRect(x+3,y+3,73,93);
  157. g.drawRect(x+4,y+4,71,91);
  158. }
  159. else {
  160. g.setColor(Color.white);
  161. g.fillRect(x,y,80,100);
  162. g.setColor(Color.gray);
  163. g.drawRect(x,y,79,99);
  164. g.drawRect(x+1,y+1,77,97);
  165. if (kort.gets() == Kort.RUTER || kort.gets() == Kort.HJÄRTER)
  166. g.setColor(Color.red);
  167. else
  168. g.setColor(Color.black);
  169. g.drawString(kort.getsAsString(), x + 10, y + 30);
  170. g.drawString("of", x+ 10, y + 50);
  171. g.drawString(kort.getfAsString(), x + 10, y + 70);
  172. }
  173. }
  174.  
  175.  
  176. }
  177.  
  178.  
  179. }


Tacksam för hjälp!




Kekke 14:24 - 6:e Oktober 2009 | Post #2
Medlem
Inlägg: 4


Skicka PM
Det blir lättare att hjälpa om du postar felmeddelandenaSmiley

-------------------------
Ingen signatur!



coka 14:41 - 6:e Oktober 2009 | Post #3
Medlem
Inlägg: 3


Skicka PM
Sorry, det här felmedd. får jag:


Tjugoett2.java:47: <identifier> expected
         lek = new KortBunt();
         ^
Tjugoett2.java:48: <identifier> expected
          du = new Manniska(lek);
          ^
Tjugoett2.java:49: <identifier> expected
     jag = new Dator(lek, du);
     ^
Tjugoett2.java:51: <identifier> expected
     lek.nyKortlek();
     ^
Tjugoett2.java:52: <identifier> expected
         lek.blanda();
         ^
Tjugoett2.java:54: <identifier> expected
         du.nyttSpel();
         ^
Tjugoett2.java:55: <identifier> expected
         du.nyttKort();





coka 15:26 - 6:e Oktober 2009 | Post #4
Medlem
Inlägg: 3


Skicka PM
Har ändrat lite nu, och fått ihop ett program, men jag har några frågetecken: Programmet går att kompilera, men det händer inget när jag vill köra det, och sen huvud-problemet, när jag försöker lägga till paintComponent, så får jag detta felmedd:

NewTry.java:91: illegal start of expression
         public void paintComponent(Graphics g) {
         ^


  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. public class NewTry extends JApplet
  6. {
  7.  
  8.  
  9. public void init() {
  10.  
  11. setBackground( new Color(130,50,40) );
  12.  
  13. BlackjackCanvas board = new BlackjackCanvas();
  14. getContentPane().add(board, BorderLayout.CENTER);
  15.  
  16. JPanel buttonPanel = new JPanel();
  17. buttonPanel.setBackground( new Color(220,200,180) );
  18. getContentPane().add(buttonPanel, BorderLayout.SOUTH);
  19.  
  20. JButton hit = new JButton( "Hit" );
  21. hit.addActionListener(board);
  22. buttonPanel.add(hit);
  23.  
  24. JButton stay = new JButton( "Stay" );
  25. stay.addActionListener(board);
  26. buttonPanel.add(stay);
  27.  
  28. JButton exit = new JButton( "Exit" );
  29. exit.addActionListener(board);
  30. buttonPanel.add(exit);
  31.  
  32. }
  33. public Insets getInsets() {
  34. return new Insets(3,3,3,3);
  35. }
  36.  
  37. class BlackjackCanvas extends JPanel implements ActionListener {
  38.  
  39.  
  40. KortBunt lek;
  41. Manniska du;
  42. Dator jag;
  43.  
  44.  
  45. String message;
  46.  
  47. Font bigFont;
  48. Font smallFont;
  49.  
  50.  
  51. BlackjackCanvas() {
  52.  
  53. setBackground( new Color(0,120,0) );
  54. smallFont = new Font("SansSerif", Font.PLAIN, 12);
  55. bigFont = new Font("Serif", Font.BOLD, 14);
  56. }
  57.  
  58.  
  59. public void actionPerformed(ActionEvent e)
  60. {
  61. String command = e.getActionCommand();
  62.  
  63. if (command.equals("Hit"))
  64. {
  65. if(du.p<21) {
  66. du.nyttKort();
  67. message = "Du har korten: "+du.symboler+" och har "+du.p+" poäng ";
  68. if(du.p>21) {
  69. message = "Du förlorade... ";
  70. } else if(du.p == 21) {
  71. message = "Du vann!! ";
  72. }
  73. }
  74. }
  75. else
  76. if (command.equals("Stay"))
  77. {
  78. if(du.p != 21) {
  79. jag.nyttSpel();
  80. message = " Dealerns tur... ";
  81. while(jag.p<=21 && jag.p<=du.p) {
  82. jag.nyttKort();
  83. }
  84. message = "Dealern fick korten:" + jag.symboler + " och har "+jag.p+" poäng ";
  85. if (jag.poäng() <= 21 && jag.poäng() >= du.poäng()) {
  86. message = "Du förlorade! ";
  87. } else {
  88. message = "Du vann! ";
  89. }
  90.  
  91. public void paintComponent(Graphics g) {
  92.  
  93.  
  94. super.paintComponent(g);
  95.  
  96. g.setFont(bigFont);
  97. g.setColor(Color.green);
  98. g.drawString(message, 10, getSize().height - 10);
  99.  
  100.  
  101.  
  102. g.drawString("Dealer's Cards:", 10, 23);
  103. g.drawString("Your Cards:", 10, 153);
  104.  
  105.  
  106.  
  107. g.setFont(smallFont);
  108. if (gameInProgress)
  109. drawCard(g, null, 10, 30);
  110. else
  111. drawCard(g, dealerHand.getCard(0), 10, 30);
  112. for (int i = 1; i < dealerHand.getCardCount(); i++)
  113. drawCard(g, dealerHand.getCard(i), 10 + i * 90, 30);
  114.  
  115.  
  116.  
  117. for (int i = 0; i < playerHand.getCardCount(); i++)
  118. drawCard(g, playerHand.getCard(i), 10 + i * 90, 160);
  119.  
  120. }
  121.  
  122.  
  123. void drawCard(Graphics g, Card card, int x, int y) {
  124.  
  125. if (card == null) {
  126.  
  127. g.setColor(Color.blue);
  128. g.fillRect(x,y,80,100);
  129. g.setColor(Color.white);
  130. g.drawRect(x+3,y+3,73,93);
  131. g.drawRect(x+4,y+4,71,91);
  132. }
  133. else {
  134. g.setColor(Color.white);
  135. g.fillRect(x,y,80,100);
  136. g.setColor(Color.gray);
  137. g.drawRect(x,y,79,99);
  138. g.drawRect(x+1,y+1,77,97);
  139. if (card.getSuit() == Card.DIAMONDS || card.getSuit() == Card.HEARTS)
  140. g.setColor(Color.red);
  141. else
  142. g.setColor(Color.black);
  143. g.drawString(card.getValueAsString(), x + 10, y + 30);
  144. g.drawString("of", x+ 10, y + 50);
  145. g.drawString(card.getSuitAsString(), x + 10, y + 70);
  146. }
  147. }
  148.  
  149.  
  150. }
  151.  
  152. }
[SOURCE=java][/SOURCE]

Vad gör jag för fel??




martin310 19:30 - 7:e Oktober 2009 | Post #5
Medlem
Inlägg: 132


Skicka PM
Är inte bra på Java men du kan nog inte öppna en funktion i en annan funktion.

-------------------------

Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad!





Sidor: 1

Forum huvudsida -> Programmering -> Kompileringsproblem
Atom feed

Du får inte posta i den här tråden | Till toppen