Autor |
Beitrag |
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Di 12.12.17 01:19
Zitat: | Ihr habt eine "Zieh-Funktion" gefunden, gebt es zu |
Nein, ganz bestimmt nicht
Aber wir sind auch oft im Kreis gerannt ^^
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: Di 12.12.17 01:39
Nö. Ich habe es mit einem Praktikanten (Informatikstudent im 3. Semester) und Kisten durchgespielt und guckte zu, damit er die Regeln einhält.
Für diesen Beitrag haben gedankt: trm
|
|
trm
Beiträge: 491
Erhaltene Danke: 19
Windows 7x64
Delphi 7
|
Verfasst: Di 12.12.17 01:44
Unfassbar
Ich rannte auch mit dem Wichtel ständig im Kreis, der hatte eine Ausdauer, aber es blieben immer 4, 3 oder eine Kiste übrig. Und dann auf einmal beim 28. Versuch oder so, hatte ich den Durchblick wie in Matrix
_________________ In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Di 12.12.17 01:57
trm hat folgendes geschrieben : | Symbroson hat folgendes geschrieben : | Ist es nicht beweis genug, dass das Level von 22 Spielern gelöst wurde? |
Ihr habt eine "Zieh-Funktion" gefunden, gebt es zu |
Wer Rätsel 12 löst, kann sich ja nun wirklich nicht beschweren. Ist für mich mal wieder die Kategorie, bei der ich von vornherein keine Chance sehe. Da spiele ich doch lieber.
Man soll ja um die Ecke denken. Und so ganz nebenbei fiel mir auf, daß das Adventskalenderfenster (das nicht zoombar ist) des 12. Dezembers kürzer ist, als der Text, den dessen "Caption" anzuzeigen gewillt ist.
Womöglich ist dort ein Lösungshinweis weiter hinten, rechts versteckt? Wäre allerdings atypisch....
Nun, wie gelangt man nun an die vollständige Beschriftung der Fensterleiste? Dafür gibt es Programme, zum Glück hatte ich welche just auf meinem Computer. Es gelang mir tatsächlich, an den vollständigen Text zu gelangen. Doch dann kam die Ernüchterung...
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Di 12.12.17 02:03
Äh...der Plan ging auf 14s
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: Di 12.12.17 02:16
>"Und so ganz nebenbei fiel mir auf...Womöglich ist dort ein Lösungshinweis weiter hinten, rechts versteckt?"
Zu solcher Art Kommentare hieß es für mich: "Es ist absolut unsportlich, ungefragt irgendwelche Lösungshinweise zu geben ... ganz schwache Leistung"
---
So, Aufgabe gelöst, übrigens schon im 1. Versuch.
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Di 12.12.17 02:53
mibe201067 hat folgendes geschrieben : | >"Und so ganz nebenbei fiel mir auf...Womöglich ist dort ein Lösungshinweis weiter hinten, rechts versteckt?"
Zu solcher Art Kommentare hieß es für mich: "Es ist absolut unsportlich, ungefragt irgendwelche Lösungshinweise zu geben ... ganz schwache Leistung"
---
So, Algorithmus gelöst, übrigens schon im 1. Versuch. |
Es war ja eben kein Lösungshinweis, da keine Lösung dort existiert. Ist wie die Vermutung, daß die Kisten auch zu ziehen sein könnten. Könntest Du doch auch monieren. Dein Lösungshinweis - den ich übersah - war hingegen eine " Steilvorlage".
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: Di 12.12.17 03:08
>" Ist wie die Vermutung, daß die Kisten auch zu ziehen sein könnten." - kann nicht, Anleitung: "eine Kiste kann nur(!) verschoben werden." Das schließt andere Bewegungsarten aus und konnte daher auch kein Tipp sein.
Ich habe bis heute nicht ganz begriffen, warum man mich mich zusammengestaucht hat - zumal sich das Rätsel auf den Vortag bezog, ich es deswegen schon als abgeschlossen befand und ich eigentlich diese "Steilvorlage" schon am Vortag geschrieben hatte - wo das Rätsel sogar noch aktuell war, aber nicht beanstandungswürdig war.
So habe ich als Lehre beschlossen, nichts mehr inhaltlich zu schreiben, weder als Lösungstipp noch als inhaltsleere Spekulationen sondern ausschließlich Lösungen zu präsentieren.
Wie auch immer, Lösung 12 ist kommentarlos geknackt.
Zuletzt bearbeitet von mibe201067 am Di 12.12.17 03:54, insgesamt 1-mal bearbeitet
|
|
Delphi-Laie
Beiträge: 1600
Erhaltene Danke: 232
Delphi 2 - RAD-Studio 10.1 Berlin
|
Verfasst: Di 12.12.17 03:20
mibe201067 hat folgendes geschrieben : | >" Ist wie die Vermutung, daß die Kisten auch zu ziehen sein könnten." - kann nicht, Anleitung: "Kisten können nur(!) verschoben werden." Das schließt andere Bewegungsarten aus.
Ich habe bis heute nicht ganz begriffen, warum mich Herr Polster mich zusammengestaucht hat - zumal sich das Rätsel auf den Vortag bezog, ich es deswegen schon als abgeschlossen befand und ich eigentlich nur das wiederholte, was ich am Vortag schon geschrieben hatte - wo das Rätsel sogar noch aktuell war, aber nicht beanstandungswürdig war. |
Vermutlich waren noch Lösungsversuche offen. Wie auch immer, Hinweis auf die Lösung sind nunmal das "Hoheitsgebiet" des Programmautors.
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: Di 12.12.17 03:23
Und daran werde ich mich nun auch strikt halten. Man könnte künftig dann gleich einen Buddha fragen.
Das bedeutet auch, dass Wünsche wie "Kann mir bitte mal jemand einen Screenshot mit der Endposition vom 11. Rätsel schicken?" nicht befolgt werden.
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Di 12.12.17 08:17
Lösung zu (10) in js:
JavaScript-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| const rules = {"A": "Bc", "a": "bC", "B": "Ca", "b": "cA", "C": "Ab", "c": "aBa"};
const substitute = S => S.split("").map( x => rules[x] ).join("");
const runUntilLength = l => { let r = "A"; while (r.length < l) r = substitute(r);
const letterCount = {}; for (const letter of r) letterCount[letter] = (letterCount[letter] || 0) + 1;
return [r.length, letterCount, r]; }; |
Aufruf:
JavaScript-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| >> runUntilLength(1000) << [ 2170, { A: 166, B: 345, C: 468, a: 644, b: 335, c: 212 }, "BccAcAAbcAAbAbbCcAAbcAAbAbbCcAAbAbbCbCCabCcAAbAbbC…BaBcCaaBaaBaBcaBaBcBccAaBaBcBccABccAcAAbaBaBcBccA" ] |
Edit: Performanter wäre wohl Array.prototype.map.call(S, x => rules[x])
S.split("").map( x => rules[x] ) ist aber schneller getippt (-> quick & dirty).
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Di 12.12.17 22:05, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Mathematiker, Narses
|
|
TarantelFaser47
Hält's aus hier
Beiträge: 8
Erhaltene Danke: 2
Win 10
Delphi 7
|
Verfasst: Di 12.12.17 14:31
Krass hab Nummer 11 gerade eben doch noch geschafft!
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 12.12.17 14:47
Hallo,
ich habe wohl die Mitspieler unterschätzt.
Das 12.Rätsel läuft sehr gut , vielleicht war es ja auch schon dem einen oder anderen bekannt.
Die Anderen muss ich enttäuschen: Einen weiteren Hinweis werde ich nicht geben.
Eine Auflösung der 11.Aufgabe kann ich erst am späten Abend geben.
LG Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
pzktupel
Hält's aus hier
Beiträge: 129
Erhaltene Danke: 30
|
Verfasst: Di 12.12.17 15:46
Möglich Quizmaster...Hinweise gab es einen extrem guten von Dir selber. Man muss ihn nur verstehen. Deshalb wusste man im Vorfeld, was auf ein zukommt.
Zuletzt bearbeitet von pzktupel am Di 12.12.17 20:48, insgesamt 1-mal bearbeitet
|
|
Horst_H
Beiträge: 1653
Erhaltene Danke: 243
WIN10,PuppyLinux
FreePascal,Lazarus
|
Verfasst: Di 12.12.17 18:32
Hallo,
anbei ein Programm zur Lichterkette.
Ich habe es jetzt auch als Summe gerechnet, aber nicht mit Excel Formel.Das passt in keinen Haushaltsrechner als String oder ähnlichem.
Das macht aber nur Sinn, wenn man weiß, womit die Kette als erstes beginnt.Deshalb habe ich die 5.te Kette auch ausgeben lassen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117:
| program Lichterkette; uses sysutils; type tLampe = (Rot1,Rot2,Gelb1,Gelb2,Blau1,Blau2); tLichterKette = array of tLampe; tGefolgt = record gfCnt: NativeInt; gfLtype : array[0..2] of tLampe; end; tSum = array[tlampe] of Uint64; const cName: array[tLampe] of string = (' Rot1',' Rot2','Gelb1','Gelb2','Blau1','Blau2'); Gefolgt :array[tLampe] of tGefolgt = ((gfCnt:2;gfLtype:(Gelb1,blau2,ROT1)), (gfCnt:2;gfLtype:(Gelb2,blau1,ROT1)), (gfCnt:2;gfLtype:(blau1,rot2,ROT1)), (gfCnt:2;gfLtype:(blau2,Rot1,ROT1)), (gfCnt:2;gfLtype:(Rot1,gelb2,ROT1)), (gfCnt:3;gfLtype:(Rot2,Gelb1,Rot2))); GefolgtGelbCnt : array[tLampe] of NativeInt= (1,1,0,0,1,1); delta:array[tLampe] of tSum = ((0,0,1,0,0,1), (0,0,0,1,1,0), (0,1,0,0,1,0), (1,0,0,0,0,1), (1,0,0,1,0,0), (0,2,1,0,0,0));
var l : array[0..1] of tLichterKette; procedure AusgabeLK(Von:NativeInt); var i : NativeInt; Begin For i := 0 to 16 do write(cName[L[Von][i]],'.'); writeln; end;
function transscript(Von:NativeInt):NativeInt; var i,j,nachPos,nach: NativeInt; idx : tLampe; Begin nach:= 1-Von; setlength(l[nach],3*length(l[von])); nachPos:= 0; result := 0; For i := 0 to High(l[von]) do Begin idx := l[von][i]; inc(result,GefolgtGelbCnt[idx]); with Gefolgt[idx] do For j := 0 to gfCnt-1 do Begin l[nach][nachPos] := gfLtype[j]; inc(nachPos); end; end; setlength(L[nach],nachPos); end;
function SumLights(S0 :tSum):tSum; var i,j : tLampe; begin For i := rot1 to blau2 do result[i] := 0; For i := rot1 to blau2 do For j := rot1 to blau2 do result[j] := result[j]+S0[i]*delta[i,j]; end;
var flip,cnt,gelbCnt : NativeInt; i,j : tLampe; s : tSum; Begin for i := Rot1 to blau2 do begin setlength(L[0],1); L[0][0] := i; writeln('Start mit ',cNAme[i]); flip := 0; cnt := 0; repeat inc(cnt); gelbCnt := transscript(flip); flip := 1-flip; If Cnt = 4 then AusgabeLK(flip); until length(L[flip]) > 1000; writeln('Kette Nr ',cnt:2,' Laenge ',length(L[flip]):5,' Anzahl Gelb ',gelbCnt); end; writeln; writeln('Summierend'); For j := rot1 to blau2 do Begin For i := rot1 to blau2 do s[i] := 0; s[j] := 1; writeln('Start mit ',cNAme[j]); for cnt := 1 to 53 do s := SumLights(s); cnt := 0; For i := rot1 to blau2 do inc(cnt,s[i]); gelbCnt := s[gelb1]+s[gelb2]; writeln('Kette Nr 50 Laenge ',cnt,' Anzahl Gelb ',gelbCnt); end; end. |
Das kommt dann raus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| Start mit Rot1 Gelb1.Blau2.Blau2. Rot1.Blau2. Rot1. Rot1.Gelb2.Blau2. Rot1. Rot1.Gelb2. Rot1.Gelb2.Gelb2.Blau1.Blau2. Kette Nr 10 Laenge 2170 Anzahl Gelb 680 Start mit Rot2 Gelb2.Blau1.Blau1. Rot2.Gelb2.Blau1.Blau1. Rot2. Rot2.Gelb1. Rot2.Blau1. Rot2. Rot2.Gelb1. Rot2. Rot2. Kette Nr 10 Laenge 1927 Anzahl Gelb 615 Start mit Gelb1 Blau1. Rot2. Rot2.Gelb1. Rot2. Rot2.Gelb1. Rot2.Gelb1.Blau2. Rot2.Gelb1. Rot2.Gelb1.Blau2.Gelb1.Blau2. Kette Nr 10 Laenge 1832 Anzahl Gelb 601 Start mit Gelb2 Blau2. Rot1. Rot1.Gelb2. Rot1.Gelb2.Gelb2.Blau1.Blau2. Rot1. Rot1.Gelb2. Rot1.Gelb2.Gelb2.Blau1.Gelb2. Kette Nr 9 Laenge 1013 Anzahl Gelb 317 Start mit Blau1 Rot1.Gelb2.Gelb2.Blau1.Gelb2.Blau1.Blau1. Rot2.Gelb2.Blau1.Gelb2.Blau1.Blau1. Rot2.Gelb2.Blau1.Blau1. Kette Nr 10 Laenge 1992 Anzahl Gelb 616 Start mit Blau2 Rot2.Gelb1. Rot2.Gelb1.Blau2.Gelb1.Blau2.Blau2. Rot1.Gelb1.Blau2.Blau2. Rot1.Blau2. Rot1. Rot1.Gelb2. Kette Nr 9 Laenge 1286 Anzahl Gelb 397
Summierend Start mit Rot1 Kette Nr 50 Laenge 444299210642477560 Anzahl Gelb 140901953783614580 Start mit Rot2 Kette Nr 50 Laenge 415137385065942629 Anzahl Gelb 131657618200446392 Start mit Gelb1 Kette Nr 50 Laenge 389897882886243441 Anzahl Gelb 123660034902180891 Start mit Gelb2 Kette Nr 50 Laenge 469538712822176748 Anzahl Gelb 148899537081880079 Start mit Blau1 Kette Nr 50 Laenge 424381720649110817 Anzahl Gelb 134580229783616158 Start mit Blau2 Kette Nr 50 Laenge 566712493259755764 Anzahl Gelb 179737221956682089 |
Gruß Horst
|
|
Mathematiker
Beiträge: 2622
Erhaltene Danke: 1447
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Di 12.12.17 23:30
Lösung zu Rätsel 11:
Obwohl es nur wenige Kisten sind, war es doch ziemlich aufwendig, alle an die geforderten Positionen zu transportieren.
Ich gebe einmal eine mögliche Zugfolge an (A = abwärts, H = hoch, R = rechts und L = links)
Zitat: | ARRLAALAARRRRHHHHRRRAAHHHHLHLHLALLHLLAR
RRRLLLAAARRRRRLLLLLHHHRRRHRRAARAALLLAAAA
LLLLHHRHALAARRRRHHHHRRRHHLHHLLALLLAALAR
AALAARHRARRHHHHRRRHHLHHLLALLLAAARRRRLLLL
AALAARRHRARHHAALLLLHRRRARHLLLHHHHHHRRRH
RRALLLLHLAAALARRRRLLLHHHRRRRRARRHLLLLLLH
LAAALARRRLLHHHRRRRRRAAARAALHHHHRHLLLLLL
HLAAALARRLHHHRRRRRRAAAAALAARHHHHHHRHLLL
LLLHLAAALAR |
Selbst das Spielen nach dieser Zugfolge ist mühsam.
Lg Steffen
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 13.12.17 04:01
Eine Kiste auf die schwarz markierten Felder zu schieben, macht das Rätsel stets unlösbar. Ich dachte ja wenn ich diese Felder ausschließe und nur Kisten auf den gelben Punkten erlaube, werden es wenig genug mögliche Positionen, dass ich selbst in Scriptsprachen wie JS bruteforcen kann. Die Tabelle posHistory sollte (wie z.B. bei Schachprogrammen üblich) dafür sorgen, dass eine Position nicht mehrfach untersucht wird.
Leider endet mein simpler bruteforce-Versuch in einem Stack Overflow:
Quelltext 1: 2:
| >> EE.solve( L0.split(""), L0.indexOf("?") ) << Uncaught RangeError: Maximum call stack size exceeded |
Ich hatte noch die Idee, die Anzahl der Positionen zu reduzieren indem ich alle Felder mit "?" einfärbe, auf die man laufen kann ohne eine Box zu bewegen (lokale Zusammenhangskomponente), und von dort als Züge die Menge der bewegbaren Boxen untersuche. Das würde die möglichen Positionen auf maximal (choose 9 from 31) reduzieren. Leider fehlte mit dazu dann aber die Zeit.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98:
|
const L0 = ` █████████.. █...█...███ █. × × .█ ██ ██!█. .█ █?×██!██×██ █.×!!!!! .█ ██×██!██×.█ █. ██!█. .█ █. × ×█. ██ █.....█..█. ██████████. `.trim().replace(/\r?\n/g, "");
const emptyLab = L0.replace(/×/g, " ").replace(/\?/g, ".");
window.EE = {}; EE.posHistory = {}; const steps = { "u": -11, "l": -1, "r": 1, "d": 11 };
EE.step = (L, p, d) => { const q = p + d; if (/[ !.]/.test(L[q])) { L[q] = "?"; L[p] = emptyLab[p]; return L; }
const r = p + d + d; if (L[q] === "×" && /[ !]/.test(L[r])) { L[r] = "×"; L[q] = "?"; L[p] = emptyLab[p]; return L; } return false; };
EE.solve = (L, p) => { for (let dir in steps) { const d = steps[dir]; const M = EE.step([...L], p, d); if (!M) continue;
const casedDirection = L[p + d] === "×" ? dir.toUpperCase() : dir; const pos = M.join("");
if (!pos.includes("!")) { EE.posHistory[pos] = "+"; return casedDirection + "+"; }
const h = EE.posHistory[pos]; if (h) { if (h === "?") continue; return h === "+"; }
EE.posHistory[pos] = "?"; const solve = EE.solve(M, p + d); if (solve) { if (!solve.endsWith("?")) EE.posHistory[pos] = "+"; return casedDirection + solve; }
EE.posHistory[pos] = "-"; }
return false; }; |
Einloggen, um Attachments anzusehen!
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
Zuletzt bearbeitet von Hidden am Mi 13.12.17 07:41, insgesamt 9-mal bearbeitet
|
|
mibe201067
Beiträge: 140
Erhaltene Danke: 19
Win XP, Win 7; Win 8.1
|
Verfasst: Mi 13.12.17 04:13
gelöst in reichlich 2 Minuten.
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 13.12.17 07:21
Zitat: | Eine Kiste auf die schwarz markierten Felder zu schieben, macht das Rätsel stets unlösbar. Ich dachte ja wenn ich diese Felder ausschließe und nur Kisten auf den gelben Punkten erlaube, werden es wenig genug mögliche Positionen, dass ich selbst in Scriptsprachen wie JS bruteforcen kann. Die Tabelle posHistory sollte (wie z.B. bei Schachprogrammen üblich) dafür sorgen, dass eine Position nicht mehrfach untersucht wird.
Leider endet mein simpler bruteforce-Versuch in einem Stack Overflow |
Fängst du denn die Fälle ab, in denen er unendlich lang weitermachen kann? Also die einfachere wäre, dass der Spieler auf ewig auf derselben Strecke hin und her läuft - die schwierigere dass er Runden rennt.
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Mi 13.12.17 07:37
Symbroson hat folgendes geschrieben : | Fängst du denn die Fälle ab, in denen er unendlich lang weitermachen kann? Also die einfachere wäre, dass der Spieler auf ewig auf derselben Strecke hin und her läuft - die schwierigere dass er Runden rennt. |
Die Idee ist, dass posHistory das abfängt. Ein wert von "?" bedeutet, dass die Stellung bereits evaluiert wird (also man im Kreis läuft), solche Züge sollten nicht weiter betrachtet werden.
Der Stack Overflow lässt vielleicht vermuten, dass es doch irgendwie der Fall ist.
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
|