Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Game] 2.6D - Sandb(L)ox (https://www.delphipraxis.net/108153-%5Bgame%5D-2-6d-sandb-l-ox.html)

Custom 18. Feb 2008 13:51

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von himitsu
wenn mehrere Spieler eingeloggt sind, dann bauen alle Figuren einen Würfel, obwohl nur ich das machen wollte.

du hast das spiel zwei mal auf einem PC gestartet richtig? wenn man das tut werden die tasten die man drückt auf beide fenster angewendet -> du baust von beiden fenstern aus einen würfel. Ich muss also nur das fenster mit dem focus beauftragen befehle auszuführen. Versuch es mal von einem zweiten PC aus. (oder frage einen freund wenn du nur einen pc hast) Aber das steht im moment ganz oben auf der to-do liste direkt nach dem flieger-bug ^^ (neues update ist noch heute zu erwarten!)

*edit: moment das kann garnicht sein... es wird schon geguckt ob der focus auf dem fenster ist!...

Florian H 18. Feb 2008 14:02

Re: [Game] 2.6D - Sandb(L)ox
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hm, ich hatte ein paar Grafikfehler, als ich ganz im Eck (da wo schon ein Männlein steht) einen hohen Turm baue (siehe Anhang) .. d.h. der oberste Klotz ist nicht sichtbar und in der Mitte irgendwo hat ein Block "Löcher"...

Custom 18. Feb 2008 14:17

Re: [Game] 2.6D - Sandb(L)ox
 
das passiert wenn du zu hoch baust... ich muss gucken was ich machen kann damit das nichtmehr passiert weil ich nicht "erlauben" kann dass man unendlich hoch baut da sonst zuviel arbeitspeicher verbraucht wird (obwohl ich eigendlich eine idee hätte den code umzuschreiben, sodass das ganze spiel weniger verbruacht und die blöcke in alle richtungen unbegrenzt sind...)

3_of_8 18. Feb 2008 14:20

Re: [Game] 2.6D - Sandb(L)ox
 
Du speicherst die Blöcke in einem dreidimensionalen Array? :shock:

Warum nicht einfach eine Liste?

Custom 18. Feb 2008 14:23

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von 3_of_8
Du speicherst die Blöcke in einem dreidimensionalen Array? :shock:

pschhht muss ja ned jeder wissen was ich manchmal für faxen mache :-D

Zitat:

Zitat von 3_of_8
Warum nicht einfach eine Liste?

hab ich vor aber dafür muss ich den kompletten teil mit der kollisionsabfrage umändern.
und mit einer solchen liste habe ich bis jetzt noch nicht gearbeitet, da ich bis jetzt nur "TSRings" oder "TStringList" benutzt habe...

olee 18. Feb 2008 14:51

Re: [Game] 2.6D - Sandb(L)ox
 
Also ich benutze die ständig.
Ist doch einfach!

Delphi-Quellcode:
for i := 0 to 10 do
begin
  VarX := TX.create(...);
  VarX.X := 100;
  Liste.add(VarX);
end;

Custom 18. Feb 2008 14:57

Re: [Game] 2.6D - Sandb(L)ox
 
was für eine klasse ist "liste" es muss ja eine liste sein in der ich positionX,positionY,positionZ,(evtl noch einige andere daten wie textur farbe etc) speichern kann... natürlich geht das auch als string den man dann splittet aber die variante mag ich irgendwie nicht ^^

hitzi 18. Feb 2008 15:42

Re: [Game] 2.6D - Sandb(L)ox
 
Du kannst doch auch Listen mit Klassen als Listenelement machen.

igel457 18. Feb 2008 15:46

Re: [Game] 2.6D - Sandb(L)ox
 
Records sind natürlich auch möglich:

Delphi-Quellcode:
type TBlock = record
  posx, posy, posz : integer;
end;
PBlock = ^TBlock;

var
  lst : TList;
  p : PBlock;

Hinzufügen:
lst := TList.Create;
New(p);
p^.posx := 0;
lst.Add(p);

Auslesen:
p := lst.Items[i];
xpos := p^.posx;

Löschen:
p := lst.Items[i];
Dispose(p);
Delete(i);

xZise 18. Feb 2008 15:49

Re: [Game] 2.6D - Sandb(L)ox
 
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
TBlock = class(TObject)
private
  FX, FY : Integer;
public
  property X : Integer read FX;
  property Y : Integer read FY;

  constructor Create(const AX, AY : Integer);
end;
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
Delphi-Quellcode:
FList : TObjectList;
[...]
FList := TObjectList.Create;
[...]
block := TBlock.Create([...]);
[...]
FList.Add(block);
[...]
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
Delphi-Quellcode:
TBlockList = class (TObject)
private
  FList : TObjectList;
  function GetBlock(AIndex : Integer) : TBlock;
  procedure SetBlock(AIndex : Integer; Value : TBlock);
public
  procedure Add(ABlock : TBlock);
  procedure Delete(ABlock : TBlock);

  property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default;

  constructor Create;
  destructor Destroy;
end;
Und fertig ;)

