WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Variable mit Variable ansprechen

 

Totomo94
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 00:02     Titel: Variable mit Variable ansprechen
  Antworten mit Zitat      
Hallo liebes MATLAB-Forum,

ich hab schon die SuFu benutzt aber keine Lösung für mein Problem gefunden..

Mein Problem:

In einem TicTacToe-Spiel gibt es 9 Variablen, eine pro Feld ("Feld1-9")

Es soll verhindert werden dass der Benutzer ein Feld auswählt, das nicht existiert oder schon vom gegner beschrieben wurde.

Ich brauche in einer Whileschleife 3 Bedingungen, die mit einem "Oder" verknüpft sind. Jedoch weiß ich nicht wie ich eine der 3 ausdrücken soll.
Erstmal mein Code:
Code:

Feldeingabe = 0;

while Feldeingabe < 1 || Feldeingabe > 9 || "Mein Problem"

Feldeingabe = str2num(input('Geben Sie die Nummer des Feldes ein\n' , 's'));

end


Zusätzlich zu "Feldeingabe" gibt es noch die Variablen "Feldbestätigung1" - "Feldbestätigung9". Wird bspw. das Feld 8 ausgewählt, so erhält "Feldbestätigung8" den Wert "1"

Bei "Mein Problem" sollte nun geprüft werden ob "Feldbestätigung(Feldeingabe)" == 1 ist. Und genau da bleibe ich hängen.

Wie kann ich in der Whileschleife die Variablen Feldbestätigung1-9, abhängig von der Benutzereingabe prüfen?

MfG Totomo Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 00:31     Titel:
  Antworten mit Zitat      
Hallo,

mit 9 verschiedenen Variablen machst du dir das Leben unnötig schwer.
Nimm stattdessen einen Vektor Feldbestaetigung mit 9 Elementen, dann kannst du auch die Abfrage wunderbar so machen, wie du dir das vorstellst.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Totomo94
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 01:06     Titel:
  Antworten mit Zitat      
Vielen Dank Harald Smile

Leider benötige ich für diese Aufgabe eine Lösung die ohne Arrays, Vektoren oä. auskommt.

Außerdem wäre es ganz hilfreich zu wissen wie man soetwas lösen kann Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 10:46     Titel:
  Antworten mit Zitat      
Hallo,

dann bleibt nur EVAL. Es ist mir jedoch unverständlich, warum man eine Aufgabe so formulieren würde, da man nur lernt, wie man's nicht macht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Totomo94
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 12:30     Titel:
  Antworten mit Zitat      
Okay,

ich hab zuvor mit EVAL die Variablen "Feldbestätigung1-9" bestimmt und mich dann an der Schleife versucht, aber ohne Erfolg. Weißt du oder jemand anderes wie ich das nur dieses eine mal so Lösen kann?

Hätte es selbst auch lieber anders gelöst, weil wie du sagst etwas sinnvolleres herauskommt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.01.2013, 12:43     Titel:
  Antworten mit Zitat      
Hallo,

etwa so:
Code:
eval(['feldbestaetigung(' num2str(feldeingabe) ') == 1'])


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Totomo94
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.01.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2013, 14:42     Titel:
  Antworten mit Zitat      
Super das funktioniert!

Vielen Dank Harald Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.