Goodgame Studios forum archives

Forum: empire-it
Board: [644] La sala delle udienze - Domande sul gioco
Topic: [383179] FORMULE

[-383179] mad02 (IT1) [IT1] :: Sept. 1, 2021, 2:06 p.m.

FORMULARIO


<- In questo nuovo formato verrà scelta ogni giorno una formula, la quale verrà spiegata in maniera descrittiva. ->



[5206290] mad02 (IT1) [IT1] :: Sept. 1, 2021, 2:22 p.m.

TEMPO DI VIAGGIO SPIE CON CAVALLI DA CORSA/ CORSIERO



FORMULA: Math.floor(Math.log(e) / Math.log(10) + 1)

In questa formula è presente una sola variabile, ovvero la e.

e = distanza

Nella formula sono presenti dei logaritmi naturali in base e che sono quelli espressi con Math.log.
Per quanto concerne Math.floor è una funzione che restituisce l'intero minore a un dato numero... ad esempio 6,5 diventerà 6, oppure 4,76 diventerà 4.

ES.1



Math.floor(Math.log(3) / Math.log(10) + 1) = 1.47 = 1 s

ES.2



Math.floor(Math.log(761.7) / Math.log(10) + 1) = 3.88 = 3 s

[5206322] mad02 (IT1) [IT1] :: Sept. 1, 2021, 11:12 p.m.

RISCHIO SABOTAGGIO



FORMULA =Math.round((i + a) / 2)

Questa formula è già più complicata perché ha tre variabili ovvero e, t e n, e delle sotto variabili i e a che si riveleranno fondamentale per la formula finale.

e = tot spie usate
t = numero di guardie cittadine del nemico
n = danni inflitti ( nei calcoli va tolto il simbolo %)

Tali variabili servono per reperire delle sotto variabili i e a, le quali hanno diversi dati di cui la conoscenza ( per poter proseguire) è di fondamentale importanza. Di seguito potete trovarli tutti:

max spie = 15
max guardie = 180
rapporto guardia spia = max guardie / min spie

max danni = 50
min danni = 10
rapporto danni = 50 - ( max danni + min danni ) /2

max rischio sabotaggio = 90
min rischio sabotaggio = 10

i = Math.max(Math.min(-(rapporto guardia spia() * e - t) + rapporto danni() + n, max rischio sabotaggio), min rischio sabotaggio)

         a = Math.max(Math.min(Math.floor(1 * t / e / rapporto guardia spia() * (rapporto danni() + n)), max rischio sabotaggio), min rischio sabotaggio)
 
Math.max restituisce il più grande dei numeri fra una parentesi. Ad esempio Math.max ( 5 , 8 ) = 8
Math.min restituisce il più piccolo dei numeri fra una parentesi. Ad esempio Math.min( 10 , 3 ) = 3
Math.floor è una funzione che restituisce l'intero minore a un dato numero. Ad esempio 6.78 = 6 ;  9.76 = 9
Math.round arrotonda un numero all'intero più vicino.

ES.1



i = Math.max(Math.min(-((180/15) * 46- 130) + 20 + 50, 90), 10) = Math.max ( -292 , 10 ) = 10

         a = Math.max(Math.min(Math.floor(1 * 130 / 46/ (180/15) * (20 + 50)), 90), 10) = Math.max ( 16 , 10) = 16

risultato = Math.round ((16 +10 ) / 2) = 13 = 13 %




[5206324] mad02 (IT1) [IT1] :: Sept. 1, 2021, 11:45 p.m.

COSTO SABOTAGGIO



FORMULA = 0.6 * (20 * e * Math.log(t + 1) / Math.log(2.3) + n - 20) | 0

Questa formula ha tre variabili ovvero e, n.

e = tot spie usate
t = distanza
n = rischio sabotaggio

Math.log restituisce il logaritmo naturale di un numero o alla base di un numero

ES.1





risultato = 0.6 * (20 * 46 * Math.log( 493.8 + 1) / Math.log(2.3) + 13 - 20) = 4107

[5206376] mad02 (IT1) [IT1] :: Sept. 2, 2021, 11:14 p.m.

