Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

automatischer Zeilenumbruch

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 27.12.2006, 12:38    Titel: automatischer Zeilenumbruch Antworten mit Zitat

Ich will für ein Spiel ein Inventar coden in etwa so:


?"Du besitzt folgende gegenstände:"
IF apfel=1 THEN ?" Apfel"
IF birne=1 THEN ?" Birne"
...


und jetzt suche ich eine überprüfung die feststellt: wenn das fenster bis zu einem bestimmten punkt voll ist, wird die nächste spalte begonnen so z.B.:

Code:

IF apfel=1 THEN ?" Apfel"                     
IF birne=1 THEN ?" Birne"
...
...
IF neuer_gegenstand=1 THEN ?"neuer gegenstand"
zeilende/zeile voll benutze nächste zeile
..
zeilenende x/y wenn errreicht und weitere prints vorhanden THEN print in zeile 2


ausgabe:

zeile 1 zeile 2
apfel neuer gegenstand
birne
[/code]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 27.12.2006, 14:01    Titel: Antworten mit Zitat

du müsstest die aktuelle zielenposition mit POS ermitteln. POS gibt die aktuelle spalte zurück. dann müsstest du überprüfen, ob POS + Länge des Wortes größer als die Bildschirmbreite (In buchstaben, also nicht in pixeln!) ist. wenn JA, dann neue zeile beginnen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 27.12.2006, 14:54    Titel: Re: automatischer Zeilenumbruch Antworten mit Zitat

masterherpo hat Folgendes geschrieben:
IF apfel=1 THEN ?" Apfel"
IF birne=1 THEN ?" Birne"

So etwas ist schon einmal grundlegend vom Software-Design her schlecht. Siehe

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Anfaengerfehler.html

Zum Thema Gegenstände-Verwaltung:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Abenteuerspiel.html

=> Nimm Arrays zu Hilfe. Mit Arrays kannst Du Deine IF-Statement-Ansammlung vollständig eliminieren, da Du das ganze Array einfach mit einer FOR-Schleife abarbeitest. Somit kannst Du auch die bisher ausgegebenen Gegenstände zählen und feststellen, ob der Bildschirm platzmässig voll ist, womit Deine ursprüngliche Frage auch gelöst ist.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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.

 Impressum :: Datenschutz