Forum MUGENATION: Apparire in una posizione casuale compresa in un'area stabilita da me - Forum MUGENATION

Salta al contenuto

  • 3 Pagine +
  • 1
  • 2
  • 3
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Apparire in una posizione casuale compresa in un'area stabilita da me Più difficile...

#21 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 18 June 2008 - 23:55

Va bhe, io ho il vantaggio di aver sempre adorato la matematica ed inoltre ho il vantaggio che sono più di 15 anni (da quando ho fatto il mio primo programma con il commodore 64) che mi invento da solo le formule matematiche (basate su operazioni semplici).

Comunque, con un po' di pratica vedi che è molto più facile di quello che pensi (e a volte puoi risparmiare del codice :rulez: )

EDIT.

Quoto quanto detto da PATOS (vedi risposta in pagina precedente).

Per Patos: tu però eri stato escluso, proprio perché dalla formula di quel topic (che avevo capito avesse a che fare con la fisica, ma non me la ricordavo) avevo capito che con le tue conoscenze fisiche/matematiche eri troppo avvantaggiato :rotfl:
0

#22 L   Squall LionHeart™ 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 18 June 2008 - 23:59

Asd, io personalmente non me ne intendo di queste espressioni, in quanto nè le ho mai viste, nè le ho mai studiate, nè ho mai avuto la necessità estrema di usarle... come vedete dalla soluzione da me proposta (e dal menjo provata, tutto funzionante), ho usato diversi controller per risolvere la situazione :) diciamo che sono più esperto di programmazione mugen di quanto io non lo sia di matematica (e fisica) XD

Però, è sempre buono imparare cose nuove, e queste nozioni mi potranno sicuramente essere utili in futuro :D

Saluti

Squall
0

#23 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 19 June 2008 - 00:03

Più che altro l'utilità sta nel risparmiare 2 var e le relative linee di codice di definizione.

Sarà forse perché sono pigro, ma cerco sempre di ottimizzare il codice scrivendo il meno possibile (non sempre ci riesco, però).
0

#24 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 19 June 2008 - 00:05

Visualizza MessaggiPaToS, su Jun 19 2008, 00:55, detto:

Bhè Menjo, mi sa che se te piacciono ste cose hai da fare pace con la matematica! Io per fare il codice della discussione sull'hyper (che comunque non so se funziona) sono prima dovuto risalire alla formula necessaria dalle equazioni del moto rettilineo uniformemente accelerato!! E non è stato affatto semplice!
Poi magari qualcuno mi smonta usando uno state che non conosco bene, ma vabbè!! E' bello anche questo!

PS: volevo partecipare anch'io ma ho visto ora la discussione!!
PSS: però sarei partito avvantaggiato, sapevo già del %! :rotfl: :rotfl:


Eh si, oggi ho capito che in alcune espressioni è davvero essenziale. Il prossimo anno, ahimè, proverò a farci pace...

Comunque ho letto la discussione, ed effettivamente credo ci sia una soluzione più semplice di quella proposta da te (come ad esempio il comando Gravity, per modificare la gravità se non ricordo male, potrebbe pur funzionare). Ma forse la tua era più pulita, anche se inconcepibile per me :P
0

#25 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 19 June 2008 - 00:19

Per Nobun: Ho visto che ero stato escluso! Comunque il % l'avevo imparato dal tutorial del mugen!

Quella non è una formula di quelle pronte, ho dovuto fare un po' di calcolini per arrivarci!! :lol: :lol:

Per Menjo:
Il problema in quella discussione è che lui voleva settare la durata della caduta dell'avversario, cosa che non mi sembra sia possibile.
Una soluzione più semplice forse era di aggiustare le velocità e le accelerazioni per far cadere il personaggio dopo un certo tempo, ma in questo modo ho 2 vantaggi:
1. Nel caso volessi cambiare la durata in corso di programmazione, mi basta cambiare il valore di una variabile!
2. Dovrebbe valere da qualsiasi posizione, nel caso sia una mossa che possa colpire anche in aria.
0

#26 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 19 June 2008 - 07:12

Lo so, infatti per questo avevo esortato loro di guardare i tutorial Mugen (nello specifico, ora lo posso dire, il tutorial "exp") :rotfl:

