Registriert seit: 7. Nov 2012
123 Beiträge
Delphi XE5 Architect
|
AW: RPG Spiel ''Book of Secrets''
12. Feb 2013, 14:54
Moin,
ich hab mal nen Delphi-Beispiel für dich:
Delphi-Quellcode:
unit Mainform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
Items: array [0..49] of String=(' Wurst',' Käse',' Brot',' Axt',' Joghurt',' Apfel',' Schinken',' 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'); //Alle Items die es gibt
var
Form1: TForm1;
Inventar: array [0..49] of Integer; // Die Items die im Inventar liegen (in Zahlen -> Bsp. Item 5 oder Item 27)
Anzahl: array [0..49] of Integer; // Anzahl der Items
Itemfield: array [0..49] of TLabel; // Labels in die die Daten übertragen werden
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
x,y: Integer;
zaehler: Integer;
begin
x:=0; // Left-Angabe für Labels
y:=0; // Top-Angabe für Labels
zaehler:=0; // Zaehler -> benötigt für Schleife
Randomize; // Weglassen
while zaehler<50 do
begin
// Der Teil ist unwichtig (ich muss irgenwelche Daten haben) -> Weglassen
Inventar[zaehler]:= random(49);
Anzahl[zaehler]:= random(100);
//Hier wird übertragen
Itemfield[zaehler]:= tlabel.Create(self);
with Itemfield[zaehler] do
begin
Parent:= Form1;
Visible:=true;
left:=x;
top:=y;
end;
Itemfield[zaehler].Caption:= items[(Inventar[zaehler])]+' - '+inttostr(anzahl[zaehler]);
//Variablen werden erhöht für Anordnung
x:= x+100;
if x=1000
then begin
y:= y+100;
x:=0;
end;
zaehler:=zaehler+1;
end;
end;
end.
Das Ganze entscheidet per Zufall was du im Inventar hast und gibt es dir mit Hilfe von Labels aus. Viel Spaß damit .
Gruß Puke
Gruß Puke
|