Naja jedenfalls die Definition der Klassen.
Diese kannst du genauso wie eine TObjectList-Liste verwenden.

MfG
xZise

PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]" ;)

turboPASCAL 18. Feb 2008 16:05

Re: [Game] 2.6D - Sandb(L)ox
 
Könn't ich mal einen Screenshoot vom Progrämmchen bekommen, bitte-dankeschön?

Custom 18. Feb 2008 16:52

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von turboPASCAL
Könn't ich mal einen Screenshoot vom Progrämmchen bekommen, bitte-dankeschön?

GOTCHA!! ^^


also ich hab im moment keine zeit~erstmal hausaufgaben zu machen und dann das mit der liste ausprobieren... vielleicht ist jemand anderes gerade mal so nett?

Custom 18. Feb 2008 17:17

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von xZise
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
TBlock = class(TObject)
private
  FX, FY : Integer;
public
  property X : Integer read FX;
  property Y : Integer read FY;

  constructor Create(const AX, AY : Integer);
end;
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
Delphi-Quellcode:
FList : TObjectList;
[...]
FList := TObjectList.Create;
[...]
block := TBlock.Create([...]);
[...]
FList.Add(block);
[...]
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
Delphi-Quellcode:
TBlockList = class (TObject)
private
  FList : TObjectList;
  function GetBlock(AIndex : Integer) : TBlock;
  procedure SetBlock(AIndex : Integer; Value : TBlock);
public
  procedure Add(ABlock : TBlock);
  procedure Delete(ABlock : TBlock);

  property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default;

  constructor Create;
  destructor Destroy;
end;
Und fertig ;)

Naja jedenfalls die Definition der Klassen.
Diese kannst du genauso wie eine TObjectList-Liste verwenden.

MfG
xZise

PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]" ;)

[Fehler] Unit1.pas(58): Undefinierter Bezeichner: 'TObjectList'
[Fehler] Unit1.pas(59): Undefinierter Bezeichner: 'TBlock'
[Warnung] Unit1.pas(68): Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject'
[Fataler Fehler] Unit1.pas(205): Verwendete Unit 'Physik.pas' kann nicht compiliert werden

olee 18. Feb 2008 17:23

Re: [Game] 2.6D - Sandb(L)ox
 
Du musst mindestens die Deklaration des TBlock VOR der Deklaration der Liste bringen, da diese das Objekt TBlock sonst nicht kennt!

Edit: Ach ja und du solltest kucken, ob für TObjectList nicht eine Unit eingebunden werden muss!

Custom 18. Feb 2008 17:29

Re: [Game] 2.6D - Sandb(L)ox
 
was ist mit object list? scheint es auch nicht zu geben...

Namenloser 18. Feb 2008 17:31

Re: [Game] 2.6D - Sandb(L)ox
 
TObjectlist ist in der Unit contnrs deklariert.
Sieht übrigens sehr interessant aus, was du da machst! (mehr kann ich dazu jetzt noch nicht sagen :stupid:)

olee 18. Feb 2008 17:35

Re: [Game] 2.6D - Sandb(L)ox
 
Such mal in der Delphi Hilfe nach TList und Co.

3_of_8 18. Feb 2008 18:44

Re: [Game] 2.6D - Sandb(L)ox
 
Und bei Destroy noch ein override; dahinter. ;)

xZise 18. Feb 2008 20:09

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von 3_of_8
Und bei Destroy noch ein override; dahinter. ;)

Also ehrlich ^^ Das da oben war nur als Beispiel zum Angucken gedacht und nicht zum 1 zu 1 kopieren.
Würde man verstehen, was ich da geschrieben habe, wüsste man, was man gegen die Fehler machen müsste ^^
Bezüglich der TObjectList: Einfach markieren (oder mit der Maus "reinklicken"), so dass der Cursor im Wort ist und dann drücke mal "F1" (also die Taste) und oh wunder: Die Delphi Hilfe wird dir sagen, dass du "Contrs" hinzufügen musst.

Übrigens hat TObjectList den Vorteil gegenüber der TList bei Objekten, dass es weiß "wovon" es redet.
Die TList könnte auch eine Integer-List sein ;)
So kann die TObjectList automatisch die Objekte freigeben, sobald es selber freigegebn wird (Standard), oder Objekte freigeben die aus der Liste gelöscht werden.

MfG
xZise

3_of_8 18. Feb 2008 20:12

Re: [Game] 2.6D - Sandb(L)ox
 
Ich bezog mich auf die Fehlermeldungs-Liste von custom. ;)

xZise 18. Feb 2008 20:26

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von 3_of_8
Ich bezog mich auf die Fehlermeldungs-Liste von custom. ;)

Hab ich auch nicht bestritten ;)

himitsu 19. Feb 2008 08:19

Re: [Game] 2.6D - Sandb(L)ox
 
Zitat:

Zitat von Custom
du hast das spiel zwei mal auf einem PC gestartet richtig? wenn man das tut werden die tasten die man drückt auf beide fenster angewendet

jupp, hab ich. :oops:


Es wird nur der Würfel überall gebaut, aber z.B. die WASD-Steuerung beschränkt sich nur auf das aktive Fenster.


wenn ich würfel baue ... ganz viele übereinander ... dann gibt es ja eine Genze (Höhe), bis zu der neue Würfel entstehen ... allerdings wird die Figur immer weiter hochgesetzt, selbs wenn kein Würfel mehr entsteht und dort bleibt die dann auch schweben.

Custom 19. Feb 2008 08:24

Re: [Game] 2.6D - Sandb(L)ox
 
das ist ein fehler von array... ich schreibe den ganzen code gerade um so dass die blöcke in einer liste gespeichert sind, das ganze macht allerding zimlich viele probleme... dass auch das "creatool" auf das fenster beschränkt ist muss ich noch einbauen ... danbke für den hinweis!

Custom 19. Feb 2008 10:14

Re: [Game] 2.6D - Sandb(L)ox
 
so tests mit der liste sind fertig und was dabei rauskam icht nichts was vorteile brachte... bei ca. 5-10 block fängt das spiel an extremst zu ruckenln, ab bei etwas mehr bleibt das ganze stehen. (aber die musik läuft weiter)

*edit: gut das hab ich hinbekommen ^^ bald kommt ein neues update!

durch dieses werden dann auch farbige blöcke möglich und man kann unendlich in jede richtung bauen

Custom 19. Feb 2008 12:59

News
 
Neue version ist am ersten Post angehängt.

Larsi 19. Feb 2008 19:00

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Also irgendwie steht die zweite Person bei mir zimelich weit unten also unter den blöcken!

xZise 19. Feb 2008 19:07

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Is ja lustig:
Zitat:

[Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Ich wusste gar nicht das heute morgen ist xD

MfG
xZise

Namenloser 19. Feb 2008 19:15

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
[ot]
Boah, jetzt häng dein Projekt bitte mal im Forum an,
und nutz nicht diesen Rapidshare-
Scheiß!

Ich hab echt keine Lust mehr 2 Minuten (ich musst nämlich zweimal ne Minute warten, weil das Captcha uneindeutig war) lang zu warten, bis der Download erstmal anfängt, und dann noch mal 5 Minuten warten Download endlich fertig ist, nur um DEIN Programm zu testen :wall:
[/ot]

Sry, das musst jetzt mal sein

xZise 19. Feb 2008 19:18

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von NamenLozer
[ot]
Boah, jetzt häng dein Projekt bitte mal im Forum an,
und nutz nicht diesen Rapidshare-
Scheiß!

Ich hab echt keine Lust mehr 2 Minuten (ich musst nämlich zweimal ne Minute warten, weil das Captcha uneindeutig war) lang zu warten, bis der Download erstmal anfängt, und dann noch mal 5 Minuten warten Download endlich fertig ist, nur um DEIN Programm zu testen :wall:
[/ot]

Sry, das musst jetzt mal sein

Nicht wenn man 27 MB Musik mitkopiert.
Ich habe mal mit 7z auf Kompressionsrate Ultra alles bis auf die Musik von 5 auf 1,5 MB runterkomprimiert.
Also mit der Musik lässt sichs nicht so gut komprimieren... jedenfalls mit 7z nicht.

MfG
xZise

olee 19. Feb 2008 19:31

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
OO ganz mieser BUG!

Drückt mal "c" im Spiel!

Aber ein Lob gibt es zu der neuen Version:

-Sie läuft etwas schneller !

turboPASCAL 19. Feb 2008 19:34

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von xZise
Nicht wenn man 27 MB Musik mitkopiert.
Ich habe mal mit 7z auf Kompressionsrate Ultra alles bis auf die Musik von 5 auf 1,5 MB runterkomprimiert. ...

Naja, die Mucke muss zum testen nicht sein. Zumal das Prg "nur" 1,5 MB gross ist.
Das ist warscheinlich auch der Grund warum ich es noch nicht geladen hab.

Zitat:

Zitat von xZise
... Also mit der Musik lässt sichs nicht so gut komprimieren... jedenfalls mit 7z nicht.

MfG
xZise

Wenn es sich, wie ich annehme, um mp3's handelt wird es ja nun auch schlecht komprimieren lassen
da es schon komprimiert ist. :stupid:

Tipp: Chiptunes. :mrgreen:

blackdevile_kf 19. Feb 2008 19:49

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
joa plz das nächste mal im forum anhängen, hab die datei runtergeladen und war vol gespannt auf die neue version, aber nu, crc fehler in der zip datei nochmal laden geht grad net, muss ja ne halbe stunde warten *grml*

Also wird heute nix mehr draus, aber morgen evtl.

chris

Custom 19. Feb 2008 20:32

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von blackdevile_kf
joa plz das nächste mal im forum anhängen...

Zitat:

Zitat von NamenLozer
[ot]
Boah, jetzt häng dein Projekt bitte mal im Forum an,
und nutz nicht diesen Rapidshare-
Scheiß!

Ich hab echt keine Lust mehr 2 Minuten (ich musst nämlich zweimal ne Minute warten, weil das Captcha uneindeutig war) lang zu warten, bis der Download erstmal anfängt, und dann noch mal 5 Minuten warten Download endlich fertig ist, nur um DEIN Programm zu testen :wall:
[/ot]

Sry, das musst jetzt mal sein

es zwingt dich ja keiner dazu... die datei ist wie schon erwähnt zu groß um im forum angehängt zu werden.

Zitat:

Zitat von xZise
Is ja lustig:
Zitat:

[Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
Ich wusste gar nicht das heute morgen ist xD

das ist mir heute aufm weg ins training aufgefallen, dass ich da mist gemacht hab ^^ peinlich...

Zitat:

Zitat von olee
OO ganz mieser BUG!

Drückt mal "c" im Spiel!

ist kein bug. C löscht alle blöcke. ausnahmslos

xZise 19. Feb 2008 20:48

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von olee
OO ganz mieser BUG!

Drückt mal "c" im Spiel![...]

Guckst du Anleitung ;)

Zitat:

Zitat von Custom
Zitat:

Zitat von blackdevile_kf
joa plz das nächste mal im forum anhängen...

Zitat:

Zitat von NamenLozer
[ot]
Boah, jetzt häng dein Projekt bitte mal im Forum an,
und nutz nicht diesen Rapidshare-
Scheiß!

Ich hab echt keine Lust mehr 2 Minuten (ich musst nämlich zweimal ne Minute warten, weil das Captcha uneindeutig war) lang zu warten, bis der Download erstmal anfängt, und dann noch mal 5 Minuten warten Download endlich fertig ist, nur um DEIN Programm zu testen :wall:
[/ot]

Sry, das musst jetzt mal sein

es zwingt dich ja keiner dazu... die datei ist wie schon erwähnt zu groß um im forum angehängt zu werden.[...]

Ist den die Musik umbedingt notwendig... Du kannst ja das reine Exe package zur verfügung stellen, also alles ohne Musik...

MfG
xZise

Custom 19. Feb 2008 20:52

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
spätestens in der beta wird gescheite uploads + packagaes + updates geben ^^

3_of_8 19. Feb 2008 21:05

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

es zwingt dich ja keiner dazu...
Vielleicht solltest du deine Einstellung gegenüber deinen Usern überdenken. Sicher, NamenLozer hat etwas... heftig reagiert, aber trotzdem solltest du Sätze wie den da oben lieber lassen. ;)