Comunque, Patos, non mi vergogno di dire che io al tuo posto non sarei mai arrivato ad una formula del genere... probabilmente ho troppi pochi ricordi di fisica, chissà. 0:)

Non mi sono sbagliato quando ho detto che il tuo livello è sorprendente... per certi versi hai già superato abbondantemente il mio livello (quello che teoricamente ti potrebbe solo mancare, essendo agli inizi, è un poco di conoscenza specifica, ma non mi stupirei se ormai avessi già raggiunto una piena padronanza della programmazione Mugen). Credo che la tua genialità potrebbe superare perfino quella di Slay (una delle persone a cui ho visto imparare il Mugen e padroneggiarlo con una velocità paurosa).

PS non mi vergogno nemmeno di ammettere che io avrei fatto come Menjo :P o meglio, quando con KingLion ho dovuto calcolare il ritorno esatto in caduta (sulla hyper dei colpi consecutivi che terminano con un lancio in aria ed un pugno finale "energico" che piglia il personaggio al volo mentre sta cadendo) mi sono limitato a giocare sui parametri yaccel e velocity dell'Hitdef dell'uppercut che lancia in aria, fino a raggiungere "a tentativi" (in due tentativi... ho avuto abbastanza occhio e fortuna :lol: ) le accelerazioni giuste.
0

#27 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 21 June 2008 - 21:46

Beh, all'inizio a Squallido avevo detto proprio quello, ovvero che ci dovevano essere dei parametri nell'hitdef per fare quella cosa (anche perchè di recente ho fatto una mossa molto simile).

Ma posto quì perchè vorrei un aiutino con una espressione (e questa volta PaToS potrà rispondere se vorrà :P).

In questo trigger, vorrei che il valore numerico 10 aumentasse in proporzione alla distanza (ma leggermente). Avevo fatto qualcosa del genere in fisica (mi pare con le leve), però non saprei bene come farla quì... dritte? :unsure:

trigger1 = p2dist y >= -10
0

#28 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 21 June 2008 - 21:52

Spiegati meglio.
Tu vuoi un espressione che sia:

10 + aumento

E vuoi che l'aumento sia proporzionale alla distanza.... giusto??

Ma in che proporzione??
0

#29 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 21 June 2008 - 21:56

Esatto, deve aumentare in base alla distanza sull'asse x. Ovvero, più sei distante dal p2, più è alto quel valore (sempre considerando x).

Ora non saprei di quanto... proviamo con un aumento di 0.1 graduale?
0

#30 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 21 June 2008 - 22:02

Quindi tu vuoi che la condizione sia verificata quando un qualcosa sia uguale a 10 + 0.1 della distanza....

facciamo un esempio con time

trigger1 = time = (10 + 0.1*(p2Dist X))

Questo dovrebbe andare.
0

#31 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 21 June 2008 - 22:15

Siii, sembra funzioni :D

Grazie mille! Se ho problemi e non ne vengo a capo scrivo di nuovo :rulez:
0

#32 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 22 June 2008 - 00:05

Solo un appunto a quello che ha scritto PaToS (non mi stancherò a dire quanto è bravo... stavolta non avevo capito del tutto ciò che Menjo voleva fare... non mi era chiara la domanda...)

p2Dist calcola la distanza rispetto agli assi dei giocatori (che generalmente si trovano al centro della figura sui piedi). Calcola quindi la distanza matematica degli assi.

