Entwickler-Ecke
Freeware Projekte - Memory die erste
chriss1988 - Di 06.06.06 14:40
Titel: Memory die erste
hi @ all
Habe mal ein kleines Memory proggrammiert und wollte es euch mal vorlegen, damit ihr es testen könnt und mir verbesserungen erklären könnt. Das memory ist nicht grad die wucht , da ich noch ziemlich neu mit Delphi bin und deshalb noch den ein oder anderen Fehler darin vorkommen können. Daher bitte ich euch nicht ganz so streng mit eurer Bewertung zusein aber trotzdem Mämgel,Fehler oder kleine verbesserungen miteinbringt.
chriss1988 - Di 06.06.06 15:12
du musst auf datei Starten.
Narses - Di 06.06.06 15:15
Moin!
Ich habe doch schon das Programm gestartet - muss ich noch mehr tun, um meinen Willen zu zeigen, dass ich jetzt Spielen möchte? Warum? Ist mir zu umständlich... ;)
cu
Narses
//EDIT: Hmm, mal noch ganz was anderes... hast du eigentlich mind. die (Veröffentlichungs-)Rechte an den Bildern, die du da munter verteilst... :?: ;)
chriss1988 - Di 06.06.06 15:20
ok hab ich geändert müsste gehn
azubi_20 - Di 06.06.06 15:27
Also ein paar Mängel :
- Im Menüpunkt "Hilfe?" haben alle Unterpunkte den Shortcut F1
- Wenn man einen dieser Unterpunkte öffnet, kommt ein kleines Fenster mit der Erklärung. Schließe ich es über [X] wird das Hauptprogramm beendet. (Lösung: blende das [X] aus)
- Die Hilfefenster sind schlecht designed (Besser: formatierter Text (z.B. Html), Button "zurück" unten gut sichtbar)
- Wie
Narses schon sagte, warum erst auf Starten drücken, um zu spielen ?
- Wenn ich gleich nach Programmstart auf "Neuer Versuch klicke, gibt es eine Zugriffsverletzung
Und hier ein paar Sachen, die du noch einbauen könntest :
- Eine Message, wenn man fertig ist mit dem Spiel, wäre schön.
- Wie wäre es mit einer Highscoreliste ?
EDIT : ist erledigt
chriss1988 - Di 06.06.06 15:46
azubi_20 hat folgendes geschrieben: |
Also ein paar Mängel :
[list][*]Im Menüpunkt "Hilfe?" haben alle Unterpunkte den Shortcut F1
|
geändert
| Zitat: |
[*]Wenn man einen dieser Unterpunkte öffnet, kommt ein kleines Fenster mit der Erklärung. Schließe ich es über [X] wird das Hauptprogramm beendet. (Lösung: blende das [X] aus)
|
ok hab ich
| Zitat: |
[*]Die Hilfefenster sind schlecht designed (Besser: formatierter Text (z.B. Html), Button "zurück" unten gut sichtbar)
|
hab die leiste weg gemacht und dafür einen schönen button
Wie kann ich den die farbe für bestimmte wörter ändern oder wörter unterstreichen
| Zitat: |
Und hier ein paar Sachen, die du noch einbauen könntest :
- Eine Message, wenn man fertig ist mit dem Spiel, wäre schön.
- Wie wäre es mit einer Highscoreliste ?
|
ok das mit ner showmessage kann ich versuchen ob ich das hinbekomm
das mit der highscore hab ich mir schon überlegt aber wie gesagt bin ein noob und weis net wie ich das machen soll (wahrscheinlich mit ner datenbank) oder? hab aber noch nie ne datenbank programmiert
JayEff - Di 06.06.06 15:53
Ich würds ohne DB machen ... Mach ne ini datei mit name=wert oder sowas. DBs sind mehr für viele Einträge gut, denk ich (täusch ich mich?) Ich mag keine DBs weil ich keine Ahnung davon hab ^^
Achja: Weee! 18Punkte! ...bin ich gut? 8(
azubi_20 - Di 06.06.06 16:01
chriss1988 hat folgendes geschrieben: |
azubi_20 hat folgendes geschrieben: |
[*]Wenn man einen dieser Unterpunkte öffnet, kommt ein kleines Fenster mit der Erklärung. Schließe ich es über [X] wird das Hauptprogramm beendet. (Lösung: blende das [X] aus)
|
ok hab ich
|
Das ist doch glatt gelogen :roll: :?
Mir ist noch aufgefallen, dass das Programm dann nicht wirklich beendet wird, also der Prozess noch läuft... :roll:
Lass deine Hauptanwendung doch stehen und rufe dein Hilfefenster mit showmodal() auf.
chriss1988 - Di 06.06.06 16:03
??
wenn ich die hilfe rufe und diese beende kommt bei mir wieder das spiel oder wie soll ich das bei dir verstehn???????????????
//edit:
ahso ok ich habs jetzt endlich auch verstanden wie du das gemeint hast das liegt wohl daran das ich form1.hide hab ich werd mich drum kümmern
chriss1988 - Di 06.06.06 16:08
hab das immoment so
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.NeueRunde1Click(Sender: TObject); begin form1.hide; form2.showm form2.memo1.Lines.Text:=('Nochmal Spielen ? '+
'Um das Spiel nochmal zuspielen musst du auf "Datei-->Neuer Versuch" .');
end; |
nun mach ich das so
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.NeueRunde1Click(Sender: TObject); begin
form2.showmodal; form2.memo1.Lines.Text:=('Nochmal Spielen ? '+
'Um das Spiel nochmal zuspielen musst du auf "Datei-->Neuer Versuch" .');
end; |
und er bringt mir ein leeres memo
azubi_20 - Di 06.06.06 16:12
Wenn ich bei der Hilfe oben rechts auf das Kreuz drücke [x], wird das Hilfe fenster beendet und das Programm kommt nich wieder. Es muss dann erst im Taskmanager gekillt werden ...
Daher [x] wegmachen : auf die Hilfe-Form -> im Objectinspektor -> Bordericons -> biSystemMenu := false
azubi_20 - Di 06.06.06 16:15
bedeutet, dass nun form2 exklusiv geöffnet wird. alles was aus Form1 kommt wird nun ignoriert. Da du aus form1 dein Memo füllen willst geht das so nicht. Also : erst befüllen, dann zeigen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.NeueRunde1Click(Sender: TObject); begin form2.memo1.Lines.Text:=('Nochmal Spielen ? '+ 'Um das Spiel nochmal zuspielen musst du auf "Datei-->Neuer Versuch" .'); form2.showmodal; end; |
chriss1988 - Di 06.06.06 16:21
ok der fehler mit dem x ist behoben
das mit der message klappt noch net muss morgen weiter arbeiten
chriss1988 - Mi 07.06.06 09:20
JayEff hat folgendes geschrieben: |
Ich würds ohne DB machen ... Mach ne ini datei mit name=wert oder sowas. DBs sind mehr für viele Einträge gut, denk ich (täusch ich mich?) Ich mag keine DBs weil ich keine Ahnung davon hab ^^
Achja: Weee! 18Punkte! ...bin ich gut? 8( |
was is denn eine ini??
JayEff - Mi 07.06.06 13:29
oder du machst einfach das:
INI Suchen nach dem wort, das ich gebracht hab, dürfte die schnellsten ergenbisse bringen ;> Alternativ biete ich dir noch ein Suchwort:
TINIFILE
Born-to-Frag - Mi 07.06.06 14:47
Die Bilder sollten auch gemischt werden :shock: und man sollte nicht die Bilder beim Programmstart sehen können weil erst kurz danach die Buttons sichtbar werden :shock:
greetz
Leuchtturm - Mi 07.06.06 14:50
Och habs mir auch angekuckt und finde du solltest die Exe umbennen und eventuell noch ein Eigenes Icon machen
chriss1988 - Do 08.06.06 08:43
Born-to-Frag hat folgendes geschrieben: |
Die Bilder sollten auch gemischt werden :shock: und man sollte nicht die Bilder beim Programmstart sehen können weil erst kurz danach die Buttons sichtbar werden :shock:
greetz |
aslo bei mir seg ich am anfang keine bildersondern die buttons :shock:
und was meinst du mit mischen sind doch gemischt?
chriss1988 - Do 08.06.06 10:38
neue änderungen
1. Startseite eingerichtet zum Nemen Eingeben
2. Meldung wenn das spiel vorbei ist.
3 das Problem mit dem[x] ist nun gelöst
//edit: datei ist nun auf der ersten seite
azubi_20 - Do 08.06.06 12:08
kleiner Bug: Wenn ich auf der Startseite "Abbrechen" drücke und dann mit "ja" bestätige ,passiert nix... :(
Ansonsten : Da man für jedes aufgedeckte paar 1 Punkt bekommt, sollte man vielleicht statt "Punkte" "aufgedeckt" schreiben. (18 "Punkte" macht jeder, der bis zu Ende spielt. :) )
Vielleicht überlegst du dir noch ein schöneres Design für deinen Startbildschirm :wink:
Narses - Do 08.06.06 12:15
Moin!
Bitte die Forumsregeln beachten: Downloads/Anhänge immer im ersten Posting im Thread aktualisieren!
(Sagt dir bestimmt auch gleich noch ein Mod... ;))
Ansonsten: findest du fast 2MB für einen Memory-Clone nicht etwas sehr viel... ? :?
cu
Narses
//EDIT: @Punkte zählen: macht irgendwie Sinn, wenn die Anzahl der "falsch" aufgedeckten Pärchen in die Wertung eingingen, oder? Könntest du z.B. abziehen. ;)
chriss1988 - Do 08.06.06 12:24
azubi_20 hat folgendes geschrieben: |
kleiner Bug: Wenn ich auf der Startseite "Abbrechen" drücke und dann mit "ja" bestätige ,passiert nix... :(
Ansonsten : Da man für jedes aufgedeckte paar 1 Punkt bekommt, sollte man vielleicht statt "Punkte" "aufgedeckt" schreiben. (18 "Punkte" macht jeder, der bis zu Ende spielt. :) )
Vielleicht überlegst du dir noch ein schöneres Design für deinen Startbildschirm :wink: |
eh wenn ich das richtig verstehe dann läd er bei dir du drückst auf abbrechen und der ladebalken verschwindet nicht ??
Stimmt das mit den punkten stiimt schon aber ich wollte noch eine zusatz funktion einbauen wenn ich eine highscoor liste hab. Nämlich wenn du unter x zügen bleibst bekommst du x punkte bonus.Aber das wird wahrscheinlich nicht geschehn, da ich das mit der besten liste noch nicht ganz versteh und der abgabe termin am mittwoch ist.
@ Narsen
warum sin 2 mb gr0ß? sind ja auch net gezipt und wie soll ich deiner meinung nach die mb größe verkleiner soll ich statt 36 bildern nur 4 nehemn??
Narses - Do 08.06.06 12:30
Moin!
Sorry, aber soviel Zeit muss sein: e
N -
Ah - e
R - e
S -
Eh - e
S ;)
Ich habe dich bereits darauf hingewiesen, dass die Verwendung von Bildern voraussetzt, dass du auch die Veröffentlichungsrechte dafür besitzt. Dass du Schüler bist und damit kein Geld verdienen willst mag sein, trotzdem gelten Gesetze auch für dich. :mahn: ;)
Deshalb ist es IMHO eine gute Idee, bei einem solchen Projekt einfach selbst im Programm symbolische Bildchen zu erzeugen. Wie das geht, habe ich dir bereits durch den Link in meinem ersten Posting in diesem Thread versucht mitzuteilen. ;) Nebeneffekt davon: die Exe ist nicht so aufgebläht, weil die Images nicht in der Ressource drin sind. :D
chriss1988 hat folgendes geschrieben: |
| soll ich statt 36 bildern |
Wieso 36? Ich denke, da sind Pärchen drin, also sind doch auch nur max. die Hälfte Bildchen nötig, oder? ;)
cu
Narses
azubi_20 - Do 08.06.06 12:55
chriss1988 hat folgendes geschrieben: |
eh wenn ich das richtig verstehe dann läd er bei dir du drückst auf abbrechen und der ladebalken verschwindet nicht ??
|
Nein. Bei "Abbrechen" denke ich, dass das Programm beendet wird. Dass du damit "Laden abbrechen" meinst, ist nicht offensichtlich. Daher mein Vorschlag : erst beim Laden den Button anzeigen und die Caption in "Laden abbrechen" ändern.
chriss1988 - Do 08.06.06 13:11
@Narses
1. schuldigung das ich deinen namen falsch geschrieben habe :flehan:
ok ich hab mir dein programm mal angeschaut find das aufjeden fall besser mit den von dir gewälten bildern die erzeugt werden nur kann ich den code eigendlich bei mir einbaun ???
vorallem dein teil mit dem karten mischen ist umeiniges besser als meiner da meiner immer die karten an die selben stellen legt.
also danke das du mich npchmal auf dein memory drauf hingewiesen hast hab ich glatt überlesen :(
@ azubi_20
ok werd ich machen
Narses - Do 08.06.06 13:20
Moin!
chriss1988 hat folgendes geschrieben: |
| kann ich den code eigendlich bei mir einbaun ??? |
Ich weiß nicht, ob du das kannst, aber was spricht dagegen? ;)
cu
Narses
chriss1988 - Do 08.06.06 14:23
oh eigendlich wollt ich das kann durch ein darf ersetzten
Narses - Do 08.06.06 14:29
Moin!
Klar darfst du; kannst mich ja in den Credits erwähnen... ;)
cu
Narses
chriss1988 - Do 08.06.06 14:45
credits ??
dann must du mir per pm deinen namen schicken
chriss1988 - Do 08.06.06 14:52
Funktionen hinzugefügt:
1. Abbrechen Button geändert und umbenannt
2. Hintergrundbild eingefügt
3. alte Bilder fürs Memory durch Narses idee geändert nun sinds Buchstaben (danke an der stelle)
4. Das Mischsysteme wurde verbessert
bitte weiterhin vorschläge krizik und verbesserungen bringen
PS: es wäre net wenn mir einer ne Highscoore liste programmieren könnte
Born-to-Frag - Do 08.06.06 15:05
Hab jetzt nicht die ganz neue Version bei der das Mischsystem anscheinend verbessert wurde (Finde diese Version nicht). Das Mischsystem gabs vorher nicht :shock: Die Bilder werden bei mir nicht gemischt. Ich starte das Programm und spiel ein bisschen, starte es neu und die Bilder sind genauso.
Naja dass ich kurz die Bilder sehe ist nicht mehr der Fall (hatte ich nur auf nem 2GHz Laptop bemerkt)
greetz
chriss1988 - Do 08.06.06 15:08
versuch den neuen nochmal hatte eben kleine probleme mit dem hochladen
Born-to-Frag - Do 08.06.06 15:10
Ja, jetzt geht es. Also hast du das Mischsystem nicht verbessert sondern hinzugeefügt :D
chriss1988 - Do 08.06.06 15:13
doch habs verbessert vorher hat er mir am anfang immer die selben bilder gebracht
Neidhard von Reuental - Do 08.06.06 15:58
Habs mir nun auch mal angesehn da ich vor einiger Zeit auch ein Memory-Spiel angefangen habe (gibt noch paar Fehler).
Was mir an Deinem Memory aufgefallen ist, ist das Design, da solltest Du auf jeden Fall noch etwas tun.
Wenn ich keinen Namen in das Editfeld eingebe und auf "Bestätigen" klicke bekomme ich eine Message in der steht "Fehler". Es wär also ratsam über dem Editfeld zu schreiben was da reingeschrieben werden soll und in der Message sollte auch der aufgetretene Fehler beschrieben sein.
Dann noch, warum hast du den Menüeitrag "Beenden?" unter "Hilfe" wenn er doch nur darauf hinweist das man unter "Datei"->"Exit" beenden soll?
Hier mal ein
Link [
http://www.spqr-clan.de/WinMemory.rar] zu meinem Memory, schau es Dir an und vielleicht kommen Dir paar Ideen was Du bei Dir noch alles einbauen kannst.
Edit: Mein Memory benötigt .NET 1.1
Narses - Do 08.06.06 16:07
Moin!
chriss1988 hat folgendes geschrieben: |
credits ??
dann must du mir per pm deinen namen schicken |
Schreib doch einfach "Narses" rein. ;)
(oder soll ich nochmal buchstabieren... :mrgreen: sorry... ;))
chriss1988 hat folgendes geschrieben: |
| doch habs verbessert vorher hat er mir am anfang immer die selben bilder gebracht |
Erläuterung: Du mußt im FormCreate-Ereignis einmal
Randomize; aufrufen, sonst liefert der Zufallszahlengenerator immer die gleiche Zahlenfolge.
cu
Narses
chriss1988 - Do 08.06.06 18:52
Neidhard von Reuental hat folgendes geschrieben: |
Habs mir nun auch mal angesehn da ich vor einiger Zeit auch ein Memory-Spiel angefangen habe (gibt noch paar Fehler).
Was mir an Deinem Memory aufgefallen ist, ist das Design, da solltest Du auf jeden Fall noch etwas tun.
Wenn ich keinen Namen in das Editfeld eingebe und auf "Bestätigen" klicke bekomme ich eine Message in der steht "Fehler". Es wär also ratsam über dem Editfeld zu schreiben was da reingeschrieben werden soll und in der Message sollte auch der aufgetretene Fehler beschrieben sein.
Dann noch, warum hast du den Menüeitrag "Beenden?" unter "Hilfe" wenn er doch nur darauf hinweist das man unter "Datei"->"Exit" beenden soll?
Hier mal ein Link [http://www.spqr-clan.de/WinMemory.rar] zu meinem Memory, schau es Dir an und vielleicht kommen Dir paar Ideen was Du bei Dir noch alles einbauen kannst.
Edit: Mein Memory benötigt .NET 1.1 |
hi
1. was soll ich an dem design veränder?? dann mach auch vorschläge
2.ich kann in das edit feld zahlen buchstaben sonderzeichen usw eingeben und es kommt keine fehlermeldung die muldung kommt nur wenn man nicht eingibt und ok die message war nur testhalber ob es überhaupt geth wir d aber geändert.
3 wenn ich dein öffnen will kommt da en laufzeit fehler an deiner stelle würde ich deins auchmal prüfen ;-)
Neidhard von Reuental - Do 08.06.06 20:10
chriss1988 hat folgendes geschrieben: |
3 wenn ich dein öffnen will kommt da en laufzeit fehler an deiner stelle würde ich deins auchmal prüfen ;-) |
Wie in meinem Post steht wird das .NET 1.1 Framework benötigt ;)
chriss1988 - Di 13.06.06 13:04
Narses hat folgendes geschrieben: |
//EDIT: @Punkte zählen: macht irgendwie Sinn, wenn die Anzahl der "falsch" aufgedeckten Pärchen in die Wertung eingingen, oder? Könntest du z.B. abziehen. ;) |
ist eine überlegung wert aber dann kann es ja passieren, das man - X Punkte hat. Meinst du das ist sinnvoll oder sollte ich für jedes richtoge üäärchen 2 punkte nehmen für ein falsches 1 abziehn?
Narses - Di 13.06.06 13:10
Moin!
Auch ne Methode; ansonsten frag doch ab, ob´s unter Null gehen würde und zieh in diesem Fall nix ab, so dass es nicht negativ werden kann.
Mein Ansatz dabei war halt, dass jemand durch zufälliges Klicken im statistischen Mittel keine Punkte bekommen sollte - hab das ganze aber nicht wirklich durchdacht vorgeschlagen. ;) Sollst ja auch noch was zu tun haben... :D
Ziel generell beim Punktezählen: die Gedächtnisleistung soll belohnt werden!
cu
Narses
chriss1988 - Di 13.06.06 13:22
ok
habs jetzt so gemact das wenn der punktezähler schon auf 0 ist nichts abgezogen wird sollte er aber größer als 0 sein dann wird ei punkt abgezogen
nun tritt ein anderes progblem auf mit der showmessage wenn das spiel vorbei sein soll
vorher habe ich gesagt
Delphi-Quelltext
1: 2:
| if points=16 then showmessage('Vorbei') |
das geht aber jetzt net mehr hat da einer ne idee wie ich das lösen kann?
Narses - Di 13.06.06 13:33
Moin!
Du darfst ja auch nicht den Punktezähler als Indiz "missbrauchen"... ;) Du mußt dir merken, wieviele Felder noch offen sind, und wenn diese Zahl 0 erreicht, ist das Spiel vorbei (siehe Code in meinem Tut).
cu
Narses
chriss1988 - Di 13.06.06 14:45
aha ok
aber sowas hast du bei deinem programm garnet eingebaut
Narses - Di 13.06.06 15:03
Moin!
OK, war etwas schnell beim Schreiben, da fehlte ein "auch". ;) Ich meinte, dass mein Code eine entsprechende Problematik nicht aufweist - sind alle Buttons versteckt, kann man auch nix mehr anklicken. Dass dann das Spiel vorbei ist, sollte ja wohl logisch sein. Abgesehen davon kann man ja nix mehr anklicken, deshalb wird man wohl über kurz oder lang entweder an Langeweile sterben, das Spiel neustarten oder das Programm beenden. ;)
Fazit: Wozu diese Funktion überhaupt einbauen. ;)
cu
Narses
chriss1988 - Di 13.06.06 15:57
ok das mit der massage hab ich nun
chriss1988 - Mi 14.06.06 11:22
so hab noch ein paar änderungen eingebaut
1. die showmessage am ende des spiels überarbeitet
2. schwierigkeitssufen leicht,mittel schwer eingebaut
3. punkte zähler verbessert
es folgt in der v1.3
highscore
das design wird noch überarbeitet
chriss1988 - Di 04.07.06 12:08
so version 1.3 ist nun fertig
es ist nun eine highscoreliste verfügbar und der Punkte Zähler würde geändert
bitte schreibt wider verbesserungen oder Fehler hier rein
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!