AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Spiel programmieren, Hilfe benötigt.
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel programmieren, Hilfe benötigt.

Ein Thema von Connor Temple · begonnen am 18. Jan 2011 · letzter Beitrag vom 5. Apr 2011
Antwort Antwort
Seite 13 von 17   « Erste     3111213 1415     Letzte »    
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#121

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 08:48
klar kannst du das nicht vor dem Programmstart wissen, aber während der Ausführung. Du mußt auch ein wenig Quelltext schreiben, damit der Computer weiß, was er tun soll.

z.B.

1. Zufallszahl ermitteln
2. z.B. 5 ermittelt
3. Bild Nr. 5 laden
4. in Bild.Tag die 5 eintragen

...jetzt hat das Bild eine eindeutige "Eigenschaft". Der Wert in Tag ist in jedem Bild dann eindeutig.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#122

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 08:50
Eben, und dazu muss man ja nur wissen, welche Zahl sich hinter der jeweiligen Grafik verbirgt. Dazu fallen mir mehrere Möglichkeiten ein, von elegant und OOP-konform bis leicht verständlich, aber fehleranfällig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#123

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 08:59
Meinst du die ListevonDateinamen?
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  ListeVonDateinamen:TStringlist;
  DateinameIndex:Integer;
  i:Integer;
begin
   begin
   for i := 1 to 24 do
  TImage(FindComponent('Image' + IntToStr(i))).Visible := true;
   end;
  Randomize;

  ListeVonDateinamen:=TStringList.Create;
  try
    ListeVonDateinamen.add('H:\Informatik-Bilder\+1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\+4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-1.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-2.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-3.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-4.bmp');
    ListeVonDateinamen.add('H:\Informatik-Bilder\-4.bmp');
    for i:=0 to Form1.ComponentCount-1 do
      if Components[i] is TImage then
      begin
        DateinameIndex:=Random(ListeVonDateinamen.count);
        TImage(Components[i]).Picture.LoadFromFile(ListeVonDateinamen[DateinameIndex]);
        ListeVonDateinamen.Delete(DateinameIndex);
      end;
      finally
   ListeVonDateinamen.Free;
  end;

end;
procedure TForm1.Label19Click(Sender: TObject);
begin
Image16.Visible := False;
end;

procedure TForm1.Label18Click(Sender: TObject);
begin
Image15.Visible := False;
end;

procedure TForm1.Label20Click(Sender: TObject);
begin
Image17.Visible := False;
end;

procedure TForm1.Label3Click(Sender: TObject);
begin
Image1.Visible := False;
end;

procedure TForm1.Label4Click(Sender: TObject);
begin
Image2.Visible := False;
end;

procedure TForm1.Label5Click(Sender: TObject);
begin
Image3.Visible := False;
end;

procedure TForm1.Label6Click(Sender: TObject);
begin
Image4.Visible := False;
end;

procedure TForm1.Label7Click(Sender: TObject);
begin
Image5.Visible := False;
end;

procedure TForm1.Label8Click(Sender: TObject);
begin
Image6.Visible := False;
end;

procedure TForm1.Label9Click(Sender: TObject);
begin
Image7.Visible := False;
end;

procedure TForm1.Label10Click(Sender: TObject);
begin
Image8.Visible := False;
end;

procedure TForm1.Label11Click(Sender: TObject);
begin
Image9.Visible := False;
end;

procedure TForm1.Label12Click(Sender: TObject);
begin
Image10.Visible := False;
end;

procedure TForm1.Label13Click(Sender: TObject);
begin
Image11.Visible := False;
end;

procedure TForm1.Label14Click(Sender: TObject);
begin
Image12.Visible := False;
end;

procedure TForm1.Label16Click(Sender: TObject);
begin
Image13.Visible := False;
end;

procedure TForm1.Label17Click(Sender: TObject);
begin
Image14.Visible := False;
end;

procedure TForm1.Label21Click(Sender: TObject);
begin
Image18.Visible := False;
end;

procedure TForm1.Label22Click(Sender: TObject);
begin
Image19.Visible := False;
end;

procedure TForm1.Label23Click(Sender: TObject);
begin
Image20.Visible := False;
end;

procedure TForm1.Label24Click(Sender: TObject);
begin
Image21.Visible := False;
end;

procedure TForm1.Label25Click(Sender: TObject);
begin
Image22.Visible := False;
end;

procedure TForm1.Label26Click(Sender: TObject);
begin
Image23.Visible := False;
end;

procedure TForm1.Label27Click(Sender: TObject);
begin
Image24.Visible := False;
end;


end.

Das ist mein kompletter momentaner Text, nochmal etwas überarbeitet...

Gibts hier eigentlich ne Spoiler-Funktion, dass die Antwort nicht so lang wird?

klar kannst du das nicht vor dem Programmstart wissen, aber während der Ausführung. Du mußt auch ein wenig Quelltext schreiben, damit der Computer weiß, was er tun soll.

z.B.

1. Zufallszahl ermitteln
2. z.B. 5 ermittelt
3. Bild Nr. 5 laden
4. in Bild.Tag die 5 eintragen

...jetzt hat das Bild eine eindeutige "Eigenschaft". Der Wert in Tag ist in jedem Bild dann eindeutig.
Du meinst, ich soll die Bilder vor Programmstart den Zahlen zuweisen und dann die Zahlen mit den Bildern verteilen?
Warum bin ich da nicht selbst drauf gekommen?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#124

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:06
...*seufz*...

Delphi-Quellcode:
if Components[i] is TImage then
  begin
    DateinameIndex:=Random(ListeVonDateinamen.count);
    TImage(Components[i]).Picture.LoadFromFile(ListeVonDateinamen[DateinameIndex]);
    TImage(Components[i]).Tag:= DateinameIndex;
    ListeVonDateinamen.Delete(DateinameIndex);
  end;
fertsch...

Quatsch. Eben hab ich gesehen, daß du keine fortlaufenden Bilder hast. Damit kannst du den Index nicht verwenden. Du mußt dir was einfallen lassen, den "Wert" des Bildes zu ermitteln.

Geändert von haentschman ( 1. Feb 2011 um 09:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#125

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:09
Da Befüllen der Stringliste kannst Du übrigens mit 2 Schleifen eleganter und weniger fehleranfällig machen.

@haentschman: mit dem Index kommst Du so aber nicht zum Ziel.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#126

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:09
... sry, schwachsinniges Post von mir ... ich sollte erst denken, dann schreiben *gg*
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#127

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:22
Gibt es unter Delphi 3 bereits TStrings.AddObject?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Connor Temple
Connor Temple

Registriert seit: 16. Nov 2010
89 Beiträge
 
#128

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:24
Ich weiß nicht, wo ich das finde, momentan bin ich sowas von verwirrt, vom Lehrer und von allem.
Ich bin echt kurz vorm Aufgeben...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#129

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:26
Schau doch einfach in die mitgelieferte Hilfe. Ggf. musst Du allerdings erst ein MS-Tool installieren, damit *.hlp-Dateien auch angezeigt werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#130

AW: Spiel programmieren, Hilfe benötigt.

  Alt 1. Feb 2011, 09:26
Gibt es unter Delphi 3 bereits TStrings.AddObject?
Und selbst wenn nicht: Es reicht, wenn man die Zahlen in der Liste speichert anstatt die kompletten Dateinamen. Dann kann man diese direkt dem Tag zuweisen und den Dateinamen kann man sich zusammensetzen.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 13 von 17   « Erste     3111213 1415     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 02:54 Uhr.
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