AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mein erstes (spiel) projekt
Thema durchsuchen
Ansicht
Themen-Optionen

Mein erstes (spiel) projekt

Ein Thema von Mr.Funky · begonnen am 27. Mär 2006 · letzter Beitrag vom 29. Mär 2006
Antwort Antwort
Mr.Funky

Registriert seit: 20. Mär 2006
Ort: Eberswalde
3 Beiträge
 
Delphi 6 Personal
 
#1

Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 09:46
hallo zusammen...
ich muss für die schule ein kleines spiel programieren und habe nun ein paar probleme und erhoffe mir in diesem forum ein paar antworten.
ich will so eine art tetris erstellen wo smilies von oben nach unten fallen und ich sie unten mit einem korb(balken) auffangen kann.ich habe nun viele kleine smilies an den oberen bildrand gestellt und visible auf false gesetzt. nun meine frage: wie kann ich nun zufällig eines dieser images auswählen und es in bewegung setzten(ich brauche nur das auswählen die bewegungsprozedure habe ich schon) ,dass müsste aber dann irgenwie in einer schleife passieren, bis keine smilies mehr da sind??? so hat wer vielleicht nen paar ideen für mich???? (arbeite mit delphi6)
danke im voraus



ciao euer Mr.Funky
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

Registriert seit: 21. Dez 2005
146 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 11:06
Zitat von Mr.Funky:
ich habe nun viele kleine smilies an den oberen bildrand gestellt und visible auf false gesetzt. nun meine frage: wie kann ich nun zufällig eines dieser images auswählen
Ich nehme an, du hast das mit einzelnen TImages gemacht? Ich würde eher zu einer TImageList tendieren. Da kannst du ja dann zufällig einen Index auswählen. Ausserdem würde ich aus der TImageList als einzelne Grafiken rauskopieren und diese separat behandeln.
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 11:38
Ich würde die Dinger auch erst zur Laufzeit erzeugen da biste dann flexlibler als mit X unsichtbaren oben am Rand.
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
XeRo

Registriert seit: 23. Okt 2003
Ort: Warth
461 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 12:01
Also das was du meinst würd ich wenn überhaut mit einem Random machen. Einfach x:=Random(AnzahlderSmileys); Und dann
case x of
1: asd;
2: asd;
3: asd;

Aber ich würds auch zur Laufzeit machen...Frisst auch enorm viel Resource wennstas mit TImages machst...
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 12:02
Nimm eine TObjectList!

Du kannst hier die Anzahl der Smilies durch Count festlegen und einzelne TImage-Komponenten zur Laufzeit erzeugen und zuweisen.

Mit Random(Count) wählst du dann zufällig eins dieser Smilies aus
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Mr.Funky

Registriert seit: 20. Mär 2006
Ort: Eberswalde
3 Beiträge
 
Delphi 6 Personal
 
#6

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 13:45
danke erstmal für die antworten ich probier gleich mal einiges aus !!
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Mein erstes (spiel) projekt

  Alt 27. Mär 2006, 14:46
TImages sind langsam.

Hole dir doch ein paar Bitmaps (deine Simlies) in den Speicher und mache sie dann mit BitBlt(form1.Canvas.Handle,0,0, bild.Width, bild.Height, bild.canvas.Handle,0 ,0,srccopy); auf den Bildschirm.
Zeichne bei onpaint neu und kannst ja mit einem Timer o.ä. deine Smilies ein stück weiter nach unten wandern lassen.
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Mr.Funky

Registriert seit: 20. Mär 2006
Ort: Eberswalde
3 Beiträge
 
Delphi 6 Personal
 
#8

Re: Mein erstes (spiel) projekt

  Alt 29. Mär 2006, 15:26
hi noch ein problem:
ich bringe meinen (fange)button folgender maßen in bewegung:

Delphi-Quellcode:
if getasynckeystate(vk_left) < 0 then
        Button1.Left := Button1.Left - 10 ;
    if getasynckeystate(vk_right) < 0 then
        Button1.Left := Button1.Left + 10;
wie mache ich es, dass er an den kanten der oberfläche nicht weiter geht ?? ich finde keine richtige löung, da meine ideen nur so fuktionieren, dass ich den button nicht mehr zurück bewegen kann ??

für hilfe bedanke ich mich im voraus,




ciao euer mrfunky
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#9

Re: Mein erstes (spiel) projekt

  Alt 29. Mär 2006, 15:40
So müsste es gehen:
Delphi-Quellcode:
if getasynckeystate(vk_left) < 0 then
begin
  if Button.Left > 10 then Button1.Left := Button1.Left - 10
  else Button.Left := 0;
end;
if getasynckeystate(vk_right) < 0 then
begin
  if Button.Left + Button.Width < Width - 10 then Button1.Left := Button1.Left + 10
  else Button.Left := Width;
end;

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:36 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