Mehrere Spielernamen annehmen und speichern???

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

demonboy

Betreff: Mehrere Spielernamen annehmen und speichern???

BeitragMo, Sep 22, 2008 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiss nicht mehr weiter...
ich habe schon so einiges versuch aber nix klappt irgendwie bitte helft mir...
bis jetzt sieht ber quelltext so aus:
Code: [AUSKLAPPEN]


Print "Wieviele Spieler nehmen Teil?"
Spielerzahl = Input()
Delay 1000
Print
Print "Gut.Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
  Delay 1000
  (Name+i) = Input("Spieler" + i + ": ")
Next

ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

sheldon

BeitragMo, Sep 22, 2008 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit einem Array würde ich sagen

Code: [AUSKLAPPEN]

Print "Wieviele Spieler nehmen Teil?"
Spielerzahl = Input()
dim spieler(spielerzahl)
Delay 1000
Print
Print "Gut.Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
  Delay 1000
  spieler(i) = Input("Spieler" + i + ": ")
Next


Das Delay würde ich auch rausmachen. Und ich glaube auch nicht, dass meine Lösung intelligent war...
 

demonboy

BeitragMo, Sep 22, 2008 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
klappt leider auch nicht sonst muss ich für jede spielerzahl nen if mach aba ich warte noch ma auf andere posts.
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!
 

da_poller

BeitragMo, Sep 22, 2008 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
in wiefern meinst du für jeden spieler ne if abfrage?

wenn du einen spieler abfragen willst wirst du um if abfragen nciht rum kommen..

also wo genau willst du dir was sparen?

Xeres

Moderator

BeitragMo, Sep 22, 2008 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type TSpieler
   Field Name$
End Type

Print "Wieviele Spieler nehmen Teil?"
Local Spielerzahl% = Input(":> ")
Print "Gut. Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
   Local spieler.TSpieler = New TSpieler
   spieler\Name = Input("Spieler " + i + " : ")
Next

WaitKey()

Entweder Types oder eben ein Array wie sheldon vorschlug, was dir leichter fällt...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

demonboy

BeitragMo, Sep 22, 2008 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
okay. danke aber ich hab das jetzt schon so gemacht:
Code: [AUSKLAPPEN]

.Start
Print
Print "Wieviele Spieler nehmen Teil?(1-4)"
Spielerzahl = Input()
Delay 1000
If Spielerzahl > 4 Then
  Print
  Print "Zu viele Spieler."
  Goto Start
EndIf
Print
Print "Gut.Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
  Delay 1000
  Print ("Spieler" + i + ":")
  eingabe$ = Input()
  If i = 1 Then
    player1$ = eingabe$
  ElseIf i = 2 Then
    player2$ = eingabe$
  ElseIf i = 3 Then
    player3$ = eingabe$
  ElseIf i = 4 Then
    player4$ = eingabe$
  EndIf
Next

trozdem danke Very Happy
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

Xeres

Moderator

BeitragMo, Sep 22, 2008 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist eine sehr "Hardcoded" Variante, die selbst kleinere Änderungen sehr langwierig machen wird. Außerdem ist es genau das, was du bei sheldon abgelehnt hast: Für jeden Spieler einmal If...Then. Wenn du jetzt für jeden Spieler noch Leben/Punkte oder diverse andere Zähler brauchst... viel Spaß wirst du damit nicht haben.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Smily

BeitragMo, Sep 22, 2008 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Was würde gegen Arrays/Dims sprechen?

Ansonsten: Mit dem durchnummerieren von Variablen und dem verwenden von Goto hast du gleich zwei todsünden verwendet Wink

Code: [AUSKLAPPEN]

spielerzahl = input("wieviele spieler?");
dim name$(spieler);
for x = 0 to spielerzahl-1
   name$(x) = input("name von spieler " + x + "?");
next
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Nova

BeitragDi, Sep 23, 2008 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Smily0412 hat Folgendes geschrieben:
Ansonsten: Mit dem durchnummerieren von Variablen und dem verwenden von Goto hast du gleich zwei todsünden verwendet Wink

Deine Meinung. Zwar stimme ich dir mit den variablen zu, allerdings bin ich bei GoTo einer anderen Meinung. Wink

Smily0412 hat Folgendes geschrieben:
Code: [AUSKLAPPEN]

spielerzahl = input("wieviele spieler?");
dim name$(spieler);
for x = 0 to spielerzahl-1
   name$(x) = input("name von spieler " + x + "?");
next

Damit erstellst du immer ein Array von 0. Schließlich wird die Usereingabe in "spielerzahl" gespeichert.
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

D2006

Administrator

BeitragDi, Sep 23, 2008 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Nova hat Folgendes geschrieben:
allerdings bin ich bei GoTo einer anderen Meinung. Wink

Das ist freilich dein gutes Recht, aber ich würde dich bitten mit dieser Meinung nicht zu hausieren und sie anderen Anfängern zu zeigen, okay? Wink Immerhin ist die Mehrheit der Programmierer zu recht der Meinung, dass Goto Teufelswerk ist und man es vermeiden sollte.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

demonboy

BeitragDi, Sep 23, 2008 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab das mit der arrays jetzt alles durchgekaut und jedesmal erhalte ich die meldung dass mir ein next fehl... Sad
woran kannn das liegen?
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

sheldon

BeitragDi, Sep 23, 2008 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Poste mal dein Code, oder überprüfe, ob du für jede If-Abfrage, die nicht in nur einer Zeile steht, auch ein End If hast
 

demonboy

BeitragDi, Sep 23, 2008 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

.Start
Print "Wieviele Spieler nehmen Teil?(1-4)"
Spielerzahl = Input()
Delay 1000
If Spielerzahl > 4 Then
  Print
  Print "Zu viele Spieler."
  Goto Start
EndIf
If Spielerzahl <= 0 Then
  Print
  Print " Ungültige Eingabe"
  Goto Start
Print
Print "Gut.Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
  Delay 1000
  Print ("Spieler" + i + ":")
  name$(i) = input()
Next
[/code]
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!
 

demonboy

BeitragDi, Sep 23, 2008 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
kacke ich hab die klammer bei dem input vergessen sry jetzt fuzts!! Embarassed
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

sheldon

BeitragDi, Sep 23, 2008 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
.Start
Print "Wieviele Spieler nehmen Teil?(1-4)"
Spielerzahl = Input()
Delay 1000
If Spielerzahl > 4 Then
  Print
  Print "Zu viele Spieler."
  Goto Start
EndIf
If Spielerzahl <= 0 Then
  Print
  Print " Ungültige Eingabe"
  Goto Start
END IF ;<--- End If vergessen
Print
Print "Gut.Gebt bitte die Spielernamen ein:"
For i = 1 To Spielerzahl
  Delay 1000
  Print ("Spieler" + i + ":")
  name$(i) = input()
Next
 

demonboy

BeitragDi, Sep 23, 2008 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke aber jetzt funktionieren die funktionen auf einmal nicht mehr Question
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

sheldon

BeitragDi, Sep 23, 2008 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche Funktionen?

Xeres

Moderator

BeitragDi, Sep 23, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Nachdem die Spielerzahl zwischen 1 und 4 festgelegt wurde, muss man natürlich auch das Array "Name$" mittels DIM erstellen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

demonboy

BeitragDi, Sep 23, 2008 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
aha ok danke Very Happy
ACHTUNG!!!
Newbiealarm:
Ich habe erst vor kurzem mit dem programmieren von BB angefangen!!!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group