Textspielerei

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

darth

Betreff: Textspielerei

BeitragDi, März 21, 2006 23:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
ich habe ein kleines programm gebastelt (ursprünglich für flip) das folgendes macht:
man gibt ihm einen string ("d")
und das programm verwandelt es in
Code: [AUSKLAPPEN]

     8
     8
     8
 88888
8    8
8    8
 88888

(mit der verschiebung hier sehen die buchstaben mies aus :/ )

alles was zu dem programm noch fehlt ist das alphabet Smile
ich habe nur d und e...


Code: [AUSKLAPPEN]
;kleines prog "(c)" by darth
;tested with "dee" (d.txt , e.txt) => worked ;)
;keine idee wie es mit print gehen könnte...

;string eingeben
in$=Input("input string plz ")

;array erstellen 1dim, mit grösse der anz. chars
Dim inarr$(Len(in$))
tmplen=Len(in$)

;die maximale anzahl der zeilen pro buchstabe
;(könnte/sollte man ändern,
; hatte noch keine idee wie :S )
norm=15

;spaltet den input string in einzel chars
For x=1 To tmplen
 inarr$(x)=Left(in$,1)
 in$=Right(in$,(Len(in$)-1))
Next

;lädt alle dateien
;speichert die zeilen in einem 2dim string
; dim1 ist die file nummer
; dim2 ist die zeile (die bsp waren alle 7 zeilig...)
 Dim intext$(tmplen,norm)
 Dim biglength(tmplen,norm)
 Dim bigy(tmplen,norm) : Dim lasty(tmplen,norm)
For x=1 To tmplen
  y=0
 stream=ReadFile(inarr$(x)+".txt")
 If stream<>0 Then ;nur sicherung ;)
  While Not Eof(stream)
   y=y+1
   intext$(x,y)=ReadLine$(stream)
   biglength(x,y)=Len(intext$(x,y))
   bigy(x,y)=y : lasty(x,y)=y
  Wend
 EndIf
Next

;einfache suche zum grössten wert
;wenn zu prüfender wert > wert,
;wird der zu prüfende im grössten gespeichert
;und wird dann zum neuen grössten :D
For x=1 To tmplen
For y=1 To norm
 If biglength(x,y)>biggest Then biggest=biglength(x,y)
 If bigy(x,y)>biggesty Then biggesty=bigy(x,y)
Next
Next

;hier wird solange das ganze runter kopiert,
;bis alle arreys auf der untersten zeile beginnen.
;damit eventuelle buchstabenverschiebungen (oben unten)
;keinen einfluss auf den text haben
For x=1 To tmplen
 While intext$(x,biggesty)=""
 For y=biggesty To 1 Step -1
  intext$(x,y)=intext$(x,y-1) : intext$(x,y-1)=""
 Next
 Wend
Next

Graphics 800,600
While Not KeyHit(1)

;anzeige der ganzen chose
;jeder der vorher gespeicherten strings wird nun angezeigt
;ein char ist 8pixel breit, daher biggest*8
; für den minimalen abstand der buchstaben...
; lässt sich variieren, z.b werte zwischen 75 und 100 sind gut
For y=norm To 1 Step -1
For x=1 To tmplen
 Text (x-1)*biggest*8,y*20,intext$(x,y)
Next
Next

Flip
Wend
End


der code ist (hoffentlich) ausführlich dokumentiert,
viel spass damit, ich hoffe es nützt irgendjemandem ein bisschen Very Happy

gruss, darth
Diese Signatur ist leer.

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group