[JAVA] restart functie

Pagina: 1
Acties:

  • Mishmash
  • Registratie: Juli 2002
  • Laatst online: 13-12-2023
Gegroet mede tweakers,

Ik moet voor school een spelletje schrijven in java, nou ben ik al een behoorlijk eind maar ik heb nog 1 probleem, hij wilt niet stoppen of restarten...

Als ik het woord goed geraden heb dan wil ik dus of een knop tevoorschijn zien komen waar je op kan klikken om het spelletje overnieuw te laten starten of dat hij automatisch restart, dat maakt verder niet veel uit. Zolang er maar 1 van de 2 functies in zit.

Hieronder de broncode, ik hoop dat jullie me kunnen helpen... :'(

P.S. Het gaat hier om het spelletje Galgje

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Hangmen extends Applet
{
      TextField invoer, uitvoer;
      Label linvoer;
      String w;
      String oplossing;
      String uitleg2;
      StringBuffer sterren;
      int t;
      int teller;
      int aantal;
      int fout;

      private Image afbeelding1;
      private Image afbeelding2;
      private Image afbeelding3;
      private Image afbeelding4;
      private Image afbeelding5;
      private Image afbeelding6;
      boolean goed;
      String s;
      public void init()
      {
              sterren = new StringBuffer("******");
              s="";

              invoer = new TextField (1);
              invoer.addActionListener ( new inVoer());

              uitvoer = new TextField (10);
              uitvoer.setEditable( false );
              linvoer = new Label ("Geef hier een letter!");

              add (linvoer);
              add (invoer);
              add (uitvoer);

              afbeelding1 = getImage( getDocumentBase(),"1.gif" );
              afbeelding2 = getImage( getDocumentBase(),"2.gif" );
              afbeelding3 = getImage( getDocumentBase(),"3.gif" );
              afbeelding4 = getImage( getDocumentBase(),"4.gif" );
              afbeelding5 = getImage( getDocumentBase(),"5.gif" );
              afbeelding6 = getImage( getDocumentBase(),"6.gif" );

              teller = 1;
              fout = 6;
              t = 0;
              w = "";
              oplossing ="galgje";

      }

      public void paint(Graphics g)
      {

  switch ( teller )
                      {
      case 2 :
      g.drawImage(afbeelding1, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      break;

      case 3 :
      g.drawImage(afbeelding2, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      break;

      case 4 :
      g.drawImage(afbeelding3, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      break;

      case 5:
      g.drawImage(afbeelding4, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      break;

      case 6:
      g.drawImage(afbeelding5, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      break;

      case 7:
      g.drawImage(afbeelding6, 70, 150, 152, 203, this );
      g.drawString(""+uitleg2, 5, 82 );
      play(getCodeBase(), "scream.au");
      break;

      }
              uitvoer.setText(" "+sterren);
              g.drawString(""+w, 6, 20 );

              if(fout==(0))
              {
               g.drawString("Helaas je bent af!", 6, 20 );
              }

      }

      class inVoer implements ActionListener
      {
              public void actionPerformed (ActionEvent e)
              {
                      String in = invoer.getText();
                      char letter = in.charAt(0);
                  goed =false;

              // vergelijk letter met woord
                      int l = oplossing.length();

                              for(t = 0 ; t < l ; t++)
                              {
                                      char vergelijking = oplossing.charAt(t);
                                      if (letter == vergelijking)
                                      {
                                              goed = true;
                                              sterren.setCharAt (t,letter);
                                              s =sterren.toString ();
                       }
                                   }

                      if (goed ==false)
                      {   fout-=1;
                              teller+=1;
                      uitleg2="Aantal pogingen over : "+fout+"";
                      }

                      if(s.equals(oplossing)){
                         w= "goed";
                   }
                      invoer.setText("");
                      repaint();
              //lus inbouwen teller op 6 bij stoppen.
              //goed moet waarde true. dan klaar

              }
      }
}

[ Voor 5% gewijzigd door Mishmash op 05-11-2004 09:34 ]


  • J2pc
  • Registratie: Oktober 2002
  • Niet online

J2pc

UT Tux Edition

Ik heb niet echt ervaring met applets, maar hier mijn visie:

Maak een klasse die jouw game 'beheert'.
Zorg dat je game deze 'beheerder' ook kent.
geef de beheerder een functie 'startGalgje()'
waarin dan een nieuwe instantie van je galgje-game wordt gestart?

Zo deden wij dat i.i.g. bij een marine-simulatie die we op school moesten maken (was een server-client multiplayer game, kwam nog wel 't een en ander bij kijken ;) )

"The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a challenge and opportunity beyond imagination." © Stuart G. Walesh


  • Mishmash
  • Registratie: Juli 2002
  • Laatst online: 13-12-2023
Kan het niet simpeler...? :'(

  • Mishmash
  • Registratie: Juli 2002
  • Laatst online: 13-12-2023
Volgens m'n leraar moet ik hem ombouwen naar een applicatie, maar nu krijg ik het probleem dat hij de plaatjes dan niet meer kan vinden :'(

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Deze:
teller = 1;
fout = 6;
t = 0;
w = "";
oplossing ="galgje";
naar begin waarden zetten en repainten?
Maak je een methode reset(), je maakt een button opnieuw die standaard setEnabled(false) en wanner case 7 setEnabled(true), knopje roept methode reset aan, spelletje wordt opnieuw getekend en de button wordt weer gedisabled.

D'r is bijna geen verschil tussen een applicatie en een applet, kwa dit soort mogelijkheden, alleen dat je bij een applet vaak tegen security issues aan loopt.

[ Voor 24% gewijzigd door Gert op 05-11-2004 11:18 ]


  • Mishmash
  • Registratie: Juli 2002
  • Laatst online: 13-12-2023
Ik heb hem nu zo aangepast, volgens het boek wat wij gebruiken zou hij nu moeten werken als applicatie. Hij kan echter de plaatjes niet meer vinden die in dezelfde map staan.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
import java.awt.*;
import java.awt.event.*;

public class Hangmen extends Frame
{
     TextField invoer, uitvoer;
     Label linvoer;
     String w;
     String oplossing;
     String uitleg2;
     StringBuffer sterren;
     int t;
     int teller;
     int aantal;
     int fout;

     private Image afbeelding1;
     private Image afbeelding2;
     private Image afbeelding3;
     private Image afbeelding4;
     private Image afbeelding5;
     private Image afbeelding6;
     //private Button startKnop;

     boolean goed;
     String s;

     public static void main ( String[] args ) {
       new Hangmen();
     }

     public Hangmen()
     {
             sterren = new StringBuffer("******");
             s="";

             invoer = new TextField (1);
             invoer.addActionListener ( new inVoer());

             uitvoer = new TextField (10);
             uitvoer.setEditable( false );
             linvoer = new Label ("Geef hier een letter!");

             add (linvoer);
             add (invoer);
             add (uitvoer);

             afbeelding1 = getImage( getDocumentBase(),"1.gif" );
             afbeelding2 = getImage( getDocumentBase(),"2.gif" );
             afbeelding3 = getImage( getDocumentBase(),"3.gif" );
             afbeelding4 = getImage( getDocumentBase(),"4.gif" );
             afbeelding5 = getImage( getDocumentBase(),"5.gif" );
             afbeelding6 = getImage( getDocumentBase(),"6.gif" );

             teller = 1;
             fout = 6;
             t = 0;
             w = "";
             oplossing ="galgje";

                         addWindowListener( new VensterHandler() );

                         setSize( 600, 400);
             setTitle("Hangmen");
             setVisible(true);

                         /*startKnop = new Button( "Start opnieuw" );
                         startKnop.addActionListener( new startKnopHandler() );
                         add(startKnop);*/
     }

     public void paint(Graphics g)
     {

 switch ( teller )
                     {
     case 2 :
     g.drawImage(afbeelding1, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     break;

     case 3 :
     g.drawImage(afbeelding2, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     break;

     case 4 :
     g.drawImage(afbeelding3, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     break;

     case 5:
     g.drawImage(afbeelding4, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     break;

     case 6:
     g.drawImage(afbeelding5, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     break;

     case 7:
     g.drawImage(afbeelding6, 70, 150, 152, 203, this );
     g.drawString(""+uitleg2, 5, 82 );
     play(getCodeBase(), "scream.au");
     break;

     }
             uitvoer.setText(" "+sterren);
             g.drawString(""+w, 6, 20 );

             if(fout==(0))
             {
             g.drawString("Helaas je bent af!", 6, 20 );

             /*startKnop = new Button( "Start opnieuw" );
                         startKnop.addActionListener( new startKnopHandler() );
                         add(startKnop);*/

             teller = 1;
             fout = 6;
             t = 0;
             w = "";
             oplossing ="galgje";
             sterren = new StringBuffer("******");
             s="";

           }

     }

     class inVoer implements ActionListener
     {
             public void actionPerformed (ActionEvent e)
             {
                     String in = invoer.getText();
                     char letter = in.charAt(0);
                 goed =false;

             // vergelijk letter met woord
                     int l = oplossing.length();

                             for(t = 0 ; t < l ; t++)
                             {
                                     char vergelijking = oplossing.charAt(t);
                                     if (letter == vergelijking)
                                     {
                                             goed = true;
                                             sterren.setCharAt (t,letter);
                                             s =sterren.toString ();
                      }
                                  }

                     if (goed ==false)
                     {         fout-=1;
                           teller+=1;
                               uitleg2="Aantal pogingen over : "+fout+"";
                     }

                     if(s.equals(oplossing)){
                        w= "goed";
                         }
                     if(w == "goed"){
                       teller = 1;
                               fout = 6;
                               t = 0;
                               w = "";
                               oplossing ="galgje";
                               sterren = new StringBuffer("******");
                               s="";

                   }
                     invoer.setText("");
                     repaint();
             //lus inbouwen teller op 6 bij stoppen.
             //goed moet waarde true. dan klaar

             }

           }

     private class VensterHandler extends WindowAdapter {
       public void windowClosing( WindowEvent e) {
               dispose();
               System.exit( 0 );
       }
     }

}


Ik krijg nu bij alle 7 de images een cannot resolve symbol

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Moet je even googlen op +java +images +application

getDocumentBase enzo zijn methoden dia bij Applet horen.

  • Mishmash
  • Registratie: Juli 2002
  • Laatst online: 13-12-2023
Gert schreef op 05 november 2004 @ 11:27:
Moet je even googlen op +java +images +application

getDocumentBase enzo zijn methoden dia bij Applet horen.
Got it!

Toolkit.getDefaultToolkit().getImage("image.gif"); moest het zijn.
Nu alleen nog uitzoeken hoe we ons geluidje weer aan de praat kunnen krijgen :)
Pagina: 1