| Autor | Beitrag | 
| Jumpy Hält's aus hier
 Beiträge: 23
 Erhaltene Danke: 5
 
 
 
 
 | 
Verfasst: Fr 23.12.16 09:12 
 | 
|  | 
| ub60 
          Beiträge: 764
 Erhaltene Danke: 127
 
 
 
 
 | 
Verfasst: Fr 23.12.16 10:31 
 
	  |  Jumpy hat folgendes geschrieben  : |  	  | Und ich Depp schau seit 18 Stunden auf den Monitor und warte drauf irgendein 3D-Muster zu erkennen  | 
 Kein Wunder, dass das nichts wird. Das Bild sieht man erst nach 22 Stunden     .
 ub60 | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 12:29 
 | 
|  | 
| Blawen 
          Beiträge: 616
 Erhaltene Danke: 33
 
 Win XP, Vista, 7
 Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
 
 | 
Verfasst: Fr 23.12.16 13:28 
 
_________________ Es kompilert, wir können ausliefern.
 Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro    | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 13:45 
 
	  |  Blawen hat folgendes geschrieben  : |  	  | Mit Paint habe ich es auch nicht lösen können, mit der .Net Version hingegen ging es relativ schnell - wenn auch meine Augen mehr als nur strapaziert wurden  | 
 Was ist denn eine ".Net Version"? Eine von Paint?
 Kenne ich nicht.
 Es soll sich ja schon mit Windows 3.1-Bordmitteln lösen lassen. Damals gab es (m.E. zum Glück) kein .Net. | 
|  | 
| Gausi 
          Beiträge: 8550
 Erhaltene Danke: 478
 
 Windows 7, Windows 10
 D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
 
 | 
Verfasst: Fr 23.12.16 13:55 
 
_________________ We are, we were and will not be.
 Für diesen Beitrag haben gedankt: Delphi-Laie
 | 
|  | 
| Mathematiker 
          Beiträge: 2622
 Erhaltene Danke: 1448
 
 Win 7, 8.1, 10
 Delphi 5, 7, 10.1
 
 | 
Verfasst: Fr 23.12.16 13:58 
 
Der letzte offene Versuch beim Rätsel vom 22.12. ist beendet.
 Lösung:
 Die Aufgabe verwendete eine einfache Form der visuellen Kryptografie.
 siehe mathematikalpha.de/visuelle-kryptografie D.h., die beiden Bilder müssen absolut genau und transparent übereinander gelegt werden. Damit ergibt sich
   also: Weihnachten 2016
 Wie kann man das nun erreichen? Der meiner Meinung einfachste Weg ist:
 1. mit Tastenkombination ALT-DRUCK das Aufgabenfenster in die Zwischenablage kopieren
 2. Windowsprogramm Paint (pbrush.exe) öffnen
 3. Zwischenablage einfügen
 4. unter Auswählen unbedingt "transparente Auswahl" einstellen
 5. unteres Bild auswählen und absolut genau über das obere verschieben
 Möglich ist auch, das Aufgabenfenster auf Folie ausdrucken, zerschneiden und per Hand übereinander legen.
 Beste Grüße
 Mathematiker
Einloggen, um Attachments anzusehen!
 
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
 Für diesen Beitrag haben gedankt: Christian S., Delphi-Laie, Narses
 | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 14:00 
 
Also doch die überlagerten Bitmasken, genau, wie ich es ahnte.
 Das ohne ausgedruckte Folie(n) (die zu erstellen ich überhaupt keine Lust hatte) hinzubekommen, erfordert allerdings Computerkenntnisse, die mir auch nach über 25 Jahren noch nicht untergekommen sind. In Paint auf XP finde ich kein "Auswählen".
 | 
|  | 
| Mathematiker 
          Beiträge: 2622
 Erhaltene Danke: 1448
 
 Win 7, 8.1, 10
 Delphi 5, 7, 10.1
 
 | 
Verfasst: Fr 23.12.16 14:08 
 
	  |  Delphi-Laie hat folgendes geschrieben  : |  	  | In Paint auf XP finde ich kein "Auswählen". | 
 Das ist kein Problem.
 Ist Transparenz eingestellt, dann einfach das Bild aus der Zwischenablage noch einmal einfügen und dann verschieben._________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
 Für diesen Beitrag haben gedankt: Delphi-Laie
 | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 14:10 
 | 
|  | 
| Mathematiker 
          Beiträge: 2622
 Erhaltene Danke: 1448
 
 Win 7, 8.1, 10
 Delphi 5, 7, 10.1
 
 | 
