|
|
|
|
Naja, das war ein wenig anders.
Hier hab ich ne ein bisschen verschönerte Version von dem was ich damals gemacht hab:
Quellcode
|
|
|
|
|
|
|
Und wie funktioniert so ein Asciibild-Generator, der auch noch das passende Zeichen raussucht?
|
|
|
|
|
|
|
|
|
|
|
| Zitat von v!pe
Zeig mal den Code, ich will mir das mal anschauen.
| |
Achja,euch kann ich es ja zeigen ![Breites Grinsen](img/smilies/biggrin.gif)
|
Code: |
%m=qw/I 1 V 5 X 10 L 50 C 100 D 500 M 1000/;for(split//,<STDIN>){$a=$m{$_};$r+=$a+($a>$b?$b*-2:0);$b=$a}print$r;
|
|
Im Moment hänge ich noch an der Lookup-Tabelle. Irgendwie muss ich das noch kleiner bekommen.
|
|
|
|
|
|
|
| Zitat von v!pe
Und wie funktioniert so ein Asciibild-Generator, der auch noch das passende Zeichen raussucht?
| |
Suchs dir aus dem Source der aalib ![Augenzwinkern](img/smilies/wink.gif)
Ich hab keine Ahnung, weil ich mich damit noch nicht beschäftigt hab. Wahrscheinlich läufts aber darauf hinaus sich ein Pattern zu definieren, und dann immer einen Ausschnitt eines Bildes mit den vorhandenen Patterns zu vergleichen und das einzusetzen, das am ehesten passt.
Wobei das natürlich auch keine wirklich ASCII Art ist, sondern nur eine Art verschiedene Graustufen und Farbschattierungen einheitlich anzubringen. Richtige ASCII Art geht wohl nur von Hand oder mit Strichgrafiken.
/e: Zwischenposter stinken nicht nur an den Füßen...
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirSiggi am 29.03.2007 13:00]
|
|
|
|
|
|
| Zitat von v!pe
Und wie funktioniert so ein Asciibild-Generator, der auch noch das passende Zeichen raussucht?
| |
Du berechnest den Grauwert des Pixels und brauchst dann quasi ne Zuordnungstabelle in der eben jedem Grauwert ein Zeichen zugeordnet ist.
Dabei bedienst du dich natürlich für hohe Grauwerte (also dunkle Stellen) einem dunklen Zeichen. Also einem das möglichst viel bedeckt. Z.B. # für schwarz und `für weiß. ![](./img/smilies/icon7.gif)
Und wenn du total Rock 'n Roll bist, dann wirst du erst die Kannten des Bildes finden, diese in Vektoren zerlegen und für bestimmte Richtungen bestimmte Zeichen vorgeben. Dann musst du nur noch den Richtungsvektor mit dem passenden Zeichen verbinden und schon gibts Kanten. ![Breites Grinsen](img/smilies/biggrin.gif)
Zumindest in der Theorie
|
|
|
|
|
|
|
| Zitat von GH@NDI
Achja,euch kann ich es ja zeigen ![Breites Grinsen](img/smilies/biggrin.gif)
|
Code: |
%m=qw/I 1 V 5 X 10 L 50 C 100 D 500 M 1000/;for(split//,<STDIN>){$a=$m{$_};$r+=$a+($a>$b?$b*-2:0);$b=$a}print$r;
|
|
Im Moment hänge ich noch an der Lookup-Tabelle. Irgendwie muss ich das noch kleiner bekommen. ![Breites Grinsen](img/smilies/biggrin.gif)
| |
Ich möchte dir hiermit meine Verehrung und Verachtung gleichermaßen aussprechen. ![peinlich/erstaunt](img/smilies/icon16.gif)
/e: Kannst du dir das STDIN nicht sparen? mit <> kriegst du doch auch die gepipeten Daten?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirSiggi am 29.03.2007 13:08]
|
|
|
|
|
|
|
|
|
|
Der schon wieder...
|
|
|
|
|
|
|
| Zitat von SirSiggi
Der schon wieder...
| |
Selber!
|
|
|
|
|
|
|
|
|
|
|
![Augenzwinkern](img/smilies/wink.gif)
Ich brauch mal ne Meinung:
Ich hab morgen ja den letzten Schultag vor den Ferien, und wir haben Freitags immer 6 Stunden + 2 Stunden Mittagsunterricht.
Wir haben jetzt aber morgen nur die ersten beiden Stunden Schule und ich muesste dann 5 Schulstunden warten auf die Mittagsschule. (mit der Pause)
Ich bin gerade am ueberlegen ob ich da wirklich hin soll.
Ich komm dann um 4 Uhr nach Hause und bin die meiste Zeit nur rumgessen und hab nichts gemacht.
Eine Stunde Deutsch und eine Mathe und dann ist eigentlich Feierabend.
|
|
|
|
|
|
|
Mach halt blau.
|
|
|
|
|
|
|
Entweder das oder ich mach mich nach den 2 Stunden vom Acker.
|
|
|
|
|
|
|
| Zitat von SirSiggi
| Zitat von GH@NDI
Achja,euch kann ich es ja zeigen ![Breites Grinsen](img/smilies/biggrin.gif)
|
Code: |
%m=qw/I 1 V 5 X 10 L 50 C 100 D 500 M 1000/;for(split//,<STDIN>){$a=$m{$_};$r+=$a+($a>$b?$b*-2:0);$b=$a}print$r;
|
|
Im Moment hänge ich noch an der Lookup-Tabelle. Irgendwie muss ich das noch kleiner bekommen. ![Breites Grinsen](img/smilies/biggrin.gif)
| |
Ich möchte dir hiermit meine Verehrung und Verachtung gleichermaßen aussprechen. ![peinlich/erstaunt](img/smilies/icon16.gif)
/e: Kannst du dir das STDIN nicht sparen? mit <> kriegst du doch auch die gepipeten Daten?
| |
Ne, mit <> greife ich automatisch auf die als 1. Übergabeparameter angegene Datei zu ![Breites Grinsen](img/smilies/biggrin.gif)
Oh Moment, du hast recht. ![Breites Grinsen](img/smilies/biggrin.gif)
Perl ist da je flexibler als ich bisher wusste, bzw wahrhaben wollte ![Breites Grinsen](img/smilies/biggrin.gif)
|
The null filehandle <> is special: it can be used to emulate the behavior of sed and awk. Input from <> comes either from standard input, or from each file listed on the command line. Here's how it works: the first time <> is evaluated, the @ARGV array is checked, and if it is empty, $ARGV[0] is set to "-", which when opened gives you standard input. The @ARGV array is then processed as a list of filenames. The loop
| |
Danke Siggi
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von GH@NDI am 29.03.2007 13:20]
|
|
|
|
|
|
Ha, ich bin Gott.
|
|
|
|
|
|
|
|
Code: |
%m=(I,1,V,5,X,10,L,50,C,100,D,500,M,1000);for(split//,<>){$a=$m{$_};$r+=$a+($a>$b?$b*-2:0);$b=$a}print$r;
|
|
106 Zeichen.
|
|
|
|
|
|
|
| Zitat von SirSiggi
Ha, ich bin Gott. ![peinlich/erstaunt](img/smilies/icon16.gif)
| |
naja, eher wie des Teufels Advokat!
|
|
|
|
|
|
|
Der Teufel ist ein glatzköpfiger Inder?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirSiggi am 29.03.2007 13:28]
|
|
|
|
|
|
| Zitat von SirSiggi
Der Teufel ist ein glatzköpfiger Inder? ![](img/smilies/icon8.gif)
| |
Und Gott ist eine Frau!
|
|
|
|
|
|
|
Hähä, Ghandi ist ein weibchen. D:
|
|
|
|
|
|
|
|
|
|
|
Wobei, wenn Gott Perl könnte hätte er Frauen nicht so kompliziert gestaltet.
|
|
|
|
|
|
|
Zumindest gäbe es haufenweise Dokumentation im Internet.
Und dank CPAN könntne Frauen alles erledigen
|
|
|
|
|
|
|
Wie bekomm ich denn den letzten key eines Arrays? Den letzten Wert bekomm ich mit end($array).
|
|
|
|
|
|
|
|
|
|
|
Erzähl keinen Mist, die Leute glauben es dir sonst noch ![Augenzwinkern](img/smilies/wink.gif)
ksort($a);
end($a);
echo $key($a);
geht.
|
|
|
|
|
|
|
O_o
Du redest von Arrays. Arrays haben einen numerischen Index dessen letzten man mit genau dieser Methode bekommt. Was du wolltest war aber den letzten Key einer Hashmap. Da Hashmaps aber nicht wirklich sortiert sind, macht das kaum einen Sinn.
Jaja... in PHP gibts ja keine Unterscheidung zwischen Array und Hash, ich bin ja schon ruhig...
|
|
|
|
|
|
|
|
|
|
|
Selber.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |