AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ping Pong @ Delphi

Ein Thema von capsoule · begonnen am 1. Mär 2010 · letzter Beitrag vom 1. Mär 2010
 
capsoule

Registriert seit: 1. Mär 2010
1 Beiträge
 
#1

Ping Pong @ Delphi

  Alt 1. Mär 2010, 18:31
hallo leute,
ich bin neu hier..Hab mich grade angemeldet, weil ich eure Hilfe brauche
Ich programmier grad das Kultspiel "Ping Pong" mit Delphi.

Hatte viele Probleme, weil ich noch ein ziemlicher Anfänger bin, was Programmieren angeht.
Einige konnte ich lösen, habe mir auch schon auf anderen Seiten Rat gesucht. Nun habe ich grad heute das Problem geknackt, wie ich meine Spieler bewegen kann, denn ich wusste nicht, wie das Prog abfragen soll, welche Taste ich gerade drücke um den Spieler zu bewegen (1. Player: W,S ; 2. Player: I,K)
Allerdings habe ich das in einer neuen VCL gemacht...Hat super geklappt.
Eben wollt ichs in mein Ping Pong einbinden...aber es tut sich gar nichts. Vielleicht wisst ihr wo der Fehler ist.

Danke für alle Tipps

Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (key='s') and (panel2.top<(320-75)) then //spieler1 W(oben) & S(unten)
    panel2.top:=panel2.top+5
  else
    if (key='w') and (panel2.Top>0) then
        panel2.Top:=panel2.Top-5;
  if (key='i') and (panel3.top<(320-75)) then //spieler2 I(oben) & K(unten)
    panel3.top:=panel3.top+5
  else
    if (key='k') and (panel3.Top>0) then
        panel3.Top:=panel3.Top-5;
  


end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (shape1.Top<panel2.Top) or (shape1.Top>(panel2.top+300)) then //spieler1
    begin
      if shape1.left<(panel2.Left+30) then
        begin
          x:=0;
          y:=0 ;
          panel2.Color:=clred;
          panel3.Color:=clgreen;
          shape1.top:=450-32;
          shape1.Left:=600-32;
          punkt2:=punkt2+1;
          label2.Caption:=inttostr(punkt2);
        end;
  end;


  if (shape1.left<(panel2.left+30)) then
    begin
      x:=-x;
    end; //ende player 1

  if (shape1.Top<panel3.Top) or (shape1.Top>(panel3.top+300)) then //spieler2
    begin
      if (shape1.left+65)>panel3.Left then
        begin
         x:=0;
         y:=0 ;
         panel2.Color:=clgreen;
         panel3.Color:=clred;
         shape1.top:=450-32;
         shape1.Left:=600-32;
         punkt1:=punkt1+1;
         label1.Caption:=inttostr(punkt1);
        end;
    end;


  if (shape1.Left+65)>panel3.left then
    begin
      x:=-x;
    end; //ende player 2

  if (shape1.top<0) or (shape1.Top>840) then
    begin
      y:=-y;
    end;


shape1.Left:=shape1.Left+x;
shape1.Top:=shape1.top+y;
Angehängte Grafiken
Dateityp: jpg screen-01-03-10_785.jpg (44,1 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
 


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 07:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz