Freak-Forum - PASCAL DEVELOPMENT THREAD

Hacker Game

Re: Hacker Game

[SOLL "#d00000" SEIN]isch weiß ja nich, aber du mutierst zu einem wiesel, wie?

LESEN HILFT!!!

das man in dem spiel zu anfang nur modem hat haben wir schon geklärt und auch, dass man immer bessere hardware/netzwerkverbindung bekommt und somit das immer schneller abläuft.

isch bin aber der meinung, dass trotz modem das am anfang etwas schneller gehen könnte, weil es nervt immer so ewig zu warten (im spiel meine isch jetz NUR)[/SOLL "#d00000" SEIN]

Re: Hacker Game

hm..irgendwie fehlt da was in meinem post (der letzt absatz is wech)

 ich meinte damit, dass es ein Modem Anschluss bleibt. also erst 28k dann 56 k 

Re: Hacker Game

nein, das Spiel beginnt mir 56k, und endet mit nem Gigabit-LAN...

die CPU-Leistung endet mit nem vierfachen AMD Opteron 850....

Re: Hacker Game

kannst du mir nun mal bitte zeigen, wie das mit den sounds und dem saven funzt?

Re: Hacker Game

mach ich bald.

Re: Hacker Game

und wann? ^^

Re: Hacker Game

wenns ihm besser geht

Re: Hacker Game

wasn das fürn blau? lol!

aber eben JETZT, wo er krank is, hat er doch genug zeit ^^

Re: Hacker Game

JETZT mach ich das ja auch...

also... der Sound:

sndPlaySound(PChar('C:\Datei.wav'), SND_ASYNC);

Zusätzlich muss die Unit mmsystem eingebunden werden.

SND_SYNC = Während die Datei abgespielt wird, steht die Anwendung
SND_ASYNC = Die Datei wird unabhängig vom Programm abgespielt.
SND_LOOP = Immer wieder und immer wieder

Diese Procedure sorgt für Ruhe: sndPlaySound(nil,0);

da du bei mir aber keine Wave-Dateien siehst, kannst du dir vorstellen, etwas anders mache - ich binde die Wave-Dateien direkt in die EXE mit ein. Wie das geht erklär ich vielleicht später.


und das Saven:

das mach ich meistens mit sog. Records:

Records abzuspeichern ist ein bischen komplizierter. Da muss man mit typisierten Dateien arbeiten. Das Problem bei solchen typisierte Dateien ist, dass man damit keine unbegrenzten Strings speichern kann. Man muss diese Strings begrenzen, z.B. Vorname: String[20]

In unserem Beispiel definieren wir erst mal einen Record:

type
TDatensatz = record
Name: String[20];
Vorname: String[15];
Telefon: String[15];
end;


Und jetzt deklarieren wir eine globale Variable vom Typ TDatensatz:

var
Form1: TForm1;
Datensatz: TDatensatz;

Nun kommt die Speichern Procedure an die Reihe:

procedure SaveGame;
var
F: File of TDatensatz;
begin
try
AssignFile(F,'C:\Variable.dat');
ReWrite(F);
Write(F,Datensatz);
finally
CloseFile(F);
end;
end;


Und zum Schluss die Procedure, um die Datei wieder in die Variable zu laden:

procedure LoadGame;
var
F: File of TDatensatz;
begin
try
AssignFile(F,'C:\Variable.dat');
Reset(F);
Read(F,Datensatz);
finally
CloseFile(F);
end;
end;


wenn man den Record so anpasst, wie man ihn braucht, kann man damit ganz gut Savegames programmieren: hier ist meiner für das LRN:

TUser = record
LRNV: String[15]; // Version of the SW that created this savegame
Name: String[20]; // Players name
CashInv: Int64; // Invested money
CMD: Int64; // Typed commands
Rank: 0..15; // Player rank
Rep: -100..100; // Bad or good hacker?
MID: Integer; // Missions done
MIV: Integer; // Missions succeeded
CPU: Integer; // CPU type & speed
BLK: Integer; // Blocking hardware
NET: Integer; // Kind of network access & network speed
SWP: Integer; // Software package
Cash: Int64; // Cashflow of player
end;

ich hab nur die Reihenfolge geändert... ansonsten könnten ihr sehr effektiv ein Programm programmieren, das eure LRN-Savegames hochcheatet wundert euch ned über die englischen comments... ich find das sieht geiles aus als wenn man das deutsch schreibt

damit das mit dem Speichern funktioniert, müsst ihr dem "Datensatz" erst die Werte zuweisen.

Re: Hacker Game

Zitat: ~[GøG
~]
wasn das fürn blau? lol!

aber eben JETZT, wo er krank is, hat er doch genug zeit ^^verdammt, das war darkblue, das schaut ja wirklich scheisse aus