Hallo zusammen,
habe da mal eine Frage zu meinem u.g. Code. Wie man sieht progge ich gerade ein RPG und versuche nun dem Helden einen (spätere mehrere) Verbündete zuzuweisen.
Dazu soll der Held den Verbündeten auf den er trifft (wird per Zufall ausgelost=verbart) dreimal ansprechen müssen. Jedes dieser drei Male hat er die Wahlmöglichkeit zwischen einer "lieben", einer "neutralen" und einer "aggressiven" Ansprache, auf die der mögliche Verbündete unterschiedlich reagieren soll. Da ich nun aber 26 mögliche Verbündete in mein Spiel integrieren will (hier nur 6 aufgeführt) weiß ich nicht ganz genau, wie ich dieses "Frage-Antwort-Spiel" am besten implementiere.
Mir fällt nur ein, jedem Verbündeten jeweils 3x3 eigene Buttons zu geben und dann mittels Actionevent jedesmal das gleich Bild(Pane) wieder aufzurufen um dann am Ende zu fragen, soll er (der Verbündete) dich begleiten.
Nach jedem Knopfdruck soll aber ein Label erscheinen, dass die Antwort des Verbündeten auf die Anrede enthalten soll. wie zum Beispiel "Er ist nicht begeistert", etc.
ist es nicht möglich so etwas wie (achtung nun Pseudo-Code)
if (freundlich gedrückt) {
pic1.add(Label ...)
else if (neutral gedrückt){
pic1.add(Label ....)
usw. zu machen, damit sich das Pane immer selber aktualisiert wenn ein Knopf gedrückt worden ist?
Wenn das nicht geht, müsste ich bei jedem Knopfdruck das alte Panel neu öffnen, repainten und alles gleich lassen bis auf das besagte Antwort-Label hinzufügen.
Das wären dann 26x9 Actionperformed und Components...das muss doch leichter (kürzer) gehen???
Wäre für jede Hilfe dankbar!!
Liebe Grüße
Macki
habe da mal eine Frage zu meinem u.g. Code. Wie man sieht progge ich gerade ein RPG und versuche nun dem Helden einen (spätere mehrere) Verbündete zuzuweisen.
Dazu soll der Held den Verbündeten auf den er trifft (wird per Zufall ausgelost=verbart) dreimal ansprechen müssen. Jedes dieser drei Male hat er die Wahlmöglichkeit zwischen einer "lieben", einer "neutralen" und einer "aggressiven" Ansprache, auf die der mögliche Verbündete unterschiedlich reagieren soll. Da ich nun aber 26 mögliche Verbündete in mein Spiel integrieren will (hier nur 6 aufgeführt) weiß ich nicht ganz genau, wie ich dieses "Frage-Antwort-Spiel" am besten implementiere.
Mir fällt nur ein, jedem Verbündeten jeweils 3x3 eigene Buttons zu geben und dann mittels Actionevent jedesmal das gleich Bild(Pane) wieder aufzurufen um dann am Ende zu fragen, soll er (der Verbündete) dich begleiten.
Nach jedem Knopfdruck soll aber ein Label erscheinen, dass die Antwort des Verbündeten auf die Anrede enthalten soll. wie zum Beispiel "Er ist nicht begeistert", etc.
ist es nicht möglich so etwas wie (achtung nun Pseudo-Code)
if (freundlich gedrückt) {
pic1.add(Label ...)
else if (neutral gedrückt){
pic1.add(Label ....)
usw. zu machen, damit sich das Pane immer selber aktualisiert wenn ein Knopf gedrückt worden ist?
Wenn das nicht geht, müsste ich bei jedem Knopfdruck das alte Panel neu öffnen, repainten und alles gleich lassen bis auf das besagte Antwort-Label hinzufügen.
Das wären dann 26x9 Actionperformed und Components...das muss doch leichter (kürzer) gehen???
Code:
public JComponent Verbuendeter() {
freund.removeAll();
freund.repaint();
JLabel pa1;
JLabel pa2;
JButton weiter = new JButton("Reise fortsetzen");
weiter.addActionListener(this);
weiter.setActionCommand("weiter");
weiter.setBounds(550,650,200,30);
JButton freundlich = new JButton("freundlich ansprechen");
freundlich.addActionListener(this);
freundlich.setActionCommand("freundlicha");
freundlich.setBounds(350,300,200,30);
JButton neutral= new JButton ("neutral ansprechen");
neutral.addActionListener(this);
neutral.setActionCommand("neutrala");
neutral.setBounds(350,400,200,30);
JButton feindlich = new JButton("aggressiv ansprechen");
feindlich.addActionListener(this);
feindlich.setActionCommand("feindlicha");
feindlich.setBounds(350,500,200,30);
int verbart =6;//(int)Math.ceil(Math.random()*6);
switch(verbart){
case 1:
JLabel pic1 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Simbah.jpg"));
pa1 = new JLabel("Euer Beobachter ist ein Waldgreif");
pa1.setBounds(150,0,1000,100);
pa1.setFont(f);
//pa1.setForeground(hell);
pa2=new JLabel("Wie wollt Ihr ihn ansprechen?");
pa2.setBounds(300,100,1000,100);
pa2.setFont(f4);
pic1.setLayout(null);
pic1.setOpaque(false);
pic1.add(pa1);
pic1.add(pa2);
pic1.add(freundlich);
pic1.add(neutral);
pic1.add(feindlich);
pic1.add(weiter);
freund.add(pic1);
break;
case 2:
JLabel pic2 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Emlog.jpg"));
pa1 = new JLabel("Euer Beobachter ist ein Zentaure");
pa1.setBounds(150,0,1000,100);
pa1.setFont(f);
pa2=new JLabel("Wie wollt Ihr ihn ansprechen?");
pa2.setBounds(300,50,1000,100);
pa2.setFont(f4);
pa2.setForeground(hell);
pa1.setForeground(hell);
pic2.setLayout(null);
pic2.setOpaque(false);
pic2.add(pa1);
pic2.add(freundlich);
pic2.add(neutral);
pic2.add(feindlich);
pic2.add(weiter);
pic2.add(pa2);
freund.add(pic2);
break;
case 3:
JLabel pic3 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Nasalurk.jpg"));
pa1 = new JLabel("Euer Beobachter ist eine junge Drachenreiterin");
pa1.setBounds(50,0,1000,100);
pa1.setFont(f);
pa2=new JLabel("Wie wollt Ihr sie ansprechen?");
pa2.setBounds(300,50,1000,100);
pa2.setFont(f4);
pic3.setLayout(null);
pic3.setOpaque(false);
pic3.add(pa1);
pic3.add(pa2);
pic3.add(freundlich);
pic3.add(neutral);
pic3.add(feindlich);
pic3.add(weiter);
freund.add(pic3);
break;
case 4:
JLabel pic4 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Lesara.jpg"));
pa1 = new JLabel("Euer Beobachter ist ein Eisgreif");
pa1.setBounds(150,0,1000,100);
pa1.setFont(f);
pa2=new JLabel("Wie wollt Ihr ihn ansprechen?");
pa2.setBounds(300,50,1000,100);
pa2.setFont(f4);
pa2.setForeground(hell);
pa1.setForeground(hell);
pic4.setLayout(null);
pic4.setOpaque(false);
pic4.add(pa1);
pic4.add(pa2);
pic4.add(freundlich);
pic4.add(neutral);
pic4.add(feindlich);
pic4.add(weiter);
freund.add(pic4);
break;
case 5:
JLabel pic5 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Kubalmira.jpg"));
pa1 = new JLabel("Euer Beobachter ist ein Chimären-Mündel");
pa1.setBounds(150,0,1000,100);
pa1.setFont(f);
pa2=new JLabel("Wie wollt Ihr sie ansprechen?");
pa2.setBounds(300,50,1000,100);
pa2.setFont(f4);
pa2.setForeground(hell);
pa1.setForeground(hell);
pic5.setLayout(null);
pic5.setOpaque(false);
pic5.add(pa1);
pic5.add(pa2);
pic5.add(freundlich);
pic5.add(neutral);
pic5.add(feindlich);
pic5.add(weiter);
freund.add(pic5);
break;
case 6:
JLabel pic6 =new JLabel(new ImageIcon("C:/Dokumente und Einstellungen/Cheffe/Eigene Dateien/Söldner Bilder/Verbündete/Kendor.jpg"));
pa1 = new JLabel("Euer Beobachter ein Auelb");
pa1.setBounds(250,0,1000,100);
pa1.setFont(f);
pa2=new JLabel("Wie wollt Ihr ihn ansprechen?");
pa2.setBounds(350,50,1000,100);
pa2.setFont(f4);
pic6.setLayout(null);
pic6.setOpaque(false);
pic6.add(pa1);
pic6.add(pa2);
pic6.add(freundlich);
pic6.add(neutral);
pic6.add(feindlich);
pic6.add(weiter);
freund.add(pic6);
break;
}
return freund;
}
Wäre für jede Hilfe dankbar!!
Liebe Grüße
Macki