Autor Beitrag
Xabitire
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: Mi 06.08.08 14:45 
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
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Xabitire am Do 07.08.08 13:09, insgesamt 2-mal bearbeitet
stefan.k4
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 06.08.08 15:16 
ist zwar simpel aber doch recht amüsant :)
DelphiMarkus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

OpenSuSE
Delphi 2009 Pro., Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 409

Windows Vista
Delphi 2005 Personal, Delphi 7
BeitragVerfasst: 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...

_________________
"Je mehr Käse, desto mehr Löcher; Je mehr Löcher, desto weniger Käse. Daraus folgt: Je mehr Käse desto weniger Käse!"
Xabitire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 323
Erhaltene Danke: 6

XP SP2; 7
D7; D2009
BeitragVerfasst: Mi 06.08.08 18:00 
ausblenden volle Höhe 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 ;)

_________________
Debuggers don't remove bugs, they only show them in slow-motion.
Xabitire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 303

OpenSuSE
Delphi 2009 Pro., Lazarus
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 540

Windows Vista Home Premium
D2010, VisualStudio2008
BeitragVerfasst: Do 07.08.08 16:26 
Cooles Spiel gleich mal die Highscore geownd :-D

_________________
Alexander N.
Neue Bewaffnung Amilo xi2428 T9300
Xabitire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: 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