Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
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


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Death Stranding 2 diventa Steam Deck Ver...
TSMC spinge i chip per smartphone verso ...
OpenAI prepara un modello per la cybersi...
Il CMF Phone 3 Pro sta arrivando: tra le...
Le migliori offerte Amazon di oggi: robo...
Altro che ridimensionamento: OnePlus sta...
YouTube batte Netflix come rivale della ...
I nuovi ASUS ROG Zephyrus G14 e G16 (202...
Meno di 200€ per un robot aspirapolvere ...
La CPU torna protagonista: 400 milioni s...
Il nuovo pannello OLED top di gamma di S...
Offerte LEGO Amazon: Formula 1, Harry Po...
Il Motorola Edge 70 Pro sta arrivando e ...
Amazon pronta a sfidare NVIDIA? La lette...
L'IA ridurrà drasticamente il lav...
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: 10:44.


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