Kleines Prog, kleines Prob :)

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Kleines Prog, kleines Prob :)

BeitragDo, Apr 29, 2004 14:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ich will nen kleinen Spiel mahcen, wo man immer nach einnader nen SAtz schreiben kann und nachher werden alle angezeigt.
Bis jetzt sieht es so aus:

Code: [AUSKLAPPEN]


   Graphics 640,480,32,2
   SetBuffer BackBuffer()
   AppTitle "Reizwortgeschichten"
   
   
   many$ = Input("Wieviele Sätze werden eingegeben?")
   
   
   
   For i = 1 To many$
   
      Print "Satz Nr."+i
      Satz$ = Input(">>")
      
   Next
   
   
   



Ich will aber, angenommen man hat bei many$ '3' eingegeben, das man auch zum Schluss den 1 ,2 und 3 satz sehen kann. Aber wie geht das, wenn alle Satzeingaben über die gleiche VAriabel laufen?
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
mit nem klitzekleinen Array Smile

Code: [AUSKLAPPEN]

   Graphics 640,480,32,2
   SetBuffer BackBuffer()
   AppTitle "Reizwortgeschichten"
   
; int( string$ ) gibt die Integerzahl zurück welche der String enthält
   
   many$ = Input("Wieviele Sätze werden eingegeben?")
   dim Satz$(int(many)) ; int um aus der Eingabe eine Zahl für
                                   ; die Dimensionierung des Arrays zu machen
   
   
   For i = 1 To int(many) ; int damit die Schleifendurchläufe von 1 bis
      for j = 1 to i-1         ; many gehen
        print Satz(j)          ; Bisher geschriebene Sätze ausgeben
      next
      Print "Satz Nr."+str i
      Satz$(i) = Input(">>") ; aktuellen Satz an der entsprechenden
                                       ; Position im Array speichern     
   Next
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
  • Zuletzt bearbeitet von Dreamora am Do, Apr 29, 2004 20:14, insgesamt 2-mal bearbeitet
 

storzi

BeitragDo, Apr 29, 2004 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist ne zahl -> integer -> nur "many" ohne $

sonst ist es ein string Smile

so könnte das ungefähr aussehen:
(nicht überprüft, einfach mal so online geschrieben Wink )

Code: [AUSKLAPPEN]

anzahl=int(input$("wieviele sätze?"))
dim satz$(anzahl-1)
for zahl=0 to (anzahl-1)
satz$(zahl)=input$("bla: ")
next
for zahl=0 to (anzahl-1)
print satz$(zahl)
next
http://www.splattergamez.de
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
geht das ganze nicht auch ein bissle einfacher ohne int etc. ?
~ Hey Ho Let's Go ~
 

Omenaton_2

BeitragDo, Apr 29, 2004 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde das ganz anderes angehen. Anständiger.
So etwas wie "Wie Viele Sätze werden eingegeben ?" sollte man nicht fragen.


Du hast einen Mauszeiger (mit Hauptschleife).
Du hast einen Button oder Menüpunkt für "Neuen Satz eingeben" und für Exit.

Wenn man auf den Button "Neuen Satz eingeben" klickt, dann durch Input den Satz einlesen. (Mit Locate den das Eingabefeld an die geeignete Position setzen, etc.)
Zurück zur Hauptschleife.

Auf der rechten Seite in einem Fenster werden dann alle Sätze die jemals eingegeben wurden schön aufgelistet angezeigt. (Nicht mit Print, sondern mit Text!)
 

Dreamora

BeitragDo, Apr 29, 2004 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Erm was is an int schwer?

es macht aus einem String eine Zahl mehr net Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Kryan

BeitragDo, Apr 29, 2004 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
er möchte ja erstmal das WICHTIGSTE coden
das mit buttons und so ist ja nur grafische verschönerung und vllt benutzerfreundlicher

aber denkst du wirklich, dass er sowas mit buttons kann und nicht einmal ein string an den anderen hängen?