Namenloser 19. Feb 2008 21:17

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von Custom
es zwingt dich ja keiner dazu... die datei ist wie schon erwähnt zu groß um im forum angehängt zu werden.

Es gibt aber eine Menge besserer Alternativen zu Rapidshare, die nicht so lange Wartezeiten haben. Z.B. sendspace.com.
Ich hab vielleicht etwas "überreagiert", aber ich finde es ärgerlich, wenn ich erst so lange warten muss, bis ich ein Programm testen kann. Ich hab's mir ja trotzdem geladen, aber es gibt sicher einige User, die das vom Download abhält. Und das ist ja auch nicht in deinem Interesse :zwinker:

olee 19. Feb 2008 21:37

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Also ich brauche da insgesamt nur so 2-3 min und das ist meiner Meinung nach nicht zu viel

Florian H 19. Feb 2008 21:46

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Nach einem Reconnect (habe eben schon was anderes bei RS runtergeladen) und weiteren 58Sek. Wartezeit durfte ichs ja auch wieder downloaden - und habs dann gleich wieder bei mir hochgeladen. Wer also wieder auf RS verzichten möchte: http://wie-gern-hast-du-mich.de/host/2.6D_Alpha_2.rar


Irgendwie kann man vom Rand des Spielfeldes runterfallen, das ist irgendwie doof.. weil da fällt und fällt man dann halt ewig.
Außerdem find ichs nach wie vor beim bauen etwas doof dass wenn man an der Seite von nem Klotz hängt und dann ganz schnell mehr Blöcle seitlich dranbaut, irgendwann einfach runterfällt.. dann komm ich ja nur wieder hoch wenn ich mir nochn Turm baue...

xZise 19. Feb 2008 22:10

Re: [Game] 2.6D - Sandb(L)ox [Update 20.02.08 13:54]
 
Zitat:

Zitat von Florian H
Nach einem Reconnect (habe eben schon was anderes bei RS runtergeladen) und weiteren 58Sek. Wartezeit durfte ichs ja auch wieder downloaden - und habs dann gleich wieder bei mir hochgeladen. Wer also wieder auf RS verzichten möchte: http://wie-gern-hast-du-mich.de/host/2.6D_Alpha_2.rar

Sogar mit vernünftigen 1,2 MB/s Upstream :)

MfG
xZise


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz