294 lines
8.0 KiB
Plaintext
294 lines
8.0 KiB
Plaintext
module test/example
|
|
|
|
import std/num/decimal
|
|
import std/data/linearmap
|
|
import horse/game-id
|
|
import horse/global
|
|
import horse/global/character
|
|
import horse/global/saddle
|
|
import horse/global/skill
|
|
import horse/global/spark
|
|
import horse/global/uma
|
|
import horse/legacy
|
|
|
|
val p1 = Legacy(
|
|
uma = Veteran(
|
|
uma = Uma-id(102001), // seiun sky
|
|
sparks = [
|
|
301, // 1* power
|
|
2102, // 2* front runner
|
|
10200103, // 3* angling and scheming
|
|
1000302, // 2* osaka hai
|
|
1001001, // 1* japanese derby
|
|
1001101, // 1* yasuda kinen
|
|
1001701, // 1* qe2
|
|
2001402, // 2* non-standard distance
|
|
2004301, // 1* focus
|
|
2005301, // 1* early lead
|
|
2012401, // 1* front runner straightaways
|
|
2012502, // 2* front runner corners
|
|
2015201, // 1* front runner savvy
|
|
2016001, // 1* groundwork
|
|
2016102, // 2* thh
|
|
2016402, // 2* lone wolf
|
|
3000201, // 1* unity cup
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1, // classic triple crown
|
|
2, // senior autumn triple crown
|
|
4, // senior spring triple crown
|
|
5, // tenno sweep
|
|
6, // dual grand prix
|
|
7, // dual miles
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
13, // tss
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
16, // kikuka sho
|
|
17, // osaka hai
|
|
18, // satsuki sho
|
|
21, // yasuda kinen
|
|
23, // mile championship
|
|
25, // victoria mile
|
|
26, // qe2
|
|
33, // asahi hai fs
|
|
34, // hopeful stakes
|
|
96, // mainichi hai
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub1 = Veteran(
|
|
uma = Uma-id(102601), // mihono bourbon
|
|
sparks = [
|
|
302, // 2* power
|
|
3303, // 3* medium
|
|
10260102, // 2* g00 1st
|
|
1001201, // 1* takarazuka kinen
|
|
1001702, // 2* qe2
|
|
1001901, // 1* japan cup
|
|
2004302, // 2* focus
|
|
2004502, // 2* prudent positioning
|
|
2012502, // 2* front corners
|
|
2015202, // 2* front savvy
|
|
2016002, // 2* groundwork
|
|
2016401, // 1* lone wolf
|
|
3000201, // 1* unity cup
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
2, // senior autumn triple crown
|
|
6, // dual grand prix
|
|
7, // dual miles
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
17, // osaka hai
|
|
18, // satsuki sho
|
|
21, // yasuda kinen
|
|
23, // mile championship
|
|
25, // victoria mile
|
|
26, // qe2
|
|
27, // nhk mile cup
|
|
33, // asahi hai fs
|
|
34, // hopeful stakes
|
|
49, // spring stakes
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub2 = Veteran(
|
|
uma = Uma-id(102401), // mayano top gun
|
|
sparks = [
|
|
302, // 2* power
|
|
1103, // 3* turf
|
|
10240101, // 1* flashy landing
|
|
1000601, // 1* tss
|
|
1001202, // 2* takarazuka kinen
|
|
1001502, // 2* kikuka sho
|
|
1001601, // 1* tsa
|
|
1002102, // 2* hanshin jf
|
|
1002301, // 1* arima kinen
|
|
2003503, // 3* corner recovery
|
|
2003802, // 2* straightaway recovery
|
|
2004602, // 2* ramp up
|
|
2005502, // 2* final push
|
|
2012702, // 2* leader's pride
|
|
2016002, // 2* groundwork
|
|
3000102, // 2* ura finale
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1, // classic triple crown
|
|
2, // senior autumn triple crown
|
|
4, // senior spring triple crown
|
|
5, // tenno sweep
|
|
6, // dual grand prix
|
|
7, // dual miles
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
13, // tss
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
16, // kikuka sho
|
|
18, // satsuki sho
|
|
21, // yasuda kinen
|
|
23, // mile championship
|
|
25, // victoria mile
|
|
26, // qe2
|
|
34, // hopeful stakes
|
|
35, // hanshin jf
|
|
].map(Saddle-id(_))
|
|
)
|
|
)
|
|
|
|
val p2 = Legacy(
|
|
uma = Veteran(
|
|
uma = Uma-id(100201), // silence suzuka
|
|
sparks = [
|
|
202, // 2* stamina
|
|
3301, // 1* medium
|
|
10020101, // 1* view from the lead
|
|
1000302, // 2* osaka hai
|
|
1001201, // 1* takarazuka kinen
|
|
1001502, // 2* kikuka sho
|
|
1001601, // 1* tsa
|
|
1002201, // 1* asahi hai fs
|
|
1002301, // 1* arima kinen
|
|
2003302, // 2* corner adept
|
|
2004302, // 2* focus
|
|
2004502, // 2* prudent positioning
|
|
2005301, // 1* early lead
|
|
2012602, // 2* dodging danger
|
|
2012802, // 2* moxie
|
|
2016002, // 2* groundwork
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1, // classic triple crown
|
|
2, // senior autumn triple crown
|
|
6, // dual grand prix
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
16, // kikuka sho
|
|
17, // osaka hai
|
|
18, // satsuki sho
|
|
21, // yasuda kinen
|
|
25, // victoria mile
|
|
26, // qe2
|
|
33, // asahi hai fs
|
|
34, // hopeful stakes
|
|
45, // yayoi sho
|
|
46, // kinko sho
|
|
63, // kobe shimbun hai
|
|
65, // mainichi okan
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub1 = Veteran(
|
|
uma = Uma-id(102001), // seiun sky
|
|
sparks = [
|
|
301, // 1* power
|
|
2102, // 2* front runner
|
|
10200103, // 3* angling and scheming
|
|
1000302, // 2* osaka hai
|
|
1001001, // 1* japanese derby
|
|
1001101, // 1* yasuda kinen
|
|
1001701, // 1* qe2
|
|
2001402, // 2* non-standard distance
|
|
2004301, // 1* focus
|
|
2005301, // 1* early lead
|
|
2012401, // 1* front runner straightaways
|
|
2012502, // 2* front runner corners
|
|
2015201, // 1* front runner savvy
|
|
2016001, // 1* groundwork
|
|
2016102, // 2* thh
|
|
2016402, // 2* lone wolf
|
|
3000201, // 1* unity cup
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1, // classic triple crown
|
|
2, // senior autumn triple crown
|
|
4, // senior spring triple crown
|
|
5, // tenno sweep
|
|
6, // dual grand prix
|
|
7, // dual miles
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
13, // tss
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
16, // kikuka sho
|
|
17, // osaka hai
|
|
18, // satsuki sho
|
|
21, // yasuda kinen
|
|
23, // mile championship
|
|
25, // victoria mile
|
|
26, // qe2
|
|
33, // asahi hai fs
|
|
34, // hopeful stakes
|
|
96, // mainichi hai
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub2 = Veteran(
|
|
uma = Uma-id(102601), // mihono bourbon
|
|
sparks = [
|
|
102, // 2* speed
|
|
3402, // 2* long
|
|
10260101, // 1* g00 1st
|
|
1000502, // 2* satsuki sho
|
|
1000701, // 1* nhk mile cup
|
|
1001201, // 1* takarazuka kinen
|
|
1001702, // 2* qe2
|
|
2000101, // 1* right-handed
|
|
2002102, // 2* sunny days
|
|
2004302, // 2* focus
|
|
2005301, // 1* early lead
|
|
2012502, // 2* front corners
|
|
2016001, // 1* groundwork
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1, // classic triple crown
|
|
2, // senior autumn triple crown
|
|
6, // dual grand prix
|
|
10, // arima kinen
|
|
11, // japan cup
|
|
12, // derby
|
|
14, // takarazuka kinen
|
|
15, // tsa
|
|
16, // kikuka sho
|
|
17, // osaka hai
|
|
18, // satsuki sho
|
|
26, // qe2
|
|
27, // nhk mile cup
|
|
33, // asahi hai fs
|
|
49, // spring stakes
|
|
].map(Saddle-id(_))
|
|
)
|
|
)
|
|
|
|
val trainee = Uma-id(102402) // wedding mayano
|
|
|
|
pub fun main()
|
|
val p1a = parent-affinity(trainee, p1, p2.uma.uma)
|
|
val p2a = parent-affinity(trainee, p2, p1.uma.uma)
|
|
val (s11a, s12a) = sub-affinity(trainee, p1)
|
|
val (s21a, s22a) = sub-affinity(trainee, p2)
|
|
println("trainee: " ++ trainee.show)
|
|
println("p1: " ++ p1.uma.uma.show ++ " affinity " ++ p1a.show)
|
|
println("s1-1: " ++ p1.sub1.uma.show ++ " affinity " ++ s11a.show)
|
|
println("s1-2: " ++ p1.sub2.uma.show ++ " affinity " ++ s12a.show)
|
|
println("p2: " ++ p2.uma.uma.show ++ " affinity " ++ p1a.show)
|
|
println("s1-1: " ++ p2.sub1.uma.show ++ " affinity " ++ s21a.show)
|
|
println("s1-2: " ++ p2.sub2.uma.show ++ " affinity " ++ s22a.show)
|
|
val inspo = inspiration(trainee, p1, p2)
|
|
val s = inspiration-gives(inspo, legacy/skills)
|
|
val a = inspiration-gives(inspo, legacy/aptitudes)
|
|
println("\nskills:")
|
|
s.list.foreach() fn((skill, pmf))
|
|
println(" " ++ skill.show ++ ": " ++ pmf.show)
|
|
println("\naptitudes:")
|
|
a.list.foreach() fn((apt, pmf))
|
|
println(" " ++ apt.show ++ ": " ++ pmf.show)
|