Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Algorithmen-Plugin
#16
Hat allerdings immer das Leerzeichen hinter dem Algo mitgenommen, das war unschoen. Ich hab's fuer's erste aufgegeben, den Ausdruck fuer einen Zug nicht zu wiederholen. Hier meine jetzige Loesung samt Tester mit Testfaellen:

PHP-Code:
<?php
test
"foo {R U' R' U' R U R D R' U' R D' R' U2 R' U'} bar" );
test"foo {R U R' U} Und das U vom Und nicht mitnehmen" );
test"foo {R U R' U}\nNeue Zeile..." );
test"foo {R U R' U}" );
function 
test $goal ) {     # remove solution markers and try to recreate them
  
$in preg_replace'/[{}]/'''$goal );
  
$move "\b[UDFBLR]('|2|\b)";
  
$out preg_replace"#($move$move){2,})#"'{$1}'$in );
  
printf"%-7s %s\n"$out==$goal?"ok:":"falsch:"$out );

In den Testfaellen ist die Loesung markiert (mit geschweiften Klammern). Die Markierung wird erstmal entfernt, das ist dann die Testeingabe. Dann wird versucht, die Loesung wieder zu finden, und das Ergebnis wird mit dem Ziel verglichen.

Ausgabe:
Code:
ok:     foo {R U' R' U' R U R D R' U' R D' R' U2 R' U'} bar
ok:     foo {R U R' U} Und das U vom Und nicht mitnehmen
ok:     foo {R U R' U}
Neue Zeile...
ok:     foo {R U R' U}

Also die Zeilen
PHP-Code:
$move "\b[UDFBLR]('|2|\b)";
$out preg_replace"#($move$move){2,})#"'{$1}'$in ); 
sind die eigentliche Loesung, es wird nach einem Zug gesucht, der von mindestens zwei weiteren Zuegen gefolgt wird (immer mit einem Leerzeichen Abstand, das koennte man aber auch noch quantifizieren). Kannst es auch ohne die $move-Variable machen, aber das find ich unuebersichtlicher:
PHP-Code:
$out preg_replace"#(\b[UDFBLR]('|2|\b)( \b[UDFBLR]('|2|\b)){2,})#"'{$1}'$in ); 

Mit so einem Prograemmchen bekommt man viel besser Hilfe, siehe auch:
The SSCCE - Short, Self Contained, Correct (Compilable), Example
Kannst es ja mal so im PHP-Forum zeigen und sie fragen, ob sie da noch bessere Ideen haben. Damit verstehen sie besser, um was es geht, und koennen eigene Ideen auch gleich ganz einfach testen.
Zitieren


Nachrichten in diesem Thema
Algorithmen-Plugin - von Felk - 21.07.2011, 19:55
RE: Algorithmen-Plugin - von Stefan - 21.07.2011, 20:22
RE: Algorithmen-Plugin - von LinusR - 21.07.2011, 20:55
RE: Algorithmen-Plugin - von Felk - 21.07.2011, 21:26
RE: Algorithmen-Plugin - von Stefan - 21.07.2011, 21:48
RE: Algorithmen-Plugin - von Felk - 21.07.2011, 23:14
RE: Algorithmen-Plugin - von Stefan - 21.07.2011, 23:20
RE: Algorithmen-Plugin - von Felk - 21.07.2011, 23:52
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 01:05
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 01:00
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 01:11
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 01:19
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 01:28
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 01:37
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 02:01
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 02:14
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 03:09
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 03:33
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 03:27
RE: Algorithmen-Plugin - von LinusR - 22.07.2011, 09:54
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 17:52
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 18:20
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 21:04
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 21:43
RE: Algorithmen-Plugin - von Michaelius - 22.07.2011, 21:20
RE: Algorithmen-Plugin - von Felk - 22.07.2011, 22:11
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 23:22
RE: Algorithmen-Plugin - von Stefan - 22.07.2011, 23:41
RE: Algorithmen-Plugin - von Felk - 23.07.2011, 01:02
RE: Algorithmen-Plugin - von Felk - 23.07.2011, 01:29
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 12:51
RE: Algorithmen-Plugin - von Felk - 23.07.2011, 17:54
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 18:27
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 18:40
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 18:29
RE: Algorithmen-Plugin - von Felk - 23.07.2011, 19:45
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 20:08
RE: Algorithmen-Plugin - von Stefan - 23.07.2011, 20:30

Gehe zu: