Autor Beitrag
mr_illegal
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 17.12.07 15:01 
So muss für Informatik ein Projekt machen und hab jetz erst einmal das problem, das mein delphi nit richtigt funktioniert...... Vorallem funktioniert "Run(F9)" nicht......... egla ich hab jetz einige fragen.........



Spielidee.... Moorhun is gaaaaaaaaaaanz simpel!
also es erscheint ein bild welches man wegklicken muss, wenn es weggeklickt wurde erscheint es an einer anderen position. Wenn man es nicht schaft es wegzuklicken erscheint es nach 2 sek an einer anderen stelle.
alle 10 sek kommt ein neues bild dazu.


1.: möchte ein bild zufällig in einem Feld von 700*600 größe anzeigen lassen...... wollte dies mit eienr random-funktion machen...... indem die variablen für die positionen (left und top) der image komponente automatisch ausgewählt werden......... bitte ma syntax zeigen wie random geht.......
außerdem soll das bild alle 2sek an einer anderen stelle erscheinen (wenn es nicht weggeklickt wird erscheint es nach 2 sek an eienr anderen position. wenn es weggeklickt wurde erscheint es direkt an einer andern position.

2.: bezieht sich auf 1........ wie mache ich so einen timer..... auch das nach 30 sek das ganze programm gestoppt wird bzw. alle 10 sek noch so ein bild dazu kommt.

3.: wie mache ich dazu so einen punkte zähler? pro weggeklicktes bild 10 punkte.....



sry echt wegen den ganzen fragen, aber bin echt am verzweifeln hier :cry: :cry: :cry: :cry: :cry: ........ find iwie meine unterlagen nicht und da das programm nicht richtig funzt kann ich es so gut wie nicht überprüfen....... hoffe ihr könnt mir wenigsten imma mal die grobe syntax der einzelnen befehle sagen.....

danke schoneinmal!!!!!!!!!! :D :D :D
mr_illegal Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 17.12.07 15:37 
so hab das jetz eig alles geschaft........ mir fehlt jezt nur noch.....

1.:das die dinger alle zwei sekunden ihren platz wechseln. egal ob weggeklickt oder nicht!

2.:das alle 10 sek ein neuer feind (zum abschießen hinzukommt ( als erster nur ein bild zum wegklicken, nach 10sek 2 bilder, nach 20sek 3 bilder.....)

3.: das nach 50sek das spiel zuende ist....

4.: das bei jedem mal klicken en schuss geräusch kommt (schuss.wav).......


alles in allem die tiemr funktionen!!!!!!!!!!!!!!!
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mo 17.12.07 15:43 
zu 1) unbedingt im oncreate deiner form einfach den Befehl

ausblenden Delphi-Quelltext
1:
randomize;					


aufrufen, damit du auch zufällige Werte bekommst. Der Aufruf von random geht so:

ausblenden Delphi-Quelltext
1:
2:
 random(1000); //liefert zahlen zwischen 0 und 999
 random(800)+200;//liefert zahlen von 200-999



zu 2) du erstellst einen timer und stellst sein interval auf 2000. Im ontimer event des timers legst du mit random neue werte für left und top fest. gleichzeitig zählst du eine integer-variable hoch, ist diese gleich 15 (gleich 30 sec vorüber) stoppst du das programm(soll es beendet werden?).
€: erzeuge neue bilder und speicher sie in eine tlist

zu 3) im onclick event der bilder zählst du ne integer variable um 10 hoch
mr_illegal Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 17.12.07 15:54 
oker.. woher kriege ich so einen timer? komig in der schule war der iwie in so ner leiste aba finde ihn nit merh........


also mir fehlen nur noch die timer fragen udn die sound datei..............

und nach den 50 sek soll einfach zurück zum programmanfang gegangen werden (also nit close;)...... als oan die position wo man ist wenn man das programm startet^^
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mo 17.12.07 15:56 
was für ne delphi version hast du?

Bei mir ist oben in der Leiste der Reiter "System". Da findet man den Timer. Zum Abspielen deines Sounds nimm die TMediaplayer Komponente (unterm Reiter "System"). LIes dir dazu die Hilfe durch, damit du weist wie man die Benutzen muss.

€: Zum Ende des Programms: Du musst dann eifnach eine Prozedur schreiben, die alle deine Änderungen rückgängig macht.
mr_illegal Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 17.12.07 16:06 
jo timer und media player gefunden. hab jetz auch das eine bild alle zwei sek an ne andere stelle.. nur kirege nciht das bei einem on klick der media palyer was abspielt hin und das alle 10 sek ein wieteres bild hinzukommt.........
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Mo 17.12.07 16:32 
in die Timerprocedur einen zähler und eine if abfrege, dann haste mehr bilder.
und eine Globale variable setzen die beim Programmstart oder rücksetzen des Programmes auf 0 gesetzt wird.
nicht vergessen für Gegner 2 und 3 die Positionen neu berechnen

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var //global definieren 
  z : integer;  

procedure TForm1.OnCreate;
begin
  z := 0;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  z := z + 1;
  ZeichneGegner(x,y,bla); //so wie deine function halt aussieht
  if z > 9 then  ZeichneGegner(x,y,bla); //gegener nr 2 ab 10ten aufruf
  if z > 19 then  ZeichneGegner(x,y,bla);  //gegner nr 3 ab 20ten aufruf
end;


für den Sound fehlt dir vermutlich ein
ausblenden Delphi-Quelltext
1:
MediaPlayer1.Play					

in der procedure wo du auch die punkte zählst.

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
mr_illegal Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 17.12.07 19:23 
mhhhh komig............

ich krich das einfach nit mit dem sound hin. als owill das wenn ic hauf IHintergrund klicke, dass dann die datei schuss.wav mit mediaplayer1 abgespielt wird.......


außerdem macht der imma die gleichen variablen........

hier ma syntax......

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
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:
procedure TForm1.Timer1Timer(Sender: TObject);
begin

Randomize ;
x1:=random(480);
y1:=random(620);
Igladbach.top:=(x1) ;
Igladbach.left:=(y1) ;
Igladbach.visible:=true;


z := z + 1;


  if z > 9 then
        begin
        Randomize ;
        x2:=random(480);
        y2:=random(620);
        Iaachen.top:=(x2) ;
        Iaachen.left:=(y2) ;
        Iaachen.visible:=true;
        end;

  if z > 19 then
        begin
        Randomize ;
        x3:=random(480);
        y3:=random(620);
        Ileverkusen.top:=(x3) ;
        Ileverkusen.left:=(y3) ;
        Ileverkusen.visible:=true;
        end;

  if z > 29 then
        begin
        Randomize ;
        x4:=random(480);
        y4:=random(620);
        Imainz.top:=(x4) ;
        Imainz.left:=(y4) ;
        Ileverkusen.visible:=true;
        end;


bei Igladbach gehts noch.... aba die andern leigen dann einfach nur drarauf..........

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


und bei der sounddatei wenn ich auf den hintergrund klicke kommt "no MCI device open"...
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Di 18.12.07 00:18 
user profile iconmr_illegal hat folgendes geschrieben:
mhhhh komig............

und bei der sounddatei wenn ich auf den hintergrund klicke kommt "no MCI device open"...


ausblenden Delphi-Quelltext
1:
MediaPlayer1.Open;					


guck dir den MediaPlayer mal in der Hilfedatei an, da gibets nen schönen Source wie der benutzt wird.

bei deinem andern problem seh ich momentan nicht woran es liegen könnte.
obige procedure scheint aber soweit in ordnung.
Schau dir mal den zähler an, ob der sich ändert.

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
bflegel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP, Win 7, BS2000
D5
BeitragVerfasst: Di 18.12.07 00:31 
Guten Abend,

1. warum schießt Ihr mit Kanonen auf Spatzen? Nehmt doch zum Abspielen "playsound"... zum korrekten Aufruf einfach mal die Forensuche zur Hilfe nehmen.

2. Ich weiß nicht ob es mit den Images daran liegt, dass Du immer wieder randomize aufrufst. Es reicht einmal, z. B. im FormCreate.

bye
bflegel

_________________
I know all the jokes about my name
bflegel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 193
Erhaltene Danke: 1

Win XP, Win 7, BS2000
D5
BeitragVerfasst: Di 18.12.07 06:40 
Guten Morgen,

so funktionierts mit den "springenden" Bildchen :wink:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
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:
procedure TForm1.Timer1Timer(Sender: TObject);
var x1,x2,x3,y1,y2,y3 : integer;
begin
x1:=random(480);
y1:=random(620);
Igladbach.top:=(x1) ;
Igladbach.left:=(y1) ;
Igladbach.visible:=true;


inc (z);


  if z > 9 then
        begin
        x2:=random(480);
        y2:=random(620);
        Iaachen.top:=(x2) ;
        Iaachen.left:=(y2) ;
        Iaachen.visible:=true;
        end;

  if z > 19 then
        begin
        x3:=random(480);
        y3:=random(620);
        Ileverkusen.top:=(x3) ;
        Ileverkusen.left:=(y3) ;
        Ileverkusen.visible:=true;
        end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;


Wegen des Abspielens des Sounds - siehe meine vorherige Anregung.

bye bflegel

_________________
I know all the jokes about my name