Meine Version:
Code: [AUSKLAPPEN]

Graphics 640,480                                    ;schaltet den Graphikmodus ein
SetBuffer BackBuffer()                            ;setzt den buffer auf backbuffer
saetze=Input("Wieviele?")                       ;fragt, wieviele sätze man eingeben soll
For i=1 To saetze                                    ;anfang einer for-schleife
 Cls                                                       ;löscht den bildschirm
 satz$=satz$+Input("Satz"+i+" :")           ;addiert zur variable satz$ einen eingegebenen satz
 Text 1,1,satz$                                       ;schreibt den satz
 Flip                                                       ;tauscht backbuffer mit frontbuffer
Next                                                      :Ende der For-Schleife
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
  • Zuletzt bearbeitet von Kryan am Do, Apr 29, 2004 20:16, insgesamt einmal bearbeitet
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
kannst du mir deinen code kommentieren dreamora?! ich weiß nicht genau wieso du int etc. genommen hast. danke Smile
aber bitte alles kommentieren!
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
is gemacht Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie mache ich das, das der mir am ende, wnen alles eingegeben wurde, die einzelnen strings anzeigt?
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
einfach

for i = 1 to many
print String(i)
next


es sind ja alle sätze im Array String$ gespeichert welcher von 1 bis many geht
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
also anstatt

print String(i)

meisnt du wohl eher:

print satz$(i)
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
hm und wie geht das, das die zaheln am ende nicht unterinander gezeigt werden,s ondern nebeneinander
?
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
warum geht das nicht nach dem prinzip?

Graphics 640,480,32,2
SetBuffer BackBuffer()

many$ = Input("Wieviele Sätze?")



For i = 1 To many$
;ocate 0,20*i
Print "Satz Nr."+i
satz$ = Input(">>") : m = m + 1
Next


For i = 1 To m
Print satz$
Next
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 21:34
Antworten mit Zitat
Benutzer-Profile anzeigen
weil many keine Zahl ist sondern ein String

seh net wo das problem is einfach ma kurz int zu benutzen und gut is Smile

es liest den string von links nach rechts bis zum ersten zeichen das keine zahl is ( egal ob komma oder sonstwas ) und was es bis dahin hat wird dann zu einem Integer den die Funktion zurück gibt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie bekomme ich es hin, das es nach dem prinzip funzt?
~ Hey Ho Let's Go ~
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
wie geht daas dnen, nach dem prinzip von mir?!
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
garnicht

Du musst wissen wieviel mal die Loop durchlaufen soll und dafür brauchts ein int


entweder direkt many = int( Input("Wieviele Sätze?") )

oder um jedes many das als zahl benutzt wird muss ein int( ) rum


und da du die ganzen sätze nachher direkt nacheinander ausgeben willst musst du sie auch als array speichern vorher

von daher: mein source oben kannst ja die print loop bei der eingabe rausnehmen dann is es das was du hier versucht hast mit deinem sample oben
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Blitzkrieg Bop

BeitragDo, Apr 29, 2004 21:58
Antworten mit Zitat
Benutzer-Profile anzeigen
aber ich weiß nicht wie ich deinen code ändern msus, damit der nach den satzeingaben alles anzeigt...
~ Hey Ho Let's Go ~
 

Dreamora

BeitragDo, Apr 29, 2004 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du mit den paar Zeilen Code schon probleme hast empfehle ich dir dringend, tutorials zu lesen und zu machen. vielleicht sogar die hier immer wieder beworbenen bücher mal zu begutachten.


hier is der abgeänderte code


Code: [AUSKLAPPEN]

Graphics 640,480,32,2
   SetBuffer BackBuffer()
   AppTitle "Reizwortgeschichten"
   
   many = int( Input("Wieviele Sätze werden eingegeben?") )
   dim Satz$(many)
   
   For i = 1 To many
      Print "Satz Nr."+str i
      Satz$(i) = Input(">>") 
   Next
   for j = 1 to many
     print Satz(j)
   next
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group