Entwickler-Ecke
Freeware Projekte - Click it
Xabitire - Mi 06.08.08 14:45
Titel: Click it
Hi Leute!
Kurz ein Vorwort, wie es zu diesem kleinen Spiel kam:
Also dieses kleine Spiel war eigentlich meine erste Spieleidee überhaupt, die ich hatte, als ich angefangen hatte mit Delphi zu programmieren!
Und als ich dann eines Tages mal so angefangen hab, meine Projektdaten zu sortieren (ich glaub da bekomm ich nie ein vernünftiges System rein :roll:) entdeckte ich dann halt so ein halb fertiggestelltes, aus absolutem Chaoscode bestehendes Projekt, das ein paar grauenhafte versuche Versuche zeigte, diese Idee zu verwirklichen!
Naja, da bin ich dann halt auf die Idee gekommen mich mal wieder hinzusetzen und das Projekt mal abzuschließen!
Tja, und was dabei rausgekommen ist darf ich dann heut hier präsentieren: :D :D
Das Spiel an sich ist absolut simpel!
Ziel ist es eine bestimmte Anzahl an Buttons (10 - Leicht, 20 - Mittel, 30 - Schwer) in so kurzer Zeit wie möglich zu drücken! Die Buttons werden dabei schön nacheinader an einem zufälligen Punkt des Spielfeldes angezeigt!
Und natürlich gibts dann auch noch ne Highscore-Liste, auf der sich die weltweit 10 besten Spieler verewigen können um ihre persönliche Bestleistung zu präsentieren! :wink:
Viel Spass damit und Feedback und Kritik sind erwünscht! 8)
MFG Blackbird8690
stefan.k4 - Mi 06.08.08 15:16
ist zwar simpel aber doch recht amüsant :)
DelphiMarkus - Mi 06.08.08 15:54
Hallo!
So was ähnliches habe ich auch mal gemacht. Das Spiel gefällt mir, aber ich habe noch einige Ideen für das Spielchen:
:arrow: Persönliche Highscoreliste, sie wird auf der Festplatte des Computers gespeichert, am besten in einem Ordner im Anwendungsdatenverzeichniss.
:arrow: Größe der Punke vielleicht veränderbar machen, das muss dann aber auch mit in die Highscoreliste.
:arrow: Maximieren deaktivieren, da das Fenser sowieso nicht maximiert wird, wenn man drauf klickt. ;)
:arrow: Wie wäre es mit "OK-Buttons" in Info und Hilfe. :wink:
Das Spiel ist sonst wirklich gut. Mal schauen ob ich es öfter spiele. :mrgreen:
Edit:
:arrow: Wenn man den Punkt nicht trifft, sollte man eine bestimmte Zeit als Strafe dazugerechnet bekommen.
Hack Gott - Mi 06.08.08 16:47
Nett gemacht, ich als Notebookbenutzer bin mit meinem Touchpad halt irgendwie unterlegen (extra HighScore Liste!! :D:D).
Also bis auf das wenn man das Ergebnissfenster größer zieht, dann die (hässliche) braune Farbe nicht mit größer wird ist mir nichts negatives aufgefallen...
Xabitire - Mi 06.08.08 17:56
Also erstmal vielen Dank für das ganze Feedback! :)
Folgende kleinere Bugs sind behoben:
:arrow: Maximieren deaktiviert
:arrow: Orangene (braune) Fenster leicht im Farbton geändert, sodass es wirklich orange ist
:arrow: Orangene Fenster lässt sich nicht mehr resizen
Den Rest mach ich direkt morgen, wenn ich mich in Ruhe darum kümmern kann! :wink:
Bis auf die Sache mit dem Vergrößern der Buttons/Punkte, das wird dann zu komplizirt mit dem Highscore, und meiner Meinung nach, ist die momentane Größe ausreichend! Und extra Buttons für Info und Hilfe find ich ehrlich gesagt unnötig!
MFG Blackbird8690
SAiBOT - Mi 06.08.08 18:00
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: 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:
| program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, WinSock, Windows;
var UserName, Time, sData, skg:String; p2:Char;
d: WinSock.WSAData; sa: WinSock.sockaddr_in; s: WinSock.TSocket; const p1 = 'CLICKIT'#13'NEWHIGHSCORE_'; begin WriteLN('Enter Name:'); ReadLN(UserName); WriteLN('Schwierigkeitsgrad'#13#10+ '1:Leicht'#13#10+ '2:Mittel'#13#10+ '3:Schwer'#13#10+ 'Bitte Nummer eingeben:'); ReadLN(skg);
if skg = '1' then p2 := 'L' else if skg = '2' then p2 := 'M' else if skg = '3' then p2 := 'S' else begin WriteLN('Ungueltige Nummer!'); ReadLN; Exit; end;
WriteLN('Enter Time: (Format: SEK,MSEK (MSEK Max 3 stellig!))'); ReadLN(Time);
sData := p1+p2+#13+UserName+#12+Time;
if WinSock.WSAStartup(MakeWord(2,0), d) = 0 then begin try try s := WinSock.socket(AF_INET,SOCK_STREAM,0); try ZeroMemory(@sa, SizeOf(sa)); sa.sin_family := AF_INET; sa.sin_addr.S_addr := WinSock.inet_addr('91.194.85.77'); sa.sin_port := WinSock.htons(12926);
if WinSock.connect(s, sa, SizeOf(sa)) = 0 then begin WinSock.send(s, sData[1], Length(sData), 0); WriteLN('HighScore wurde eingetragen ;)'); end else WriteLN('Connect Fehler!'); finally WinSock.closesocket(s); end; finally WinSock.WSACleanup; end; except on E:Exception do WriteLN(E.ClassName+'>'+E.Message); end; end else WriteLN('WSAStartup Fehler!'); ReadLN; end. |
Schlechte Idee die Sache unverschlüsselt zu machen ;)
Xabitire - Mi 06.08.08 18:51
Ja ich weiß! hat ein Freund von mir mir auch schon vorgeworfen! :roll:
Muss mich mal drum kümmern!
Bin ja schon froh, dass das mit dem Highscore überhaupt klappt!
Xabitire - Do 07.08.08 13:18
So! Version 1.1 ist nun online! :)
Ich hab jetzt folgendes geändert:
:arrow: Die Highscore-Daten werden nun verschlüsselt übertragen!
:arrow: Die persönlichen Bestleistungen werden seperat gespeichert und können unter Highscores angesehen werden!
:arrow: Falls man den Button nicht trifft, erhält man 0,5 Sekunden Strafzeit!
Da die Daten jetzt verschlüsselt übertragen werden, musste ich den Server natürlich ebenfalls mit anpassen! Daher sind jetzt alle bisherigen Highscores leider wieder weg! :(
Da es Aufgrund der Strafsekunden jetzt allerdings schwieriger geworden ist, finde ich das auch teilweise angemessen!
Mit der ersten Version kann man dann halt auch keine Bestleistungen mehr uploaden!
Ich bitte um Verständnis!
MFG Blackbird8690
DelphiMarkus - Do 07.08.08 16:02
Super, das ist jetzt schon viel besser.
Leider bin ich nicht besonders gut, aber ich glaube das liegt auch einfach an der Übung für Leute die Ego-Shooter, und Spiele in denen schnelle Reaktionen wichtig sind, ist es bestimmt einfacher als für Leute, die (wie ich) ruhige Spiele wie Siedler oder CIV spielen. :mrgreen:
Ich lasse es lieber ruhig angehen. :)
GericasS - Do 07.08.08 16:26
Cooles Spiel gleich mal die Highscore geownd :-D
Xabitire - Mo 11.08.08 12:44
Hi Leute!
Wie vielleicht ein paar von euch mitbekommen hatten, konnte man übers Wochenende keine Highscores mehr uploaden oder abrufen! Das lag daran, dass der Rootserver, auf dem ich das Server-Programm laufen hab aufgrund eines Windowsupdates abgestürzt war!
Da bis dahin die geuploadeten Highscores nur zur Laufzeit gespeichert wurden, war natürlich wieder alles weg :(!
Daher bin ich jetzt hingegangen und hab einen Timer eingebaut, der alle paar Stunden den Highscore lokal speichert, sodass so etwas nicht mehr passieren kann!
Es tut mir jetzt furchtbar leid, für alle, die sich bis jetzt in den Highscore "erkämpft" hatten, aber ich hoffe, das Problem jetzt dauerhaft gelöst zu haben!
MFG Blackbird8690
baka0815 - Mo 11.08.08 15:45
Warum hängst du Serverseitig keine Datenbank dahinter, in die die Daten direkt gespeichert werden?
SQLite, HSQLDB oder eine andere embedded DB würde für die Zwecke ja vollkommen reichen.
Xabitire - Mo 11.08.08 20:19
Hab mich ehrlichgesagt noch nicht so intensiv mit Datenbanken beschäftigt! :roll:
Bis jetzt habem mir typisierte Dateien immer gereicht! Muss ich mal bei Gelegenheit nachholen.
MFG Blackbird8690
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!