AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Game] 2.6D - Sandb(L)ox
Thema durchsuchen
Ansicht
Themen-Optionen

[Game] 2.6D - Sandb(L)ox

Ein Thema von Custom · begonnen am 7. Feb 2008 · letzter Beitrag vom 29. Apr 2008
Antwort Antwort
Seite 9 von 18   « Erste     789 1011     Letzte »    
Custom

Registriert seit: 18. Aug 2007
Ort: Mainz
203 Beiträge
 
Delphi 7 Enterprise
 
#1

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

  Alt 18. Feb 2008, 13:51
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!...
  Mit Zitat antworten Zitat
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#2

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

  Alt 18. Feb 2008, 14:02
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"...
Miniaturansicht angehängter Grafiken
alpha_909.jpg  
Florian Heft
  Mit Zitat antworten Zitat
Custom

Registriert seit: 18. Aug 2007
Ort: Mainz
203 Beiträge
 
Delphi 7 Enterprise
 
#3

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

  Alt 18. Feb 2008, 14:17
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...)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

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

  Alt 18. Feb 2008, 14:20
Du speicherst die Blöcke in einem dreidimensionalen Array?

Warum nicht einfach eine Liste?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Custom

Registriert seit: 18. Aug 2007
Ort: Mainz
203 Beiträge
 
Delphi 7 Enterprise
 
#5

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

  Alt 18. Feb 2008, 14:23
Zitat von 3_of_8:
Du speicherst die Blöcke in einem dreidimensionalen Array?
pschhht muss ja ned jeder wissen was ich manchmal für faxen mache

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...
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#6

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

  Alt 18. Feb 2008, 14:51
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;
Björn Zeutzheim
Codename: Performancepumpe
  Mit Zitat antworten Zitat
Custom

Registriert seit: 18. Aug 2007
Ort: Mainz
203 Beiträge
 
Delphi 7 Enterprise
 
#7

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

  Alt 18. Feb 2008, 14:57
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 ^^
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#8

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

  Alt 18. Feb 2008, 15:42
Du kannst doch auch Listen mit Klassen als Listenelement machen.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#9

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

  Alt 18. Feb 2008, 15:46
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);
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#10

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

  Alt 18. Feb 2008, 15:49
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>]"
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 9 von 18   « Erste     789 1011     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr.
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