FORMULA DELL'ONORE SENZA BONUS



FORMULA = Math.round(Math.max((t - e) / 7 + 100, 0)))

Questa formula ha due variabili ovvero e, t.

e = onore in possesso
t = onore in possesso dell'altro player

Math.round arrotonda per eccesso.
Math.max prende il valore più grande. Per esempio Math.max (5, 7) = 7

ES.1


e = 0
t = 276
risultato= Math.round(Math.max((276 - 0) / 7 + 100, 0))) = Math.round (139,4) = 139

In quali casi dà zero come onore stimato per la vittoria?
Nel caso (t - e) / 7 + 100 venga negativo.


[5206377] mad02 (IT1) [IT1] :: Sept. 2, 2021, 11:30 p.m.

FORMULA DELL'ONORE CON I BONUS



FORMULA = Math.round(formula[onore senza bonus] * (1 + (r + s + a) / 100))

Questa formula ha tre variabili ovvero r, s e a.

r = bonus onore dovuto al comandante
s = bonus onore dovuto alla torre della ricerca
a = bonus onore dovuto alla sala delle leggende

Math.round arrotonda per eccesso.

ES.1



= 3239
= 4513
risultato = Math.round((Math.round(Math.max((4513 - 3239) / 7 + 100, 0))) * (1 + (0 + 35 + 0) / 100))
= Math.round (282 *1.35) = 
Math.round (380.7) = +380 di onore stimato per la vittoria.


[5206378] mad02 (IT1) [IT1] :: Sept. 2, 2021, 11:47 p.m.

BONUS GLORIA DOVUTO ALL'ONORE



FORMULA = Math.min(1, (2 * Math.exp(0.00115 * e) + (0.012 * e + 1)) / 100)

Questa formula ha una variabile, ovvero la e.

e = onore in possesso

Math.min prende il valore minore fra due intervalli.
Math.exp restituisce e^x ove la x è la parte all'interno della parentesi.

ES.1



= 3239

risultato = Math.min(1, (2 * (e^(0.00115 * 3239)) + (0.012 * 3239 + 1)) / 100) = Math.min ( 1, 1.22) = 1 = +100%

[5208591] mad02 (IT1) [IT1] :: Sept. 27, 2021, 9:51 a.m.

COSTO ENERGIA PER LA FUSIONE



FORMULA = 50 * e + 900

Questa formula ha una variabile, ovvero la e.

e = livello della decorazione


ES.1



e = 70

risultato =  50 * e + 900 = 4400

[5208735] mad02 (IT1) [IT1] :: Sept. 28, 2021, 2:15 p.m.

PUNTI POTENZA EQUIPAGGIAMENTO



FORMULA = 1e3 + 10 * (e-a)

Questa formula ha due variabili, e ed a.

e = valore di vendita dell'equipaggiamento


a = rarità del pezzo. ES: Divino varrà 111, mentre un pezzo consunto varrà 109. 
L'algoritmo dietro non è intuibile per adesso matematicamente, però all'incirca varia fra 107 e 112, quindi in media sui 109.
Possiamo quindi usare 109 nei calcoli sapendo che sarà approssimativo il risultato.


ps:  1e3 non significa 1*variabile*3 ma bensì significa che dopo 1 ci sono tre zeri. Ad esempio fosse 6e2 equivarrebbe a 600.


ES.1

e =  262 di valore di vendita
a = 109

risultato =  1000+10*(262-109) = 2530 conferito da questo pezzo

attenzione: il calcolo va fatto con un pezzo alla volta, ossia prima la gemma incastonata , poi il pezzo, e infine la loro somma.


[5208986] mad02 (IT1) [IT1] :: Sept. 30, 2021, 12:11 p.m.

CALCOLO PROMOZIONE



FORMULA = Math.max(1, Math.min ((Math.floor (e * a / 2000) + 1) + ... , 21))

Questa formula ha due variabili, ovvero la e , a.

e = totale medaglie ottenute di determinato tipo.

a = 1000 /  prestigio medaglia

