296 lines
6.3 KiB
Plaintext
296 lines
6.3 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(102601), // mihono bourbon
|
|
sparks = [
|
|
302,
|
|
3303,
|
|
1001201,
|
|
1001702,
|
|
1001901,
|
|
2004302,
|
|
2004502,
|
|
2012502,
|
|
2015202,
|
|
2016002,
|
|
2016401,
|
|
3000201,
|
|
10260102,
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
2,
|
|
6,
|
|
7,
|
|
10,
|
|
11,
|
|
12,
|
|
14,
|
|
15,
|
|
17,
|
|
18,
|
|
21,
|
|
23,
|
|
25,
|
|
26,
|
|
27,
|
|
33,
|
|
34,
|
|
49,
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub1 = Veteran(
|
|
uma = Uma-id(102402), // wedding mayano
|
|
sparks = [
|
|
203,
|
|
3202,
|
|
1000701,
|
|
1000802,
|
|
1001201,
|
|
1001803,
|
|
2003502,
|
|
2003701,
|
|
2004301,
|
|
2005502,
|
|
2012401,
|
|
2016402,
|
|
10240202,
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
1,
|
|
2,
|
|
6,
|
|
7,
|
|
10,
|
|
11,
|
|
12,
|
|
14,
|
|
15,
|
|
16,
|
|
18,
|
|
21,
|
|
23,
|
|
25,
|
|
26,
|
|
27,
|
|
33,
|
|
34,
|
|
48,
|
|
].map(Saddle-id(_))
|
|
),
|
|
sub2 = Veteran(
|
|
uma = Uma-id(100201), // silence suzuka
|
|
sparks = [
|
|
203,
|
|
1101,
|
|
1001901,
|
|
1002203,
|
|
1002302,
|
|
2000101,
|
|
2000201,
|
|
2001902,
|
|
2003501,
|
|
2005401,
|
|
2016001,
|
|
3000102,
|
|
10020101,
|
|
].map(Spark-id(_)),
|
|
saddles = [
|
|
2,
|
|
6,
|
|
10,
|
|
11,
|
|
12,
|
|
14,
|
|
15,
|
|
17,
|
|
18,
|
|
21,
|
|
25,
|
|
26,
|
|
27,
|
|
33,
|
|
34,
|
|
40,
|
|
42,
|
|
44,
|
|
45,
|
|
46,
|
|
49,
|
|
59,
|
|
61,
|
|
63,
|
|
65,
|
|
111,
|
|
113,
|
|
117,
|
|
126,
|
|
].map(Saddle-id(_))
|
|
)
|
|
)
|
|
|
|
val trainee = Uma-id(104601) // smart falcon
|
|
|
|
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)
|