Contest: uIT! #1 (24.11.2007)

  • Hallo!

    Heute startet der uIt!-Contest in sein erste Runde :)

    Hintergrundinfos: Idee: Contest - 20-Zeiler (1. PROBELAUF!)

    Das u in uIt! steht für den 12. kleinen grieschischen Buchstaben "mi" oder auch "mü". Dieser wird vom Forum allerdings nicht korrekt dargestellt, so dass ich als Ersatz den Buchstaben u gewählt habe, da er ihm am nächsten kommt (der grieschische Buchstabe sieht aus wie ein kleines u mit einem verlängerten Strich nach unten an der linken Seite). Das mü wird in den Naturwissenschaften häufig als Vorsilbe für micro, mini oder auch winzig verwendet. Das Wortkonstrukt bedeutet also frei interpretiert: "Mach es klein mit AutoIt". Und darum geht es hier. Es wird eine Aufgabe gestellt, die mit AutoIt zu erledigen ist. Derjenige, der es schafft, den kürzesten Code für eine voll funktionales Script zu erstellen, gewinnt den Wettbewerb.

    Als heutige Aufgabe habe ich mir ein eher sinnloses aber dennoch nicht zu anspruchloses Projekt ausgedacht. Sie basiert auf folgendem Text:

    Zitat

    laut einer studie einer englischen universität ist es egal, in welcher reihenfolge die buchstaben eines wortes stehen. einzig wichtig ist, dass der erste und letzte buchstabe nicht vertauscht werden. den rest können wir trotzdem ohne probleme lesen. das liegt daran, dass wir nicht jeden buchstaben einzeln lesen, sondern das wort als ganzes.

    Das könnte dann so aussehen:

    Zitat

    luat enier sidute eneir eigsnhecln unetsräivit ist es egal, in wlcheer rnlfhgioeee die bcuhbeastn eeins wretos seneth. ezniig wiihtcg ist, dsas der estre und lettze babtsuche nciht vscrateuht wedner. den rest keönnn wir trzdteom ohne pormelbe lsene. das liget daarn, dass wir nihct jeedn bcaehtsubn eeilznn lense, sdonren das wrot als gaensz.

    Die Aufgabe lautet konkret:

    Erstelle ein Script, dass BELIEBIGEN Text zufällig nach o. g. Schema verdreht und einer MessageBox ausgibt.

    Regeln:

    • alle internen AutoIt-Befehle der 3.2.8.1 stable erlabubt
    • alle Standard-Includes aus der o. g. Version erlaubt
    • Script muss unter Windows XP Pro SP2 Deutsch laufen
    • alle Standard-Windows XP Kommandozeilen-Werkzeuge sind erlaubt
    • alle Standard-Windows XP Dlls sind erlaubt
    • NEU: Fehlermeldungen sollen abgefangen werden
    • keine externen Scripts, auch nicht zur Laufzeit erstellte
    • zur Laufzeit erstellte Dateien müssen gelöscht werden
    • gemessen wird die Byte-Größe des Scripts, NICHT die Anzahl der Zeilen!
    • Abgabetermin: Mo, 26.11.2007 18:00 Uhr

    Zur Teilnahme postet ihr euer Script in einem passwortverschlüsseltem Archiv (zip, rar, 7z, o. ä.) spätestens zum Abgabetermin in dieses Topic. Nach Abgabeschluss habt ihr 4 Stunden Zeit dann noch euer Passwort zu posten. Somit ist gewährleistet, dass niemand vor dem Abgabetermin etwas beim anderen ausspionieren kann. Bitte ändert NACH Abgabetermin nicht mehr euer Posting mit dem Archiv, da man sonst nicht mehr überprüfen kann, ob es auch wirklich zum Termin abgegeben wurde. Ist eine Änderung nach Abgabetermin feststellbar, so wird man disqualifiziert. Postet euer Passwort in einen neuen Beitrag, ich suche mir das schon zusammen ;)

    Ich werde die Scripte dann auswerten und den Sieger bekanntgeben.

    So genug der vielen Theorie, aber ein bißchen muss sein, damit auch alles korrekt abläuft.

    JEDER - egal ob Noob oder Profi - kann teilnehmen. Ich hoffe, so ein kleiner Contest macht euch Spaß und weckt den Ehrgeiz. Ich hoffe auf eine rege Teilnahme, so dass der Contest auch weiterhin fortgeführt werden kann!

    Noch ein Tipp: Wörter/Strings mit Zahlen/Sonderzeichen dürfen natürlich nicht umgedreht werden, sonst geht der Sinn verloren. Bei Satzzeichen gilt dasselbe ;)

    Achtung: Die Ausgabe sollte sich korrekt an die Groß-/Kleinschreibung richten.

    Los geht's :)

    Grüße,
    Buffo

    PS: Ich hoffe, ich habe jetzt nichts vergessen. Wenn kann ich es auch nicht ändern ;)

    Vorschläge für neue Contest-Herausforderungen bitte per PN. Bei Fragen einfach hier posten.

    3 Mal editiert, zuletzt von Buffo (25. November 2007 um 02:19)

    • Offizieller Beitrag

    Hallo!

    Ich habe mein Script bereits fertig und nach diversen Testläufen muss ich an der Richtigkeit dieser Studie zweifeln. Gerade bei langen, zusammengesetzten Wörtern wird das Lesen sehr schwer. Je länger das Wort und je größer die zufällige Unordnung der Buchstaben, umso schwerer wird es.

    Aber egal, als Aufgabe ist das schon super. :)

    MfG. Oscar

  • Danke fürs Feedback, freut mich zu hören, dass dir die Aufgabe gefällt :)

    Ob das Lesen nun funktioniert oder nicht tut in diesem Fall, wie du schon bemerkt hast, nichts zur Sache. Es geht nur darum es in möglichst wenig Code zu packen ;)

    Wenn du Lust hast, kannst du dein passwortgeschütztes Archiv schon hochladen, ich würde aber empfehlen, noch zu warten und den Code in den nächsten Tagen nochmals prüfen, ob eventuelle Kürzungen möglich sind. Ist natürlich deine Entscheidung. Bei mir ist es manchmal so, dass ich einen Geistesblitz habe und mir spontan noch was einfällt ;)

    Noch ein Hinweis zur Aufgabe: Da ja beliebiger Text umgewandelt werden soll, muss natürlich auch eine Eingabe möglich sein, ob das per GUI, Inputbox, externem File oder was auch immer geschieht, liegt bei euch :D

    Grüße,
    Buffo

    • Offizieller Beitrag
    Zitat

    Original von Buffo
    Noch ein Hinweis zur Aufgabe: Da ja beliebiger Text umgewandelt werden soll, muss natürlich auch eine Eingabe möglich sein, ob das per GUI, Inputbox, externem File oder was auch immer geschieht, liegt bei euch :D

    Das ist nicht besonders fair, weil die GUI wohl am meisten Bytes "frisst". Die InputBox ist auf 254 Zeichen begrenzt, was "beliebiger Text" doch schon eingrenzt.

    Mein Script ist momentan mit GUI, aber wenn auch ein Textfile als Eingabe reicht...

    MfG. Oscar

  • Bedeutet beliebig auch Buchstabensalat?
    Also meinetwegen "jkn2m! sad.4ß ._s#31lkw3"
    Oder beliebige "normale" Text wie:
    "Hallo ich heiße Wesloth und versuche mich am uIt-Contest."

  • Klar, auch Buchstabensalat. Sobald Sonderzeichen oder Ziffern enthalten sind, werden diese ja ausgeschlossen. Nur "echte" Wörter sollen ja umgestellt werden, da sonst der Sinn verloren geht. Daher hat "Buchstabensalat" hier eigentlich sowieso keinen Sinn, aber man kann ja nicht alles reglementieren ;)

    Wie die Eingabe vonstatten geht, ist vollkommen egal.

    Ich sehe 4 Möglichkeiten:

    • GUI
    • InputBox (auch wenn nur 254 Zeichen, es gab ja keine Vorgabe)
    • externe Datei
    • Zwischenablage

    Noch ein Hinweis: Ich bin der Meinung, dass Fehlermeldungen abgefangen werden sollten, so dass, egal was man eingibt (auch leer) keine Fehlermeldungen auftreten. Habe mal das Startposting angepasst.

    Grüße,
    Buffo

    Einmal editiert, zuletzt von Buffo (24. November 2007 um 20:08)

  • Wie sieht das denn mit dem "zufällig" aus?
    Heißt es, dass jedesmal beim eingeben verschiedene sachen ausgegeben werden sollen?

    Muss der Nutzer beim Starten des Programms direkt wissen worum es geht oder weiß er das vorher ? ( Muss in Gui inputbox oder was auch immer ne beschreibung stehen? )

    Einmal editiert, zuletzt von Daniel W. (24. November 2007 um 21:53)

  • Genau, jedes Mal sollte etwas anderes dabei herauskommen, eben "zufällig".

    Beschreibung ist nicht nötig, aber ein bisschen Text sollte schon sein ("Text zum umwandeln eingeben" o. ä.). Hierbei kann man mit Geschick natürlich auch noch einiges an Platz sparen ;)

  • Na dann mach ich mal den Anfang.
    Hätte noch 26 Byte sparen können wenn ich direkt einen Dateinamen eingetragen hätte aber hab´s dennoch mit FileInputDialog gemacht.

    Edit: Auf nachträgliche Regeländerungen angepasst.
    Edit2: Noch eine kleine Änderung
    Edit3: Hab mal nur aus Spaß noch eine Extrem-Variante gebastelt welche ihren Text aus einer Datei im Skriptverzeichnis bezieht die nur "t" heißt.
    Da ich auch auf Error-Handling verzichtet habe ist diese aber außerhalb der Wertung - aber es zeigt das das ganze prinzipiell auch mit einem 228 Byte Skript funktioniert.

  • Super Antwort Huggy -.-
    Weil bei der Nutzung von Cleanscript wird die Größe der Funktion mitgezählt ergo BEANTWORTET DAS DIE FRAGE NICHT

  • Gehts bissle freundlicher?

    Hab das anders interpretiert :evil:

    Also meinst du, wenn du zb nur _ArrayDisplay brauchst und das jetzt includest, ob das mitgerechnet wird?

    Wär wohl das einzig faire so =)

  • Genau das meine ich! Ich bin nur der Meinung, dass man, wenn man postet auch etwas inhalt haben sollte, also mehr als ein wort

  • ich habs halt so verstanden, dass du nicht weißt, ob du jetzt die gesamte Array.au3 dazugezählt bekommst - da hätte CleanScript geholfen.

    Und bei so.. eindeutigen antworten reicht 1 Wort vollkommen :D