Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-04-2003, 18:39   #1
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Giochetto in Delphi

Salve a tutti, sto cominciando a studiare il Delphi, ho trovato una piccola guida da seguire per realizzare un piccolo videogioco scritto in Delphi.In questo modo penso di unire l'utile al dilettevole per fare della pratica con Delphi. Qui (ci capiamo meglio se provate) trovate l'eseguibile del giochetto(i tasti da usare sono A,Z ed M,J):
http://spazioinwind.libero.it/pablosonoio/index.htm
Avevo qualche domandina da porre, e premessa qualche procedura:
*************
procedure TTennisForm.Battuta;
begin
vx:=3; //vx e vy sono le velocità della pallina nelle due direzioni (pensate ad un grafico cartesiano)
vy:=Random(4)-2;
PallinaPanel.Top:=random(CampoPanel.Height);
PallinaPanel.Left:=RetePanel.Left;
end;
*******************
Questa procedura viene richiamata all'inizio (premendo il bottone) e poi ogni volta che viene fatto un punto e si deve riniziare.

1)Se nella procedura Battuta, voglio, che in maniera random la pallina vada lanciata anche nell'altro senso
(perchè nella pratica la battuta è sempre contro la racchetta2) cosa dovrei modificare? Avevo pensato di
impostare a True la proprietà Right di PallinaPanel e RetePanel e poi fare così:
**********************
procedure TTennisForm.Battuta;
begin
vx:=3;
vy:=Random(4)-2;
PallinaPanel.Top:=random(CampoPanel.Height);
PallinaPanel.Left:=RetePanel.Left;
PallinaPanel.Right:=RetePanel.Right;
end;
******************
Così non funziona come posso realizzare quello che voglio ?

Ho tante altre domande;Cominciamo pian pianino;..
Nel frattempo sto lavorando alla versione 1.0 con qualche novità da inserire.
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2003, 20:52   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non ti ho troppo capito, spiegami meglio cosa vuoi che il programma faccia.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2003, 21:16   #3
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

Non ti ho troppo capito, spiegami meglio cosa vuoi che il programma faccia.
Hai provato a scaricare il giochetto? (Ci capiamo meglio se lo provi)
In pratica quando viene lanciata la pallina per la battuta avviene sempre in un verso.Vorrei che la pallina fosse indirizzata anche nel verso opposto.
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2003, 21:24   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
L'ho scaricato, ma ho capito solo ora cosa vuoi dire !

Credo sia semplicemente perchè vx é sempre impostato a 3 e mai a -3 !

Quindi devi creare un random che arrivi massimo a 1.

Codice:
SegnoRandom = Trunc(Random(1));
if SegnoRandom=0 then SegnoRandom:=1 else SegnoRandom:=(SegnoRandom*True) {Inverte il valore moltioplicandolo per -1};
vx:=(3*SegnoRandom);
Prova così.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2003, 22:10   #5
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Grazie
ho risolto grazie alle tue delucidazioni in maniera più semplice ancora:
Codice:
SegnoRandom:= Random(2);  //un numero a caso tra 0 ed n-1 cioè tra 0 e 1
if SegnoRandom=0 then SegnoRandom:=1
else SegnoRandom:=-1;
vx:=(3*SegnoRandom);
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2003, 22:14   #6
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Ti vorrei chiedere ancora qualcosa, visto che ci siamo
Avrai visto che le "racchette" nel gioco salgono e scendono, ma non si fermano quando finisce il campo.
Come mi consigli di bloccare le racchette appena giunte alla fine del campo?
Grazie
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2003, 19:32   #7
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Ho fatto qualche miglioramento, vedete:
http://spazioinwind.libero.it/pablosonoio/index.htm
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2003, 18:41   #8
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
C'è qualche metodo che mi consente di mettere il gioco in pause/resume oppure devo implementarmi la procedura da me?
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2003, 18:55   #9
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Ciao ragazzi, da un'pò sbatto la testa su un problema che mi dovete aiutare a risolvere.
In pratica, avrete visto nel giochetto che cè un menù dove potere scegliere la difficoltà del gioco (di default lo messa a medio). Avrete notato che c'è un piccolo bug, quando mi seleziono la difficoltà del gioco effettivamente la velocità della pallina aumenta o diminuisce come è giusto che sia selezionando le tre possibilità del RadioGroupClick , quando però viene fatto punto da un giocatore, la situazione ritorna al default, con la conseguente perdita di livello di difficoltà selezionato all'inizio.
Codice:
procedure TOpzioniBox.DifficoltaRadioGroupClick(Sender: TObject);
begin
case DifficoltaRadioGroup.ItemIndex of
      0: A:=1;        //facile
      1: A:=1.03;   //medio
      2: A:=1.2;    //difficile
                end;
end;
Dove A è la costante di velocità che assume la pallina ogni volta che rimbalza sulla sponda o racchetta.Ovviamente questa procedura è dichiarata ed usata in una unit diversa da quella che gestisce la MainFormTennis (in pratica la form con il campo) e se provassi quindi a gestirmi anche tramite un if le condizioni del RadioGroupClick in maniera tale da scegliere A in modo opportuno, non lo posso fare perchè il RadioGroupClick è gestito nell'altra unit.
Ammetto che è facile che mi sia spiegato non bene, però credetemi che è difficile spiegare queste cose senza usare codice.Vorrei risolvere questo problema,a costo di andare in chat con qualcuno di voi, mostrarvi tutto il codice che finora ho scritto e capirci meglio!!!
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2003, 19:44   #10
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Per bloccare le racchette alla fine ed all'inizio del campo, ad ogni movimento devi usare del codice simile a:

