Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Arkanoid Project
Forum - Pascal - Arkanoid Project

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
LeoX (Ex-Member)
Newbie


Messaggi: 13
Iscritto: 04/10/2005

Segnala al moderatore
Postato alle 17:35
Mercoledì, 05/10/2005
Aperto l'arkanoid Project!!

Per chiunque sappia rogrammare in pascal e abbia voglia di spremersi le meningi...:asd:

http://www.pierotofy.it/pages/projects/project.php?id=61

PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 18:21
Giovedì, 06/10/2005
scusa la mia ingnoranza ma che gioco ? arkanoid??

PM Quote
Avatar
LeoX (Ex-Member)
Newbie


Messaggi: 13
Iscritto: 04/10/2005

Segnala al moderatore
Postato alle 22:01
Giovedì, 06/10/2005

PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 14:57
Sabato, 08/10/2005
ok, va bene
allora ci sto
o ci provo

PM Quote
Avatar
radio (Ex-Member)
Expert


Messaggi: 327
Iscritto: 03/03/2005

Segnala al moderatore
Postato alle 20:07
Sabato, 08/10/2005
Scusate se ve lo dico ma farlo in pascal non ? un po' impossibile, voglio dire la pallina deve avere angolazioni diverse a seconda dell'angolo e la velocit? con cui colpisce il bastoncino e fare ci? con un linguaggio non orientato agli oggetti ? un po' un suicidio no?:-|:-|:-|:-|

[mi piacerbbe essere semntito]

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 20:48
Sabato, 08/10/2005
Beh, magari si puo' utilizzare l'object pascal che ? una variante del pascal OOP a tutti gli effetti :-|

Oppure si usano le strutture e con qualche difficolt? in pi? ci si arriva lo stesso.

Ultima modifica effettuata da pierotofy il 08/10/2005 alle 20:49


Il mio blog: https://piero.dev
PM Quote
Avatar
nikipe_silver (Founder Member)
Expert


Messaggi: 339
Iscritto: 20/09/2005

Segnala al moderatore
Postato alle 11:35
Domenica, 09/10/2005
io preferiso l'OP: fdacile, OOP, etc...

PM Quote
Avatar
LeoX (Ex-Member)
Newbie


Messaggi: 13
Iscritto: 04/10/2005

Segnala al moderatore
Postato alle 12:18
Domenica, 09/10/2005
Testo quotato

Postato originariamente da radio:

Scusate se ve lo dico ma farlo in pascal non ? un po' impossibile, voglio dire la pallina deve avere angolazioni diverse a seconda dell'angolo e la velocit? con cui colpisce il bastoncino e fare ci? con un linguaggio non orientato agli oggetti ? un po' un suicidio no?:-|:-|:-|:-|

[mi piacerbbe essere semntito]




suicidio..:asd:...diciamo che richieder? un p? di lavoro...:asd:

PM Quote
Avatar
hedo (Ex-Member)
Expert


Messaggi: 248
Iscritto: 03/12/2003

Segnala al moderatore
Postato alle 18:19
Lunedì, 17/10/2005
Ragazzi vi do qualche dritta su come calcolare il rimbalzo della pallina:

come sapete lo schermo non ? altro che un grosso piano cartesiano che ha l'origine nell'angolo in alto a sinistra. Dato che all'aumentare delle x ci spostiamo verso destra e all'aumentare delle y ci spostiamo verso il basso, dobbiamo invertire il segno delle y in quanto siamo sempre stati abituati ad associare l'incremento delle y all'incremento della quota del punto. Nessuno ci vieta di lasciare le cose come stanno, ma vi consiglio ardentemente di adottare questo metodo in quanto pi? vicino alle "umane-menti", inoltre va fissato il centro nel centro efffettivo dello schermo, quindi a MaxX / 2 e a MaxY / 2.
Tutte le coordinate vanno sommate alle coordinate del centro, in modo da avere un rifermento cartesiano opportuno con cui ? molto pi? facile lavorare (in quanto il centro ? il CENTRO :-))

Ora veniamo a un po di analitica:

una generica retta del piano ha come modello generale:

ax + by + c = 0

il che pu? essere semplificato in:

y = mx + q

ma cosa ci perdiamo cos??
Semplice, i timbalzi orizzontali e verticali ovvero le rette che appartengono ai fasci x = k e y = h, ma ce

ne possiamo disinteressare perch? non vogliamo mica che la pallina continui a rimbalzare in orizzontale e in verticale all'infinito no? e visto che non abbiamo superfici inclinate di rimbalzo non ha senso contemplare questi casi limite. Cosa succede a un oggetto quando rimbalza su una superficie in un sistema non accelerato ma di moto rettilineo uniforme senza campo gravitazionale? semplice: la retta 'rimbalzata' (se cos? si pu? dire) ? la simmetrica rispetto alla retta perpendicolare alla superficie di impatto. Vediamo i due casi:

y = mx + q

superficie di impatto: x = k

sappiamo che la simmetria di retta x = k corrisponde a questo sistema:

| x' = -x + 2k
| y' = y

la retta associata quindi ?:

y = m * ( -x + 2k ) + q

ora facciamo lo stesso per la simmetria di asse y = h:

| x' = x
| y' = -y + 2h

troviamo anche questa retta associata:

y = -mx + -q + 2h

queste sono le rette associate, ma ci siamo dimenticati che le rette rimbalzate sono le simmetriche rispetto alle perpendicolari! Niente paura... tutto lavoro inutile? assolutamente no ;-)
Detto P il punto di impatto, calcoliamo le sue coordinate che non sono altro che l'intersezione tra la superficie di impatto e la retta che rappresenta la direzione (anche qui abbiamo 2 casi):

per le superfici parallele a y = 0,

| y = mx + q
| y = h

| mx + q - h = 0
| y = h

| x = ( h - q ) / m
| y = h

P ( ( h - q ) / m , h )

vediamo per le superfici appartenenti al fascio x = k,

| y = mx + q
| x = k

| y = mk + q
| x = k

P ( k , mk + q )

fin qui tutto semplice, dobbiamo ora trovare la perpendicolare alla superficie passante per P:

per y = h, e P ( ( h - q ) / m , h ) la perpendicolare ha equazione:

x = ( h - q ) / m

per x = k, e P ( k , mk + q ) la perpendicolare ha equazione:

y = mk + q

troviamo adesso la simmetrica della direzione secondo queste rette:

direzione generica nel piano: y = mx + q

se il priano ? orizzontale: y = m * ( -x + 2 * ( ( h - q) / m ) ) + q
con opportune semplificazioni: y = -mx + 2h - q

e

se il piano ? verticale: y = -mx -q + 2 * ( mk + q)
con opportune semplificazioni: y = -mx + q + 2mk

et voil?: PROVARE PER CREDERE!
La matematica ci viene sempre in contro! La prima equazione ? per i piani orizzontali, la seconda per i piani verticali... volendo si potrebbero complicare le cose contemplando anche gli urti su rette oblique, ma sconfineremmo nella goniometria, per ora vi basta questo ;-)

Ora mi chiedo solo... chi aveva fatto questa analisi prima anche solo di pensare "Facciamo Arkanoid!" ? Non ? detto che i giochi semplici siano semplici da realizzare, anche perch?, che questo sia da esempio, la matematica ? tutto, senza di essa ci si attacca alla canna del gas (come dice la mia prof di inglese ;-))

Ciao!

HeDo

Ultima modifica effettuata da hedo il 17/10/2005 alle 19:58
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo