Salve a tutti, come faccio a collegare un insieme di eventi alla pressione di un tasto?
Mi spiego meglio, ipotizziamo questa procedura:
codice:
procedure TTennisForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
{La racchetta non deve uscire fuori dal campo}
case Key of
'A', 'a':if cpu1=FALSE then
if not (pnRacchetta1.Top<=0) then //se é oltre non si muove
if (pnRacchetta1.Top-12)<0 then //se continua si ferma al limite
pnRacchetta1.Top:=0
else //normale
pnRacchetta1.Top:=(pnRacchetta1.Top-12);
// //così anche per gli altri
'Z', 'z':if cpu1= FALSE then
if not ((pnRacchetta1.Top+pnRacchetta1.Height)>=pnCampo.Height) then
if (pnRacchetta1.Top+pnRacchetta1.Height+12)>pnCampo.Height then
pnRacchetta1.Top:=(pnCampo.Height-pnRacchetta1.Height)
else
pnRacchetta1.Top:=(pnRacchetta1.Top+12);
'J', 'j':if cpu2= FALSE then
if not (pnRacchetta2.Top<=0) then
if (pnRacchetta2.Top-12)<0 then
pnRacchetta2.Top:=0
else
pnRacchetta2.Top:=(pnRacchetta2.Top-12);
'M', 'm':if cpu2= FALSE then
if not ((pnRacchetta2.Top+pnRacchetta2.Height)>=pnCampo.Height) then
if (pnRacchetta2.Top+pnRacchetta2.Height+12)>pnCampo.Height then
pnRacchetta2.Top:=(pnCampo.Height-pnRacchetta2.Height)
else
pnRacchetta2.Top:=(pnRacchetta2.Top+12);
'X','x':Poteri;
'L','l':Poteri2;
end;
Vorrei che in qualunque parte del codice potessi richiamare la pressione di un tasto. Nella fattispecie sto tentando di realizzare l'intelligenza artificiale, in maniera tale che in determinate condizioni, ad esempio la racchetta "gestita" dalla cpu prema "virtualmente" X (richiamando cosi la procedura POTERI). Volevo insomma evitare di ricopiare del codice presente nella procedura POTERI.
Spero di essermi spiegato dignitosamente (è più facile a farsi che a dirsi).
ciao