Codice:
if (
   not (Racchetta.Top+Racchetta.Height)>=Pannello.Height
   and
   not (Racchetta.Top<=Pannello.Top) then Muovi;
Per la pausa, se usi un timer basta usare "Timer.Enabled:=False;".

Per il radio group non ho capito bene, ma credo che debba dichiarare come public la variabile con la velocità, in modo da accedervi anche dall'altra finestra. (Velocità:=Form2.Velocità)
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2003, 22:27   #11
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

Per bloccare le racchette alla fine ed all'inizio del campo, ad ogni movimento devi usare del codice simile a:

Codice:
if (
   not (Racchetta.Top+Racchetta.Height)>=Pannello.Height
   and
   not (Racchetta.Top<=Pannello.Top) then Muovi;
Per la pausa, se usi un timer basta usare "Timer.Enabled:=False;".
Questi problemi li ho risolti in maniera simile.
Quote:
Per il radio group non ho capito bene, ma credo che debba dichiarare come public la variabile con la velocità, in modo da accedervi anche dall'altra finestra. (Velocità:=Form2.Velocità)
Sono già dichiarate come public. Se ti può servire posto un'pò di codice?

Grazie per le risposte
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2003, 21:17   #12
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Si, forse é meglio che mi mandi un pò di codice.
Potrei anche aiutarti: mi mandi il codice completo, mi dici cosa vuoi fare e cerco di aiutarti a finirlo (se vuoi ).
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 10-04-2003, 19:52   #13
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

Si, forse é meglio che mi mandi un pò di codice.
Potrei anche aiutarti: mi mandi il codice completo, mi dici cosa vuoi fare e cerco di aiutarti a finirlo (se vuoi ).
Finalmente è pronta la versione finale del giochetto.
Potete trovare l'eseguibile alla solita pagina:
http://spazioinwind.libero.it/pablosonoio/index.htm
Con la sorpresa di una nuova veste grafica del sito.
A voi i commenti!!
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2003, 10:03   #14
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Potrebbe interessare a qualcuno, ho messo i sorgenti del giochetto. Il codice è ben commentato, anche i delphini più inesperti (tipo me stesso) possono trovarlo interessante.
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2003, 14:45   #15
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Avrei intenzione di "far gestire" una delle due racchette al computer,
nella pratica vorrei poter giocare da solo contro il computer. Implementare questo in Delphi
non sembrerebbe una cosa tanto ardua (quindi lo potrei fare anch'io).
La mia idea sarebbe (non so se è la strada giusta) randomizzare i movimenti della racchetta2
(adesso che avete i sorgenti del gioco mi posso spiegare meglio), non vorrei però che tale
metodo sia troppo semplicistico e nella pratica la racchetta "gestita dal computer" faccia
sempre gli stessi movimenti e quindi renda il gioco molto meno interessante rispetto al
metodo in cui si gioca in due persone.
Avete qualche idea?
Nel frattempo io provo qualcosina....
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2003, 18:53   #16
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Vedrò quello che posso fare per l'intelligenza artificiale....

nel frattempo ti mando il codice che ho "corretto"... ho aggiunto qualcosa di utile: leggi i commenti e non ti spaventare per i cambiamenti !
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2003, 18:42   #17
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

Vedrò quello che posso fare per l'intelligenza artificiale....

nel frattempo ti mando il codice che ho "corretto"... ho aggiunto qualcosa di utile: leggi i commenti e non ti spaventare per i cambiamenti !
Ti ringrazio tantissimo
I tuoi accorgimenti hanno migliorato di molto il giochino.
Dammi un'pò di tempo per studiarmeli e poi preparati ad un interrogatorio di 3° grado.
Ciao
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2003, 20:38   #18
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
OK, vada per gli interrogatori, ma preparati: l'intelligenza artificiale é vicina ! Anche troppo: l'ho fatto troppo intelligente e nel livello Facile non si riesce mai a vincere. Ora la devo far diventare più stupida.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2003, 21:18   #19
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

OK, vada per gli interrogatori, ma preparati: l'intelligenza artificiale é vicina ! Anche troppo: l'ho fatto troppo intelligente e nel livello Facile non si riesce mai a vincere. Ora la devo far diventare più stupida.
Sei grande!!!
Come c***o fai?
Ho perso un bel pò di tempo a fare questo giochino e tu in quattro e quattro otto mi spari un gioco che è molto più bello esteticamente e molto migliorato a livello di codice...meno male che era qualche modifica

Ti devo chiedere una cosa.Ho dovuto abbassare questi valori
if (vx<=(-2147483648)) or (vx>=2147483647) then.....
altrimenti mi dava errore.Inoltre giocando a livello impossibile se la pallina assume una velocità troppo alta comincia a dare 200 errori e il gioco esce, forse dovremmo fare in modo che se la pallina è troppo veloce (come prima) oltrepassi la racchetta.

Diverse cosette non le avevo mai incontrato nè usate...quante cose ho ancora da imparare

Ciao e grazie per il tempo dedicato al giochetto
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
Old 17-04-2003, 21:19   #20
gokan
Senior Member
 
L'Avatar di gokan
 
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
Quote:
Originally posted by "DanieleC88"

OK, vada per gli interrogatori, ma preparati: l'intelligenza artificiale é vicina ! Anche troppo: l'ho fatto troppo intelligente e nel livello Facile non si riesce mai a vincere. Ora la devo far diventare più stupida.
Aspetto con ansia!!!!
__________________
Sun Certified Java Programmer - Sun Certified Web Component Developer - Sun Certified Business Component Developer
gokan è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Oracle NetSuite si potenzia con nuove fu...
Musica generata con l'IA: Sony lavora a ...
Cyberpunk 2077 in versione PC su smartph...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v