Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-04-2003, 17: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, 19: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, 20: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, 20: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, 21: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, 21: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, 18: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, 17: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, 17: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, 18: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, 21: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, 20: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, 18: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, 09: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, 13: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, 17: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, 17: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, 19: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, 20: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, 20: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


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
Spazzolini elettrici Oral-B iO in super ...
Samsung Galaxy Watch8 Classic e Watch7 a...
Blue Origin prosegue lo sviluppo di Blue...
Roborock Saros 10 e 10R dominano il merc...
Apple scatenata su Amazon: tutti gli sco...
Canon EOS C50 è la nuova videocam...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
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: 04:45.


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