p2BodyDist calcola la distanza rispetto alle estremità dei clsn2 boxes (quindi calcola la distanza "corporea" e non la distanza meramente "matematica).

Per calcolare la distanza, a seconda dei casi, può essere più indicato o l'uno o l'altro.

PS: Ma che bello sapere che ci sono degli utenti che non fanno sentire la mia mancanza... :rotfl:
0

#33 L   Squall LionHeart™ 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 22 June 2008 - 01:23

Non è vero Nobun, la sentiamo la mancanza U_U vogliamo + quiz di programmazione :rotfl: :rotfl:

mannaggia, se oggi non avessi avuto da suonare x il dannato gruppo, avrei tentato con piacere di creare quell'espressione...vabbè, sarà x la prossima volta asd XD

Bravo Patos, x queste cose sappiamo a chi rivolgerci, alloraXD (anche se preferirei riuscirci da me, è una sensazione stupenda quando si riesce in qualcosa di molto difficile o mai fatto, con le sole proprie forze XD sarò narcisista, ma mi sento bene dopo XD)

Saluti

Squall
0

#34 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 22 June 2008 - 01:27

Visualizza MessaggiNobun, su Jun 22 2008, 01:05, detto:

p2BodyDist calcola la distanza rispetto alle estremità dei clsn2 boxes (quindi calcola la distanza "corporea" e non la distanza meramente "matematica).

Sei sicuro che sia la dstanta tra i Clsn2 boxes??
Io credevo fosse quella tra i corpi dei giocatori sì, ma non i corpi dati dai Clsn box, bensì i corpi individuati dai valori width e heigh nella prima parte del CNS.

Mi spiego, se io ho un valore width di 60, e mettendo caso che il simbolo - valga 10 e il simbolo | sia l'asse del personaggio, questo avrà una larghezza così rappresentabile

---|--- ---|---

Lo spazio sarebbe la distanza tra i due, la p2bodydist X.

O almeno io credevo questo....
0

#35 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 22 June 2008 - 01:29

Bè quell'espressione non era molto difficile!! è matematica!
Io credo che a Menjo non venisse solo perchè deve farci ancora pace!! :rotfl: :rotfl: :rotfl:

Se la insegnassero insieme al mugen molti l'adorerebbero!!!

EDIT

Sono andato dal mio amico docs.

Allora p2bodydist funziona più o meno come avevo detto, solo che nel size non c'è la costante width, ma la front.width e la back.width (presumo... non ho voglia di andare a controllare)

Diciamo così, noi possiamo settare la larghezza del personaggio tramite 2 costanti: una che rappresenta la parte dall'asse verso dietro, l'altra dall'asse verso avanti.

p2BodyDist x calcola la distanza tra gli estremi dei due personaggi. Ora dal docs non capisco se calcola la distanza tra quelli più vicini, oppure tra quelli anteriori. Se i personaggi si guardano in faccia non cambia nulla, ma se uno è girato dall'altra parte....

ho provato a fare un disegnino ma non viene!!

Comunque secondo me sarebbe più sensato tra gli estremi più vicini dei due personaggi.
0

#36 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 22 June 2008 - 15:27

Bhe, ma sapere che abbiamo ben 4 utenti capaci (in ordine alfabetico: Menjo, Patos, Squall e Verza) mi rassicura non poco :D

Per quanto riguarda PaTos. Ora, io non ti so dire con precisione se le cose stanno detto come hai detto tu o meno. Quello che posso dire è che, facendo debug mentre creavo Mugen, mi è capitato di notare empiriticamente che p2BodyDist calcolasse la distanza tra i clsn2boxes (ovviamente quando c'erano dei clsn2 attivi), o almeno così mi è sembrato... ma mi posso sbagliare. Grazie per l'appunto.

Nuovi quiz? Va bhe se ho tempo ci penserò. :rulez:

Potrei ristudiare (se ho tempo) un problema che volevo sottoporre come concorso di programmazione CNS per Esperti (dopo aver fatto uno destinato ai principianti). L'idea della domanda da porre ce l'ho già da tempo, il problema è che temo di dover ricreare il codice campione della soluzione perché non so se trovo ciò che avevo fatto... per la cronaca l'avevo fatto in un paio di giorni (o forse più, perché è un pochino lunghetto il codice da produrre per programmare quel tipo di effetto), ed aveva ancora qualche imperfezione da sistemare.

Intanto vi posso fare questa domanda al volo... facile facile (ma non di immediata risposta :P)... questa è una cosa che anticipa il mio prossimo tutorial (che scriverò appena ho tempo) per i programmatori più "avanzati" (per fare qualcosa anche per chi le cose semplici già le sa :P)

se io scrivo

[State X, y]
type = VarSet
v = 0
value = (movetype = S)
trigger1 = time = 0

che valore può assumere value? (tralasciamo per ora l'ovvia inutilità di questo codice, è solo perché è la prima cosa che mi è venuta in mente).

Ps rispondete con l'opzione SPOILER ( [ spoiler ] [ / spoiler ] ) così che possiate rispondere tutti e 4 senza condizionarvi a vicenda :P
0

#37 L   PaToS 

  • Kohai
  • PuntoPunto
  • Gruppo: Membro
  • Messaggi: 117
  • Iscritto: 17-May 08

Inviato 22 June 2008 - 15:47

Non so se è così lo spoiler che intendevi... comunque scrivo qualcosa prima perchè se no si legge nel titoletto del post il risultato!!
Direi che è abbastanza!
Ma si legge lo stesso?? Se sì scusate, ma non sono pratico di comandi nei forum!!

Può assumere i valori 0 oppure 1.

= 0 se il movetype è diverso da S
= 1 se il movetype è uguale a S

I trigger, nella forma diciamo completa, possono assumere solo i valori 1 o 0, a seconda se quello che ho scritto è rispettivamente vero o falso.

Come forma completa intendo che ci devono essere

il nome del trigger (in questo caso movetype)
l'operatore matematico (in questo caso =)
la stringa, l'espressione o il valore a seconda dei casi (in questo caso S)

Voglio quello avanzato!! ihih :lol: :lol: :wow: :wow: :rulez:
0

#38 L   Nobun 

  • Horse Rider Skull Phantom. Rarely Here.
  • Gruppo: SuperModeratore
  • Messaggi: 4898
  • Iscritto: 11-July 04

Inviato 22 June 2008 - 16:12

Bravo PaToS, non deludi mai... risposta corretta ed esauriente. Sì, per leggere basta trascinare il mouse e selezionare le bande nere... il testo tornerà visibile.

Invito gli altri a non barare :rotfl:

Per patos:
E' quella che si chiama la "natura booleana" dei trigger. Poi comunque la spiegherò meglio :P
0

#39 L   Squall LionHeart™ 

  • Programmatore M.U.G.E.N.
  • Gruppo: Moderatore
  • Messaggi: 1097
  • Iscritto: 23-July 07

Inviato 22 June 2008 - 16:24

leggo solo ora, la domanda nobuniana U_U ecco a voi la mia rispsota (ci ho messo 3/4 d'ora x trovare lo spoiler, asdXD):



Beh, è alquanto semplice :D la variabile può assumere i valori 1 e 0.
1 se il movetype = S
0 se non lo è XD


attendo la quest + difficile XD

Saluti

Squall
0

#40 L   Menjoso 

  • Sensei
  • Gruppo: Membro Speciale
  • Messaggi: 3995
  • Iscritto: 16-August 07

Inviato 22 June 2008 - 17:36

Visualizza MessaggiPaToS, su Jun 22 2008, 02:29, detto:

Bè quell'espressione non era molto difficile!! è matematica!
Io credo che a Menjo non venisse solo perchè deve farci ancora pace!! :rotfl: :rotfl: :rotfl:

Se la insegnassero insieme al mugen molti l'adorerebbero!!!


Ma sì, infatti non era difficile, ma il punto è sempre quello: le espressioni. Non sapevo come formularla (come a scuola: anche se capisco le cose, non so metterle in atto quando si parla di matematica). Ma comunque penso che, come ho imparato tutto il resto, a forza di averci a che fare, imparerò anche questo a suo tempo.

Per rispondere al quiz... se scrivo una cosa così:

[State X, y]
type = VarSet
trigger1 = time = 0
v = 0
value = (movetype = S)

Movetype = S significa che sta fermo, però non so come precisamente possa dare un value... proprio per provarci (ma probabilmente sbaglio):

I valori possono essere 1 e 0 in questo caso.

Quando movetype = S, ovvero char fermo, è 1. Quando non lo è, value = 0.

EDIT:

Nobunazzo, detto:

Ps rispondete con l'opzione SPOILER ( [ spoiler ] [ / spoiler ] ) così che possiate rispondere tutti e 4 senza condizionarvi a vicenda :lol:


Mama... siamo 3 XD Intendi che deve partecipare pure Verzo?
0

Condividi questa discussione:


  • 3 Pagine +
  • 1
  • 2
  • 3
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi