Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

21

01.10.2014, 23:18

Gratulation an die, dies fertig geschafft haben.
Ich kam bei den ersten paar recht gut voran, musste dann aber ein paar mal David fragen und habe dann irgendwo aufgehört (hätte aber da noch gewusst wies weiter geht), weil es einfach zu viel Zeit beansprucht hat (als Selbständiger musste ich mich davon abhalten da zu fest rein zu geraten... Oo). Hat aber Spass gemacht bei den paar Rätseln. Bin gespannt wie viele es am Ende waren.

Wäre auch gespannt auf Details von Tobiking wie er teilweise Sachen so schnell rausgefunden hat. Ich bin zum Teil in ein Loch gefallen, wo ich sehr fest überzeugt war, dass ich richtig bin, weil viele Hinweise passten und es gesamthaft Sinn machten, aber mit der Hilfe von David bemerkte ich dann, dass ich eine falsche Abzweigung genommen habe, wo ich wohl kaum wieder rausgefunden hätte. Würde gerne konkreter werden, aber ich lass das mal bis wir dort sind (habe mir die Schritte in einem .txt festgehalten).

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

22

02.10.2014, 07:52

Schritt 2:
Game of Life


Das erste Rätsel im Eröffnungs-Posting führte uns zu http://jsfiddle.net/en87vnu8. Dort wird doch tatsächlich von uns verlangt, das allseits bekannte Game of Life zum wahrscheinlich eintausendsten Mal zu implementieren.

Das Game of Life war vor einigen Jahren schon einmal Gegenstand eines unserer Programmier-Contests, und irgendwie sollte jeder Informatiker etwas mit dem Begriff anfangen können. Wenn nicht, ist aber auch egal, denn das Spiel ist denkbar einfach, und der größte Teil des Codes ist freundlicherweise bereits fertig programmiert.

Es gilt lediglich noch die Funktion gameOfLife zu implementieren, die für eine Zelle des Spielfelds deren Nachfolgezustand bestimmt. Dazu muss man nachsehen, ob die Zelle gerade lebendig ist und wie viele lebendige Nachbarn sie hat. Das steht aber auch alles schön im Wikipedia-Artikel beschrieben.
Hier kommt eine mögliche Lösung (es geht auf jeden Fall auch kürzer/schneller, aber darauf kommt es nicht an):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function gameOfLife(x, y)
{
    var living = getCell(x, y);
    var numLivingNeighbors =
        getCell(x - 1, y - 1) +
        getCell(x,     y - 1) +
        getCell(x + 1, y - 1) +
        getCell(x - 1, y) +
        getCell(x + 1, y) +
        getCell(x - 1, y + 1) +
        getCell(x,     y + 1) +
        getCell(x + 1, y + 1);
    if (living)
        return numLivingNeighbors == 2 || numLivingNeighbors == 3;
    else
        return numLivingNeighbors == 3;
}

Das Programm simuliert nun das Spiel für 2000 Iterationen und benutzt den sich ergebenden Spielfeldzustand, um eine geheime Nachricht aus einem großen Haufen von Zeichen (ganz unten im Code) zu ziehen. Schummeln geht hier also nicht! :)

Wenn die Funktion gameOfLife korrekt implementiert wurde, erhalten wir nach den 2000 Iterationen folgende Meldung:

Sag_Hallo_zu_7331

Was es mit dieser Botschaft auf sich hat, schauen wir uns beim nächsten Mal an.

TGGCs kurzes Video zu diesem Rätsel (er wollte sein JavaScript-Programm nicht vorlesen):


Tobiking

1x Rätselkönig

  • Private Nachricht senden

23

02.10.2014, 09:17

Wäre auch gespannt auf Details von Tobiking wie er teilweise Sachen so schnell rausgefunden hat. Ich bin zum Teil in ein Loch gefallen, wo ich sehr fest überzeugt war, dass ich richtig bin, weil viele Hinweise passten und es gesamthaft Sinn machten, aber mit der Hilfe von David bemerkte ich dann, dass ich eine falsche Abzweigung genommen habe, wo ich wohl kaum wieder rausgefunden hätte.

Es ist schwer zu sagen, was genau geholfen hat das Rätsel so schnell zu lösen. Bei den Verschlüsselungen und Codes wurden übliche Verfahren eingesetzt. Wenn man sich da etwas auskennt kann man anhand der Daten oder Schlüssel recht gut auf die Verfahren kommen oder sie zumindest eingrenzen. David hatte meine ich auch geschrieben, dass es für alle Verfahren Webseiten gibt, die die Umwandlung durchführen. Das ist dann nur gezieltes ausprobieren.

Bei Sackgassen hilft es, wenn man merkt, dass man zu lange in eine Richtung probiert und dabei nicht weiterkommt. Dann schaut man nochmal zurück auf die Hinweise und überlegt ob man wirklich an der richtigen Stelle schaut und welche Möglichkeiten man denn noch hat. Dabei können Ansätze nie zu abwegig sein, denn manchmal kann auch ein falscher Ansatz zur richtigen Idee führen.