prestigio medaglie =
medaglia d'oro = 1
medaglia d'argento = 2
medaglia di bronzo = 3
medaglia di vetro = 4
medaglia di rame = 5
medaglia di  pietra = 6
medaglia di legno= 7
_____________________

passaggio 1

Fare il suddetto calcolo evidenziato per ogni tipo di medaglia. 
ps: va approssimato per difetto.

passaggio 2

Completato il passaggio 1, prendete il valore minore fra il risultato ottenuto e 21 (massimo titolo ottenibile).

passaggio 3

Per concludere prendete il valore maggiore fra 1 e il valore del passaggio 2.




ES.1


e =  2 medaglie
a = 1000/ medaglia d'oro = 1000/1= 1000

passaggio 1
risultato =  (e * a / 2000) + 1 =  (2*1000/2000) + 1 = [2] secondo titolo 

passaggio 2

fra 2 e 21 è minore 2 = 2

passaggio 3

fra 2 e 1 è maggiore 2 = 2


[5209757] mad02 (IT1) [IT1] :: Oct. 5, 2021, 10:23 p.m.



[5210029] mad02 (IT1) [IT1] :: Oct. 9, 2021, 8:33 a.m.

GEMME



GEMME


    livello massimo di una gemma = 13,
    livello minimo di una gemma = 0,
    livello minimo per poter usare le gemme = 25,
    numero di gemme necessarie per potenziare le gemme  = 6,
    massima capienza = 500,
   capienza normale = 480,

[5210474] mad02 (IT1) [IT1] :: Oct. 15, 2021, 12:15 p.m.

DIMENSIONI MAPPA BERIMOND



X = Larghezza del settore * Larghezza mappa in settori


Y= Altezza del settore * Altezza mappa in settori

Larghezza del settore = 13
Lunghezza mappa in settori = 200

Altezza del settore = 13
Altezza mappa in settori  = 10


X = 13*200 = 2600 ( il che vuol dire che l'ultima coordinata x è 2559)

Y = 13*10 =130  ( il che vuol dire che l'ultima coordinata x è 129)

Dimensioni = 2559*129 

[5210605] mad02 (IT1) [IT1] :: Oct. 17, 2021, 12:27 p.m.

CALCOLO PROMOZIONE (errate corrige)


E' stata corretta la tabella che rappresentava il prestigio delle medaglie e un pezzo della formula.



FORMULA = Math.max(1, Math.min ((Math.floor (e * a / 2000)+(...) + 1) , 21))

Questa formula ha due variabili, ovvero la e , e la a.

= totale medaglie ottenute di determinato tipo.

a =prestigio medaglia
tipo medaglia              prestigio
oro1000
argento950
bronzo850
vetro700
rame500
pietra300
legno100
_____________________

passaggio 1



Fare il suddetto calcolo evidenziato per ogni tipo di medaglia facendo poi la somma, ed infine aggiungendo + 1 ( dato che si parte avendo già 1 titolo).

ps: la risultante va approssimata per difetto.

passaggio 2

Completato il passaggio 1, prendete il valore minore fra il risultato ottenuto e 21 (massimo titolo ottenibile).

passaggio 3

Per concludere prendete il valore maggiore fra 1 e il valore del passaggio 2.




ES


passaggio 1

risultato = (6*1000/2000)+(3*950/2000)+(1*850/2000)+(1*700/2000)+(2*500/2000)+(1*300/2000)+1 = 6.85 =[6] sesto titolo
 


passaggio 2

fra 6 e 21 è minore 6 = 6

passaggio 3

fra 6 e 1 è maggiore 6 = 6

[5210730] mad02 (IT1) [IT1] :: Oct. 20, 2021, 1:48 p.m.

____________

CALCOLATORE
____________


TEMPO DI VIAGGIO SPIE CON CAVALLI DA CORSA/ CORSIERO


https://docs.google.com/spreadsheets/d/1XFb8Oqfg7YRMn5At_f7tvZZu4-j80EDuSyuJ2VoFpMI/edit?usp=sharing



creato da @machete26 (HIS1)
con la revisione di @mad02 (IT1)