Autor Beitrag
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Di 31.01.23 22:18 
Moin,
das Buchstabenspiel wird auf einem 4x4-Feld gespielt.

Das Spielfeld sieht wie folgt aus :
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16

Die Feldpositionen werden zufällig mit den Buchstaben A bis P besetzt.

Das Ziel dieses Spiels ist es, durch Rotation von jeweils vier Buchstaben
im Uhrzeigersinn die alphabetische Reihenfolge zu erhalten.
ABCSpiel
Es wird in die obere linke Eckposition der vier zu rotierenden Buchstaben geklickt.

Es gibt drei Level, die Anzahl der Versuche beträgt das 16-fache des Level.

Wer nicht weiterkommt kann sich Hinweise anzeigen lassen <CTRL L>

Viel Spaß beim Tüfteln!

Gruß Fiete

Revision1: die Lösungsausgabe wurde geändert(verbessert :?: )
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)


Zuletzt bearbeitet von Fiete am Fr 03.02.23 14:54, insgesamt 1-mal bearbeitet

Für diesen Beitrag haben gedankt: Andreas_500, Mathematiker, Narses, Sinspin
gerd33
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Mi 01.02.23 18:47 
Hallo,

ich habe das Spiel ausprobiert. Gut wäre noch, wenn man die einzelnen Spielzüge bzw. Drehungen nachspielen könnte
Statt 1-2 3-mal drehen
1-2
1-2 -> beim anklicken sieht man die Rotation
1-2

Das nurmal als kleine Anregung, wie man das Spiel noch attraktiver machen könnte. Ansonsten ganz nettes kleines Spiel

Gerd
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Fr 03.02.23 14:58 
Moin Gerd,

die Anzeige der Rotation hab ich geändert, Wartezeit eine halbe Sekunde.

ausblenden Delphi-Quelltext
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:
procedure TRotation.MemoDMouseDown(Sender: TObject; Button: TMouseButton;
                                    Shift: TShiftState; X, Y: Integer);
  var Zeile:String;
      Nr,ACol,ARow,K:Integer;
  begin
   Nr:=SendMessage(MemoD.Handle,EM_LINEFROMCHAR,MemoD.SelStart,0); // Zeilennummer im Memo
   Zeile:=MemoD.Lines[Nr];
   if Nr<MemoD.Lines.Count then
    for K:=1 to 3 do
     begin
      ACol:=StrToInt(Zeile[2]);
      ARow:=StrToInt(Zeile[6]);
      Drehen(ACol,ARow);
      Ausgeben;
      Delay(500); // halbe Sekunde warten
      inc(ZugAN);
      LabelZN.Caption:='Zugnummer '+IntToStr(ZugAN)+' / '+IntToStr(SperreAN);
      if Fertig then
       begin
        Ausgabe.Enabled:=False;
        SpielAbbruch:=True;
        Gestartet:=False;
        MemoD.Enabled:=False;
        Width:=252;
       end
     end
  end;

Ein Klick in eine Memozeile genügt.

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
gerd33
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Fr 03.02.23 19:08 
Hallo Fiete,

habe den source mit eingebunden. Das einzige was er meckerte war delay(500) stattdessen habe ich sleep(500) hergenommen.
Ja, jetzt kann man damit wirklich arbeiten bzw. spielen.
So ganz nebenbei. Habe mir ein bisschen den Quelltext angesehen.

Gruss
Gerd