Sobald das Rätsel komplett aufgelöst ist, kann ich gerne noch schreiben über welchen Umweg ich beim letzten Rätsel auf das Ergebnis gekommen bin.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

24

02.10.2014, 10:01

Jup, werde konkreter was ich meine, wenn der Schritt da ist. :)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

25

03.10.2014, 11:10

Schritt 3:
Hallo 7331!


Am Ende des letzten Rätsels wurden wir aufgefordert, "Hallo" zu einem gewissen 7331 zu sagen.
Diese 7331 hat nichts mit 1337 zu tun - das war rein zufällig! 7331 ist tatsächlich die ID eines speziell von mir angelegten Forumbenutzers, der auf den seltsamen Namen Hans Kobalt hört.

Wie findet man eigentlich einen Benutzer anhand seiner ID?
Nun, das ist ganz einfach. Man nehme die URL der Profilseite eines beliebigen Benutzers (z.B. von mir) und ersetze einfach die ID, d.h. die Zahl (bei mir "1"). Der hintere Teil der URL ist ohne Bedeutung. Man muss also nicht wissen, wie der gesuchte Benutzer heißt. Die Forensoftware leitet einen schon auf die richtige URL um.

Angekommen auf der Profilseite von Hans Kobalt erfahren wir, dass er keine Privatnachrichten empfangen möchte. Das scheidet also schonmal als Kontaktmöglichkeit aus. Zum Glück gibt es die Möglichkeit, ihn über E-Mail zu kontaktieren. Tun wir dies und schreiben ihm ein paar nette Zeilen (die Nachricht kann auch leer sein ;)), so erhalten wir eine automatische E-Mail-Antwort, die wie folgt aussieht:

Quellcode

1
2
3
4
5
6
7
Hallo,

ich kann Ihre E-Mail derzeit leider nicht beantworten,
werde mich nach meiner Rückkehr aber sofort darum kümmern.

Mit freundlichen Grüßen,
Hans Kobalt

Hmm, was soll uns das sagen?
Doch halt, die Nachricht geht noch weiter! Da kommen gemeinerweise erst einmal ganz viele Leerzeilen, so dass man weit hinunterscrollen muss, um den folgenden Text noch zu sehen:

Quellcode

1
2
3
4
5
LsiRCSOOtKmcUsfDxybAGSbuJrQlIjQZqSMDMJgX
wNKfpunhqveznyzrvacebsvyovyqtranhrenaKhQ
LNfknMVwhxpUQVLvTSFdwYuboMqOsfbvBPBHltxi

rot13

OK, ROT13 ist eine ganz einfache Art der "Verschlüsselung". Wenden wir diese auf den Text an, so erhalten wir:

Quellcode

1
2
3
YfvEPFBBgXzpHfsQkloNTFohWeDyVwDMdFZQZWtK
jAXschaudirmalmeinprofilbildgenaueranXuD
YAsxaZIjukcHDIYiGFSqjLhobZdBfsoiOCOUygkv

Wer es nicht sieht: In der zweiten Zeile steht "schaudirmalmeinprofilbildgenaueran".
Beim nächsten Mal schauen wir uns also das Profilbild von Hans Kobalt genauer an.

Und hier TGGCs Video:


Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

26

03.10.2014, 11:13

Och, und ich Trottel hab diese Zeilen durchsucht bis zum Abwinken. Anfangsbuchstaben abgeklappert, das chemische Element Kobalt nachgelesen, den Text "rück"-wärts angeschaut, die EMail-Headerzeilen abgesucht... urg. Aber kein Blick mal auf den Scrollbalken des EMail-Programms. Jetzt fühl ich mich blöd.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

MitgliedXYZ

Alter Hase

Beiträge: 1 369

Wohnort: Bayern

  • Private Nachricht senden

27

03.10.2014, 11:18

Ich hab Hans Kobald drei Mails geschickt, bevor ich mal darauf gekommen bin, bis zum Ende zu scrollen :S

Das mit dem umgedrehten 1337 keine Absicht war, will ich aber immer noch nicht glauben.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

28

03.10.2014, 11:19

Als ich den Benutzer erstellt habe, war 7331 halt gerade zufällig die nächste freie Nummer :)

@Schrompf:
Da kommen sicher noch mehr solcher Momente für andere Leute ;)

FSA

Community-Fossil

  • Private Nachricht senden

29

03.10.2014, 11:23

Boa neeee! Ich war auf diesem Profil, wollte nur keine E-Mail schreiben, weil ich ihn nicht belästigen wollte :thumbdown:

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

30

03.10.2014, 11:33

Aber dass es sich um einen Fake-Benutzer handelt, war dir nicht klar?
Die Angaben im Profil sprechen doch für sich.
Zudem gab es einen Tipp, dass man eine funktionierende E-Mail-Adresse braucht ...

Werbeanzeige