Verfasst: Fr 23.12.16 14:16 
 
	  |  Delphi-Laie hat folgendes geschrieben  : |  	  | Und wo wird "Transparenz" eingestellt? | 
 Ich habe kein XP mehr, aber ich glaube das Einstellen von Weiß als Hintergrundfarbe macht es auch.
 Wenn nicht, dann habe ich mich wohl getäuscht. Dann geht es wohl so doch erst ab W7(?).
 Mathematiker_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
 Für diesen Beitrag haben gedankt: Delphi-Laie
 | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 14:22 
 
	  |  Mathematiker hat folgendes geschrieben  : |  	  | 	  |  Delphi-Laie hat folgendes geschrieben  : |  	  | Und wo wird "Transparenz" eingestellt? | 
 Ich habe kein XP mehr, aber ich glaube das Einstellen von Weiß als Hintergrundfarbe macht es auch.
 Wenn nicht, dann habe ich mich wohl getäuscht. Dann geht es wohl so doch erst ab W7(?).
 | 
 Tut mir leid, aber auch das verstehe ich nicht.
 Wenn man Paint öffnet, ist doch das vorbereitete Bitmap automatisch weiß voreingestellt.
 Weiterhin haben doch diese Bitmasken schwarz oder eben weiß als Farbe. Und wenn ich ein Teilbild über das andere schiebe, wird ersteres verdeckt. | 
|  | 
| Christian S. 
          Beiträge: 20451
 Erhaltene Danke: 2264
 
 Win 10
 C# (VS 2019)
 
 | 
Verfasst: Fr 23.12.16 14:28 
 
Hier gibt es ein Bild von Paint unter XP: www.askdavetaylor.co...ot_windows_xp_winxp/ Die gesuchte Einstellung ist, soweit ich weiß, die ganz unten in der Werkzeugpalette (die mit dem Kubus, der Kugel und dem Zylinder)
 //edit: die verlinkte Seite hat sonst nichts mit dem Problem zu tun, ich wollte nur nicht das Bild einfach "klauen"._________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
 Für diesen Beitrag haben gedankt: Delphi-Laie, Mathematiker
 | 
|  | 
| Delphi-Laie 
          Beiträge: 1600
 Erhaltene Danke: 232
 
 
 Delphi 2 - RAD-Studio 10.1 Berlin
 
 | 
Verfasst: Fr 23.12.16 14:40 
 
Jetzt habe ich es geschafft, ist doch abhängig von diesen beiden ominösen"Körpericons", danke!
 Das untere Teilbild wird dann nicht überdeckt, sondern das obere ist transparent. Wußte ich bis eben noch nicht, daß so etwas mit Paint überhaupt möglich ist.
 | 
|  | 
| ub60 
          Beiträge: 764
 Erhaltene Danke: 127
 
 
 
 
 | 
Verfasst: Fr 23.12.16 15:08 
 
Ich habe eben mal meine VM mit XP angeschmissen und siehe da, es geht:
   Außerdem kann man das Ganze natürlich auch programmieren (ist ja schließlich ein Programmiererforum     ):
 		                       Delphi-Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 
 | var x, y : Integer;Wert1, Wert2 : TColor;
 begin
 for y:=0 to 199 do
 for x:=0 to 399 do
 begin
 Wert1:=Image_1.Canvas.Pixels[x, y];
 Wert2:=Image_2.Canvas.Pixels[x, y];
 if (Wert1=clBlack) AND (Wert2=clBlack)
 then Image_Ges.Canvas.Pixels[x, y]:=clBlack
 else Image_Ges.Canvas.Pixels[x, y]:=clWhite;
 end;
 end;
 |  Der Mathematiker war hier auch äußerst kooperativ (eventuell gar nicht mit Absicht     ?). Es funktionieren nämlich z.B. auch OR, AND NOT, OR NOT und XOR.
 Hier mal die Beweise:
 AND:
   OR:
   ub60
Einloggen, um Attachments anzusehen!
 Für diesen Beitrag haben gedankt: Mathematiker
 | 
|  | 
| ub60 
          Beiträge: 764
 Erhaltene Danke: 127
 
 
 
 
 | 
Verfasst: Fr 23.12.16 15:12 
 
Ich schiebe mal noch die 3 restlichen Bilder nach (man darf nur 3 Bilder in einem Post einfügen):
 XOR:
   AND NOT
   OR NOT
   ub60
Einloggen, um Attachments anzusehen!
 | 
|  | 
| Horst_H 
          Beiträge: 1654
 Erhaltene Danke: 244
 
 WIN10,PuppyLinux
 FreePascal,Lazarus
 
 | 
Verfasst: Fr 23.12.16 19:31 
 
Hallo,
 irgendwie fehlt eine Lösung für die Springer-Tour vom 17.12
 Hier mal eine Version mit dem Kopf durch die Wand
 												| 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:
 118:
 119:
 120:
 121:
 122:
 123:
 124:
 125:
 126:
 
 | program roessel;{$IFDEF FPC}{$MODE DELPHI}{$ELSE}{$APPTYPE CONSOLE}{$ENDIF}
 uses
 sysutils;
 const
 cLaenge = 8;
 cHoehe  = 5;
 cCount  = cLaenge*cHoehe;
 
 type
 tSpielfeld = array[-1..cLaenge+2,-1..cHoehe+2] of boolean;
 tDelta = record
 dl,dh : integer;
 end;
 tarrDelta = array[0..7] of tDelta;
 tPosition = record
 actLaenge,
 actHoehe : integer;
 end;
 tAblauf = array[1..cCount] of tPosition;
 
 const
 cDelta : tarrDelta = ((dl:-1;dh:-2),
 (dl:-1;dh:+2),
 (dl:-2;dh:-1),
 (dl:-2;dh:+1),
 (dl:+1;dh:-2),
 (dl:+1;dh:+2),
 (dl:+2;dh:-1),
 (dl:+2;dh:+1));
 var
 Spielfeld : tSpielfeld;
 Ablauf    : tAblauf;
 cnt,Anzahl: integer;
 
 procedure Init(var sf:tSpielfeld);
 var
 l,h: integer;
 Begin
 cnt := cCount;
 Anzahl := 0;
 Fillchar(Ablauf,sizeof(Ablauf),#0);
 Fillchar(sf,sizeof(sf),chr(ord(True)));
 For l := 1 to cLaenge do
 For h := 1 to cHoehe do
 sf[l,h] := false;
 end;
 
 procedure Spielzugausgeben;
 var
 l,h: integer;
 Begin
 l := cLaenge;
 For h := cCount downto 1 do
 Begin
 with Ablauf[h] do
 write(chr(actLaenge+64),'|',actHoehe,'->');
 dec(l);
 If l <= 0 then
 Begin
 l := cLaenge;
 writeln;
 end;
 end;
 end;
 
 procedure NextStep(position:tPosition);
 var
 dir: integer;
 neuPos : tPosition;
 begin
 with position do
 Spielfeld[actLaenge,actHoehe]:= true;
 Ablauf[cnt] := Position;
 
 For dir := 0 to 7 do
 Begin
 neupos := Position;
 with neuPos do
 Begin
 actLaenge:= position.actLaenge +cDelta[dir].dl;
 actHoehe := position.actHoehe  +cDelta[dir].dh;
 IF Not(Spielfeld[actLaenge,actHoehe]) then
 Begin
 dec(cnt);
 IF cnt <=1 then
 Begin
 inc(Anzahl);
 Ablauf[cnt] := neuPos;
 IF anzahl >=1 then
 Begin
 SpielZugAusgeben; Halt(0);
 end;
 end;
 NextStep(neuPos);
 inc(cnt);
 end;
 end;
 end;
 
 with position do
 Spielfeld[actLaenge,actHoehe]:= false;
 end;
 var
 StartPosition : tPosition;
 Begin
 Init(Spielfeld);
 with StartPosition do
 Begin
 actLaenge:= 1;
 actHoehe := 1;
 end;
 NextStep(StartPosition);
 Spielzugausgeben;
 end.
 
 |  Gruß Horst Für diesen Beitrag haben gedankt: Mathematiker
 | 
|  | 
| Mathematiker 
          Beiträge: 2622
 Erhaltene Danke: 1448
 
 Win 7, 8.1, 10
 Delphi 5, 7, 10.1
 
 | 
Verfasst: Fr 23.12.16 19:36 
 
Hallo Horst,
Danke für die Lösung zum Springerproblem.
 
 Es gibt eine heuristische Methode, die fast immer zu Ziel führt und die man per Hand spielen kann.
 1) mit einem Randfeld beginnen
 2) immer zu dem Feld mit der kleinsten Möglichkeit zum Weiterspielen springen
 3) gibt es mehrere solche Felder, so möglichst am Spielfeldrand bleiben
 
 Beste Grüße
 Mathematiker
 _________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
 | 
|  | 
| Horst_H 
          Beiträge: 1654
 Erhaltene Danke: 244
 
 WIN10,PuppyLinux
 FreePascal,Lazarus
 
 | 
Verfasst: Fr 23.12.16 19:56 
 
Hallo,
de.wikipedia.org/wiki/Springerproblem  gibt ja Tipps, aber irgendwie wollte es nicht so, wie ich es wollte.
 Es gab auch keine Zugrücknahme, wie beim Kistenschieben.
 Mir fiel const wege schach  ein, aber das war mir zu aufwendig.
 Gruß Horst | 
|  | 
| Mathematiker 
          Beiträge: 2622
 Erhaltene Danke: 1448
 
 Win 7, 8.1, 10
 Delphi 5, 7, 10.1
 
 | 
Verfasst: Fr 23.12.16 20:01 
 
	  |  Horst_H hat folgendes geschrieben  : |  	  | Es gab auch keine Zugrücknahme, wie beim Kistenschieben. | 
 Doch die gibt es. In der letzten Zeile steht:
 "Durch Klicken auf eine Zahl werden alle Züge bis zu dieser Zahl rückgängig gemacht."_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
 | 
|  |