Delphi-PRAXiS
Seite 14 von 17   « Erste     4121314 1516     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Spiel programmieren, Hilfe benötigt. (https://www.delphipraxis.net/157611-spiel-programmieren-hilfe-benoetigt.html)

DeddyH 1. Feb 2011 08:28

AW: Spiel programmieren, Hilfe benötigt.
 
Solange die Dateinamen mit der Zahl übereinstimmen hast Du Recht (zumindest, solange man bei TStringlist bleibt, was ich empfehlen würde, um nicht noch mehr Verwirrung zu stiften). Dafür muss man dann halt sorgen.

[edit] Also müsste das dann so funktionieren:
Delphi-Quellcode:
const AnzahlProBild = 4; //ursprünglich waren das mal 3, aber was solls
for i := -4 to 4 do
  if i <> 0 then
    for j := 1 to AnzahlProBild do
      DateinamenListe.Add(IntToStr(i));
Nun sollte jede Zahl von -4 bis 4 (exklusive der 0) 4 mal als String in der Liste stehen. Den String selbst kann man nun für den Dateinamen verwenden, mittels Rückumwandlung in die Zahl dann für den Tag des TImage.[/edit]

Connor Temple 1. Feb 2011 08:49

AW: Spiel programmieren, Hilfe benötigt.
 
Ich kann meine Gedanken momentan echt nicht mehr ordnen...
Ich weiß nicht, wo dieser Text jetzt in das Programm soll...

DeddyH 1. Feb 2011 08:59

AW: Spiel programmieren, Hilfe benötigt.
 
Mal alles zusammengefasst (aus dem Kopf, daher ungetestet):
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
const
  AnzahlProBild = 4;
  Dateipfad = 'H:\Informatik-Bilder\';
var
  ListeVonDateinamen:TStringlist;
  DateinameIndex:Integer;
  i, j:Integer;
begin
  for i := 1 to 24 do
    TImage(FindComponent('Image' + IntToStr(i))).Visible := true;
 
  Randomize; //das gehört ins FormCreate oder so, jedenfalls nur einmal im Programm aufrufen

  ListeVonDateinamen:=TStringList.Create;
  try
    //Stringliste füllen
    for i := -4 to 4 do
      if i <> 0 then
        for j := 1 to AnzahlProBild do
          ListeVonDateinamen.Add(IntToStr(i));
    //Images mit Bildern belegen    
    for i:=0 to ComponentCount-1 do
      if Components[i] is TImage then
        begin
          DateinameIndex:=Random(ListeVonDateinamen.count);
          TImage(Components[i]).Picture.LoadFromFile(Dateipfad + ListeVonDateinamen[DateinameIndex] + '.bmp');
          //Tag setzen
          TImage(Components[i]).Tag := StrToInt(ListeVonDateinamen[DateinameIndex]);
          ListeVonDateinamen.Delete(DateinameIndex);
        end;
  finally
    ListeVonDateinamen.Free;
  end;

end;

Deep-Sea 1. Feb 2011 09:03

AW: Spiel programmieren, Hilfe benötigt.
 
Zitat:

Zitat von DeddyH (Beitrag 1078720)
Delphi-Quellcode:
for i := 1 to 24 do
  TImage(FindComponent('Image' + IntToStr(i))).Visible := true;
[...]
Delphi-Quellcode:
for i:=0 to ComponentCount-1 do
  if Components[i] is TImage then

Wieso einmal mit FindComponent und einmal anders? Das könnte man doch auch gleich halten :-D

DeddyH 1. Feb 2011 09:05

AW: Spiel programmieren, Hilfe benötigt.
 
Ich hab' s doch nur kopiert ;)

Deep-Sea 1. Feb 2011 09:07

AW: Spiel programmieren, Hilfe benötigt.
 
Zitat:

Zitat von DeddyH (Beitrag 1078725)
Ich hab' s doch nur kopiert ;)

Ich weiß. War auch kein Vorwurf an dich. Aber eben allgemein als Tipp gemeint :-D

Connor Temple 1. Feb 2011 09:09

AW: Spiel programmieren, Hilfe benötigt.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich lad einfach mal mein Programm hoch, weil... ach, weil ich einfach keine Ahnung mehr hab -.-

DeddyH 1. Feb 2011 09:13

AW: Spiel programmieren, Hilfe benötigt.
 
Wenn Du die Bilder +1 bis +4 in 1 bis 4 umbenennst, sollte mein Code eigentlich funktionieren. Wenn Du Fragen dazu hast, frag einfach.

Connor Temple 1. Feb 2011 09:15

AW: Spiel programmieren, Hilfe benötigt.
 
Mein Lehrer meinte nämlich eben, ich soll die Bilder in +1 - +4 umbenennen -.-
Mannoman, ich bin verwirrt.

Hab ihn jetzt eingefügt, vielen Dank, aber was bringt mir der neue Code für Vorteile?

Sherlock 1. Feb 2011 09:59

AW: Spiel programmieren, Hilfe benötigt.
 
Ach? Immer noch am Bilder verstehen?

*Pfeif*
*Auf KISS-Prinzip verweis*

*Weitergeh*

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr.
Seite 14 von 17   « Erste     4121314 1516     Letzte »    

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