Discuss Scratch
- Discussion Forums
- » Deutsch
- » Studio: Schrift, Text, Strings, Listen
- fuenf
-
44 posts
Studio: Schrift, Text, Strings, Listen



http://scratch.mit.edu/studios/407647/projects/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Last edited by fuenf (May 12, 2014 08:19:43)
- fuenf
-
44 posts
Studio: Schrift, Text, Strings, Listen
Kleine Übersicht zum Themen-Cluster 'Schrift, Text, Strings, Listen …'
Dynamische Textausgabe, Text-Engines
+ Standard: sage(), denke(), frage()
+ Textanzeige via Variablen und Listen
+ Schriftzeichen und Symbole als Kostüm stempeln
+ Zeichenausgabe via Stift
++ Plotterausgabe, Zeichen als Vektor definiert
++ Zeichen und Symbole als Bitmap definiert
+ Verwendung von Steuerzeichen im Ausgabetext! z.B CRLF=\n Textfarbe=\c(255,0,0)
Texteingabe
+ Unterscheidung von Groß- Kleinschreibung http://wiki.scratch-dach.info/wiki/Case_Sensing
+ Sondertasten erkennen http://scratch.mit.edu/projects/19204741
Zeichen und Symbole
+ Hack: Zeichencode über Kostümnamen identifizieren (ASCII-Liste) http://scratch.mit.edu/projects/2639962
+ Verwendung von Unicode-Symbolen
++ Unicodeblock U+2600 “256 verschiedene Symbole / Miscellaneous Symbols” in Liste importiert
Strings
+ Funktions-Sammlung http://scratch.mit.edu/projects/18838153/
+ Hack: Gross/Kleinschreibung mit Kostümen unterscheiden: http://scratch.mit.edu/discuss/topic/15324
+ String Hashing http://scratch.mit.edu/projects/2639962
+ Tipp: Listen zur Stringbearbeitung verwenden!
++ Listenwerte lassen sich schnell und komfortabel zu einem String zusammenführen String=Liste mit interessantem Verhalten:
+++ Liste von Einzelzeichen werden ohne Lehrzeichen zusammengeführt
+++ Liste von Stings werden mit Leerzeichen zusammengeführt (sobald mindest eine Zelle einen String der Länge > 1 enthält)
Listen http://wiki.scratch-dach.info/wiki/Listen
+ Listen sortieren
+ Datenstrukturen in Listen realisieren
++ Stack = Last in first out
++ mehrdimensionale Arrays
+++ Liste in Listen mit Trennzeichen z.B: a/b/c/d http://scratch.mit.edu/projects/18975708/
+++ mehrdimensionale Arrays mit Indexformel auf lineare Liste abbilden http://scratch.mit.edu/projects/10122815
+++ lokale Listen in Klons verwalten (Hack?) http://scratch.mit.edu/projects/17960850/
++ hierarchische Datenhaltung / Ordnerstruktur http://scratch.mit.edu/projects/12066786
+ Listenbasierter Computer
Konverter / Translator / Generator
+ Morsecode http://scratch.mit.edu/projects/780120
+ ASCII-Konverter http://scratch.mit.edu/projects/10667037
+ Scratch-HTML http://scratch.mit.edu/projects/20964954
Cloud-Daten
+ Wer darf?
+ No Chat!
+ No Listen
E-books! http://scratch.mit.edu/sttudios/260135
List based games =Games without sprites (back to the roots!
) Sammlung
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Was fehlt noch?
Dynamische Textausgabe, Text-Engines
+ Standard: sage(), denke(), frage()
+ Textanzeige via Variablen und Listen
+ Schriftzeichen und Symbole als Kostüm stempeln
+ Zeichenausgabe via Stift
++ Plotterausgabe, Zeichen als Vektor definiert
++ Zeichen und Symbole als Bitmap definiert
+ Verwendung von Steuerzeichen im Ausgabetext! z.B CRLF=\n Textfarbe=\c(255,0,0)
Texteingabe
+ Unterscheidung von Groß- Kleinschreibung http://wiki.scratch-dach.info/wiki/Case_Sensing
+ Sondertasten erkennen http://scratch.mit.edu/projects/19204741
Zeichen und Symbole
+ Hack: Zeichencode über Kostümnamen identifizieren (ASCII-Liste) http://scratch.mit.edu/projects/2639962
+ Verwendung von Unicode-Symbolen
++ Unicodeblock U+2600 “256 verschiedene Symbole / Miscellaneous Symbols” in Liste importiert
Strings
+ Funktions-Sammlung http://scratch.mit.edu/projects/18838153/
+ Hack: Gross/Kleinschreibung mit Kostümen unterscheiden: http://scratch.mit.edu/discuss/topic/15324
+ String Hashing http://scratch.mit.edu/projects/2639962
+ Tipp: Listen zur Stringbearbeitung verwenden!
++ Listenwerte lassen sich schnell und komfortabel zu einem String zusammenführen String=Liste mit interessantem Verhalten:
+++ Liste von Einzelzeichen werden ohne Lehrzeichen zusammengeführt
+++ Liste von Stings werden mit Leerzeichen zusammengeführt (sobald mindest eine Zelle einen String der Länge > 1 enthält)
Listen http://wiki.scratch-dach.info/wiki/Listen
+ Listen sortieren
+ Datenstrukturen in Listen realisieren
++ Stack = Last in first out
++ mehrdimensionale Arrays
+++ Liste in Listen mit Trennzeichen z.B: a/b/c/d http://scratch.mit.edu/projects/18975708/
+++ mehrdimensionale Arrays mit Indexformel auf lineare Liste abbilden http://scratch.mit.edu/projects/10122815
+++ lokale Listen in Klons verwalten (Hack?) http://scratch.mit.edu/projects/17960850/
++ hierarchische Datenhaltung / Ordnerstruktur http://scratch.mit.edu/projects/12066786
+ Listenbasierter Computer
Konverter / Translator / Generator
+ Morsecode http://scratch.mit.edu/projects/780120
+ ASCII-Konverter http://scratch.mit.edu/projects/10667037
+ Scratch-HTML http://scratch.mit.edu/projects/20964954
Cloud-Daten
+ Wer darf?
+ No Chat!
+ No Listen
E-books! http://scratch.mit.edu/sttudios/260135
List based games =Games without sprites (back to the roots!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Was fehlt noch?
Last edited by fuenf (May 12, 2014 17:21:41)
- TM_
-
1000+ posts
Studio: Schrift, Text, Strings, Listen
Bei Sonderzeichen erkennen könntest du das hier verlinken und zum Studio hinzufügen: Griffpatch's ASCII-Key-Detector
Sonst wüsste ich nicht was noch fehlt, scheint allees da zu sein
Sonst wüsste ich nicht was noch fehlt, scheint allees da zu sein

- Samueldora
-
100+ posts
Studio: Schrift, Text, Strings, Listen
Textfunktionen werden in Scratch ja ziemlich stiefmütterlich behandelt. Insbesondere fehlen mir die üblichen Stringfunktionen und eine dynamische Textein-/ausgabe. …
1. Du hast völlig recht!
2. Es ist Absicht!
Textfunktionen wie von Dir beschrieben habe ich auch immer vermisst in Scratch. Ich bin bekennender Text-Junkie! Hier und da konnte ich es mir auch nicht verkneifen, textorientiert zu scratchen und mir meinen kleinen Bedarf dafür selbst zu schreiben.
Aber ich bin der Meinung, dass Scratch genau solchen Text-Junkies mit Absicht Grenzen setzt.





Ein Bild sagt mehr als tausend Worte



Samueldora
P.S.: Dein Studio finde ich trotzdem Klasse und sehe mich darin auch immer wieder einmal um.

- fuenf
-
44 posts
Studio: Schrift, Text, Strings, Listen
Griffpatch's ASCII-Key-DetectorDanke Dir, in der Sammlung hatte ich's schon. Ist ne nützliche Anwendung, die ich nun auch in der Übersicht verlinkt habe. Mehr von solchem … Bei Sonderzeichen erkennen könntest du das hier verlinken und zum Studio hinzufügen:
Sonst wüsste ich nicht was noch fehlt, scheint allees da zu sein
Last edited by fuenf (May 12, 2014 17:29:47)
- fuenf
-
44 posts
Studio: Schrift, Text, Strings, Listen
Textfunktionen werden in Scratch ja ziemlich stiefmütterlich behandelt. Insbesondere fehlen mir die üblichen Stringfunktionen und eine dynamische Textein-/ausgabe. …
1. Du hast völlig recht!
2. Es ist Absicht!





Last edited by fuenf (May 12, 2014 18:13:48)
- forth
-
15 posts
Studio: Schrift, Text, Strings, Listen
Wie ein 2-dimensionales Array auf eine lineare Liste abbilden?
Lösung_1: 2d array based on ½*(n+m-2)*(n+m-1)+n: http://scratch.mit.edu/projects/1807313 von @roijac Mai 2011
Ein reizvoller Ansatz, erfordert aber überflüssige Leerfelder, es werden mindestens (n+1)² Felder benötigt. Z.B. (4+1)²=25 für 4 Zeilen, 4 Spalten
Schade, weil im Beispiel die Liste nur mit n² (z.B. 4²=16) Feldern initialisiert ist, so gehen Feldwerte verloren. Mit wenigen Handgriffen ließe sich immerhin aus dem Fix-Array ein zuverlässiges dynamisches Array basteln, das bei Bedarf mit den Arrayparametern wächst (just in time):
~~~~~~~~~~~~~~~~~~~~~~~~~~~
2D-Arrays können viele Anwendungen vereinfachen. Mal schau'n, vielleicht hat schon längst wer die passende Formel bei der Hand …
broadcast [HowTo: 2D-Array To List?] and wait
Lösung_1: 2d array based on ½*(n+m-2)*(n+m-1)+n: http://scratch.mit.edu/projects/1807313 von @roijac Mai 2011
Ein reizvoller Ansatz, erfordert aber überflüssige Leerfelder, es werden mindestens (n+1)² Felder benötigt. Z.B. (4+1)²=25 für 4 Zeilen, 4 Spalten
Schade, weil im Beispiel die Liste nur mit n² (z.B. 4²=16) Feldern initialisiert ist, so gehen Feldwerte verloren. Mit wenigen Handgriffen ließe sich immerhin aus dem Fix-Array ein zuverlässiges dynamisches Array basteln, das bei Bedarf mit den Arrayparametern wächst (just in time):
repeat until <not < (index) > (length of (myList))>>
add [-leer-] to (myList)
end
replace item (last) of (myList) with (myValue)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
2D-Arrays können viele Anwendungen vereinfachen. Mal schau'n, vielleicht hat schon längst wer die passende Formel bei der Hand …
Last edited by forth (May 14, 2014 15:15:12)
- forth
-
15 posts
Studio: Schrift, Text, Strings, Listen
Hi zurück, und Willkommen auf Scratch! hi
- forth
-
15 posts
Studio: Schrift, Text, Strings, Listen
Wie ein 2-dimensionales Array auf eine lineare Liste abbilden?broadcast [HowTo: 2D-Array To List?] and wait
Lösung_2: @Zro716 schlägt am 14.5.2014 http://scratch.mit.edu/discuss/topic/38798/ diese Formel vor:
- index = a + ((a-size * (b-1)) * ((a-size * b-size) * (c-1)))
Pro: Schön, das hier sogar schon in Richtung 3D-Arrays gedacht wird. Werde ich gleich mal ausprobieren.
Contra: Vorab, A-size, b-size usw weisen auf ein Fix-Array hin, das vor der Verwendung komplett initialisiert werden muss. Das kostet bereits beim Programmstart Zeit und erfordert besonders bei höherdimensionalen Arrays sorgfältige Kalkulation des tatsächlichen Datenbedarfs. Z.B. ein 3D-Array 100*100*100 benötigt bereits 1 Millionen Speicherzellen. Leicht blockiert man so wertvollen Speicher der dann wohlmöglich woanders fehlt.
Bei Scratch bevorzuge Ich letztendlich eine dynamische Lösung, die Listenfelder erst bei Bedarf anlegt. Das macht die Formel leider schwieriger …
Last edited by forth (May 14, 2014 10:24:50)
- forth
-
15 posts
Studio: Schrift, Text, Strings, Listen
Wie ein 2-dimensionales Array auf eine lineare Liste abbilden?broadcast [HowTo: 2D-Array To List?] and wait
Lösung_3: Naja, erst mal nur ein Ansatz:
Listen-Index ermitteln für ein dynamisches 2D-Array nach Zwiebelschalenprinzip
Spalten: 1 | 2 | 3 | 4 | 5 | …
———————————————
Zeile 1 1 | 2 | 5 | 10 | …
——————- | | |
Zeile 2 3 . 4 | 6 | 11 | …
————————- | |
Zeile 3 7 . 8 . 9 | 12 | …
——————————- |
Zeile 4 13 . 14 . 15 . 16 | …
————————————-
Zeile 5 .. . .. . .. . .. . 25 = Listenindex für (Zeile=5,Spalte=5)
Die Feldwerte des Arrays(Zeile, Spalte) werden danach in der Scratch-Liste in dieser Reihenfolge gespeichert:
Nr Listenelementes: 1 : 2 3 4 : 5 6 7 8 9 : 10 11 12 13 14 15 16 : …
Array-Index-2D (1,1) : (1,2) (2,1) (2,2) : (1,3) (2,3) (3,1) (3,2) (3,3) : (1,4) (2,4) (3,4) (4,1) (4,2) (4,3) (4,4) : …
Fallunterscheidung für Ermittlung Listenindex:
- wenn: Zeile = Spalte –> Index = Zeile²
1 2 3 4 5
———————————————
1 1 2 5 10 …
2 3 4 6 11 …
3 7 8 9 12 …
4 13 14 15 16 …
5 … … … … 25- wenn: Zeile < Spalte –> Index = (Spalte-1)² + Zeile
1 2 3 4 5
———————————————
1 1 2 5 10 …
2 3 4 6 11 …
3 7 8 9 12 …
4 13 14 15 16 …
5 … … … … 25- wenn: Zeile > Spalte –> Index = Zeile² - (Zeile - Spalte) = Zeile² - Zeile + Spalte
(2,1) -> 3 = 4 - 1 = Zeile² - (Zeile - Spalte)
(3,1) -> 7 = 9 - 2 = Zeile² - (Zeile - Spalte)
(3,2) -> 8 = 9 - 1 = Zeile² - (Zeile - Spalte)
(4,1) -> 13 = 16 - 3 = Zeile² - (Zeile - Spalte)
(4,2) -> 14 = 16 - 2 = Zeile² - (Zeile - Spalte)
(4,3) -> 15 = 16 - 1 = Zeile² - (Zeile - Spalte)
Für die Umsetzung in Scratch läßt sich das etwas vereinfachen:if <(z) < (s)> then
set (i) to (((z)*(z))-((z)-(s)))
else
set (i) to ((((s)-(1))*((s)-(1)))+(z))
endAaaaber, glaub nix, was Du nicht selber getestet hast: …….
Last edited by forth (May 16, 2014 05:32:32)
- fuenf
-
44 posts
Studio: Schrift, Text, Strings, Listen
Aaaaber, glaub nix, was Du nicht selber getestet hast: …….
OK, hab dazu eine kleine Anwendung gemacht: Dynamisches 2D-Array
Last edited by fuenf (Sept. 2, 2016 18:11:17)
- forth
-
15 posts
Studio: Schrift, Text, Strings, Listen
Aaaaber, glaub nix, was Du nicht selber getestet hast: …….
OK, hab dazu eine kleine Anwendung gemacht: Dynamisches 2D-Array
Habe noch einen drauf gesetzt: Dynamisches 2D-Array mit 0-Option
- das selbe Prinzip, aber mit 0-Option. Wenn die Option True ist, dann darf Zeile und/oder Spalte wie in einigen anderen Programmen 0 sein.
Manche Algorithmen lassen sich damit leichter implementieren.
Definiere Array (Zeile) (Spalte) = (Wert) <0-Option>
Last edited by forth (Sept. 6, 2016 12:21:49)
- chromer4
-
5 posts
Studio: Schrift, Text, Strings, Listen
Man sollte Scratch verbessern.
- Arnie1_0
-
100+ posts
Studio: Schrift, Text, Strings, Listen
Kleine Übersicht zum Themen-Cluster 'Schrift, Text, Strings, Listen …'
Dynamische Textausgabe, Text-Engines
+ Standard: sage(), denke(), frage()
+ Textanzeige via Variablen und Listen
+ Schriftzeichen und Symbole als Kostüm stempeln
+ Zeichenausgabe via Stift
++ Plotterausgabe, Zeichen als Vektor definiert
++ Zeichen und Symbole als Bitmap definiert
+ Verwendung von Steuerzeichen im Ausgabetext! z.B CRLF=\n Textfarbe=\c(255,0,0)
Texteingabe
+ Unterscheidung von Groß- Kleinschreibung http://wiki.scratch-dach.info/wiki/Case_Sensing
+ Sondertasten erkennen http://scratch.mit.edu/projects/19204741
Zeichen und Symbole
+ Hack: Zeichencode über Kostümnamen identifizieren (ASCII-Liste) http://scratch.mit.edu/projects/2639962
+ Verwendung von Unicode-Symbolen
++ Unicodeblock U+2600 “256 verschiedene Symbole / Miscellaneous Symbols” in Liste importiert
Strings
+ Funktions-Sammlung http://scratch.mit.edu/projects/18838153/
+ Hack: Gross/Kleinschreibung mit Kostümen unterscheiden: http://scratch.mit.edu/discuss/topic/15324
+ String Hashing http://scratch.mit.edu/projects/2639962
+ Tipp: Listen zur Stringbearbeitung verwenden!
++ Listenwerte lassen sich schnell und komfortabel zu einem String zusammenführen String=Liste mit interessantem Verhalten:
+++ Liste von Einzelzeichen werden ohne Lehrzeichen zusammengeführt
+++ Liste von Stings werden mit Leerzeichen zusammengeführt (sobald mindest eine Zelle einen String der Länge > 1 enthält)
Listen http://wiki.scratch-dach.info/wiki/Listen
+ Listen sortieren
+ Datenstrukturen in Listen realisieren
++ Stack = Last in first out
++ mehrdimensionale Arrays
+++ Liste in Listen mit Trennzeichen z.B: a/b/c/d http://scratch.mit.edu/projects/18975708/
+++ mehrdimensionale Arrays mit Indexformel auf lineare Liste abbilden http://scratch.mit.edu/projects/10122815
+++ lokale Listen in Klons verwalten (Hack?) http://scratch.mit.edu/projects/17960850/
++ hierarchische Datenhaltung / Ordnerstruktur http://scratch.mit.edu/projects/12066786
+ Listenbasierter Computer
Konverter / Translator / Generator
+ Morsecode http://scratch.mit.edu/projects/780120
+ ASCII-Konverter http://scratch.mit.edu/projects/10667037
+ Scratch-HTML http://scratch.mit.edu/projects/20964954
Cloud-Daten
+ Wer darf?
+ No Chat!
+ No Listen
E-books! http://scratch.mit.edu/sttudios/260135
List based games =Games without sprites (back to the roots!) Sammlung
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Was fehlt noch?
Du könntest noch das Text engine von djpro dazunehmen.
Ich weiß, das passt jetzt vielleicht nicht zum aktuellen Thema … aber ich finde es ist wichtig, es auch dabei zu haben!
- Discussion Forums
- » Deutsch
-
» Studio: Schrift, Text, Strings, Listen