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
Antwort Antwort
capsoule

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

Ping Pong @ Delphi

  Alt 1. Mär 2010, 19: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;
Miniaturansicht angehängter Grafiken
screen-01-03-10_785.jpg  
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#2

Re: Ping Pong @ Delphi

  Alt 1. Mär 2010, 20:02
1. Arbeitest du wirklich mit .NET oder doch eher mit Win32?

2. Bei FormKeyPress(Sender: TObject; var Key: Char) sollte Key vom Typ Char sein.
Versuch mal:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=Char('s')) and (panel2.top<(320-75)) then //spieler1 W(oben) & S(unten)
    panel2.top:=panel2.top+5
  else
    if (key=Char('w')) and (panel2.Top>0) then
        panel2.Top:=panel2.Top-5;
  if (key=Char('i')) and (panel3.top<(320-75)) then //spieler2 I(oben) & K(unten)
    panel3.top:=panel3.top+5
  else
    if (key=Char('k')) and (panel3.Top>0) then
        panel3.Top:=panel3.Top-5;
end;
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  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 11:58 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