Entwickler-Ecke
Open Source Projekte - Alfabet drehen
Fiete - Di 31.01.23 22:18
Titel: Alfabet drehen
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.
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 :?: )
gerd33 - 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 - Fr 03.02.23 14:58
Moin Gerd,
die Anzeige der Rotation hab ich geändert, Wartezeit eine halbe Sekunde.
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); 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); 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
gerd33 - 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
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!