Pelempar dadu ini adalah pengurai string yang mengembalikan objek yang berisi bagian-bagian komponen pelemparan dadu. Ini mendukung Spesifikasi Dadu Roll20 lengkap. Ini menggunakan tata bahasa pegjs untuk membuat representasi format pelemparan dadu. Ini kemudian dapat diubah menjadi nilai angka sederhana, atau menjadi objek kompleks yang digunakan untuk menampilkan detail gulungan penuh.
Ini adalah cabang dari proyek dice_roller Ben Morton. Ada beberapa bug jadi saya menerbitkan ulang dengan perbaikan dan fitur yang diperlukan untuk proyek saya.
Instal perpustakaan menggunakan:
npm install dice-roller-parser
Setelah terinstal, cukup muat perpustakaan, baik di browser:
< script src =" node_modules/dice-roller-parser/dist/index.js " > </ script >
Atau di simpul:
import { DiceRoller } from "dice-roller-parser" ;
Kemudian buat instance baru dari kelas DiceRoller
, dan gunakan untuk melakukan beberapa lemparan dadu.
const diceRoller = new DiceRoller ( ) ;
// Returns the total rolled value
const roll = diceRoller . rollValue ( "2d20kh1" ) ;
console . log ( roll ) ;
// Returns an object representing the dice roll, use to display the component parts of the roll
const rollObject = diceRoller . roll ( "2d20kh1" ) ;
console . log ( rollObject . value ) ;
Pustaka ini menampilkan dua kelas, DiceRoller
dan DiscordRollRenderer
.
DiceRoller
Kelas DiceRoller
mengelola penguraian string dadu dan melakukan pelemparan berdasarkan hasilnya.
// Creates a new instance of the DiceRoller class
const roller = new DiceRoller ( ) ;
Konstruktor default menggunakan Math.random
dan menerapkan jumlah lemparan per dadu maksimum 1000. Ini dapat ditentukan menggunakan kelebihan konstruktor berikut.
DiceRoller(GeneratorFunction)
Anda dapat menentukan fungsi yang akan digunakan sebagai penghasil angka acak dengan pelempar dadu. Fungsi ini harus bertipe () => number
dan mengembalikan angka antara 0 dan 1. Secara default, fungsi ini menggunakan metode Math.random
bawaan.
// Default constructor using Math.random
const roller = new DiceRoller ( ) ;
// Uses a custom random generator that always returns 0.5
const roller = new DiceRoller ( ( ) => 0.5 ) ;
Ini dapat dibaca atau dimodifikasi menggunakan properti randFunction
.
roller . randFunction = ( ) => 0.5 ;
DiceRoller(GeneratorFunction, MaxRollsPerDie)
Untuk mencegah upaya menguraikan pelemparan dadu dalam jumlah yang sangat besar, jumlah pelemparan maksimum untuk sebuah dadu dapat ditentukan. Nilai default diatur ke 1000.
// Uses the default constructor with a limit of 100 rolls per die
const roller = new DiceRoller ( null , 100 ) ;
// Uses a custom random generator that always returns 0.5, and a limit of 10 rolls per die
const roller = new DiceRoller ( ( ) => 0.5 , 10 ) ;
Ini dapat dibaca atau dimodifikasi menggunakan properti maxRollCount
.
roller . maxRollCount = 75 ;
Setelah kelas DiceRoller
dibuat, ada tiga opsi untuk melakukan pelemparan dadu:
Metode rollValue
mengambil input string dadu, menguraikannya, melakukan pelemparan dan mengembalikan hasil nilai angka yang dihitung.
// Rolls 2 d20 dice and keeps the value of the highest
const roll = roller . rollValue ( "2d20kh1" ) ;
// Prints out the numeric value result
console . log ( roll ) ;
Metode roll
mengambil masukan string dadu, menguraikannya, melakukan pelemparan, lalu mengembalikan objek yang mewakili pelemparan tersebut. Dengan menggunakan objek roll, Anda dapat membuat fungsionalitas tampilan roll Anda sendiri, bukan hanya mengeluarkan nilai akhir.
// Rolls 2 d20 dice and keeps the value of the highest
const roll = roller . roll ( "2d20kh1" ) ;
// Print out the full roll breakdown
printDiceRoll ( roll ) ;
// Prints out the numeric value result
console . log ( `Final roll value: ${ roll . Value } ` ) ;
Lihat keluaran hasil roll di bagian tipe keluaran di bawah untuk detail lebih lanjut tentang objek yang dikembalikan.
Metode parse
mengambil input string dadu, mem-parsingnya, dan mengembalikan representasi input yang diurai. Ini dapat digunakan untuk melakukan pelemparan dadu atau membuat ulang masukan asli. Metode rollParsed
mengambil hasil parsing ini sebagai input, melakukan roll dan mengembalikan output yang sama seperti dari metode roll
.
// Rolls 2 d20 dice and keeps the value of the highest
const parsedInput = roller . parse ( "2d20kh1" ) ;
// Print out a re-constructed input string
printParsedInput ( parsedInput ) ;
// Run the roller on the parsed object
const roll = roller . rollParsed ( parsedInput ) ;
// Print out the full roll breakdown
printDiceRoll ( roll ) ;
// Print out the numeric value result
console . log ( `Final roll value: ${ roll . Value } ` ) ;
Lihat keluaran gulungan yang diurai di bagian jenis keluaran di bawah untuk detail lebih lanjut tentang objek yang dikembalikan.
DiscordRollRenderer
Kelas DiscordRollRenderer
adalah contoh kelas penyaji yang mengambil masukan yang digulung yang diwakili oleh objek RollBase
dan merendernya menjadi string dalam format penurunan harga, yang kompatibel dengan Discord.
// Creates a new instance of the DiceRoller class
const renderer = new DiscordRollRenderer ( ) ;
DiscordRollRenderer
mengekspos metode render
tunggal dengan parameter tunggal, objek RollBase
untuk dirender, dan mengembalikan string yang dirender.
// Rolls 2 d20 dice and keeps the value of the highest
const roll = roller . rollValue ( "2d20kh1" ) ;
// Get the formatted string
const render = renderer . render ( roll ) ;
console . log ( render ) ;
Untuk mengembangkan perpustakaan ini, cukup kloning repositori, jalankan instalasi:
npm install
Kemudian lakukan build:
npm run build
Ini melakukan empat hal:
# Clean any existing builds
npm run clean
# Build the dice grammer
npx pegjs src/diceroll.pegjs
# Run tslint against the project
tslint -c tslint.json --project tsconfig.json
# Then run webpack to build and package everything up nicely
webpack
Untuk menjalankan rangkaian pengujian, gunakan:
npm run test
Hanya itu saja!
Tipe objek berikut adalah output dari kelas DiceRoller
, dan tersedia sebagai antarmuka untuk pengguna skrip ketikan.
Objek yang dikembalikan oleh hasil roll terdiri dari tipe berikut.
RollBase
Kelas dasar untuk semua pelemparan dadu, diperluas berdasarkan properti tipe.
Milik | Jenis | Keterangan |
---|---|---|
kesuksesan | boolean | Apakah pelemparannya berhasil, untuk pelemparan nomor target. Contoh: 3d6 > 3 |
jenis | RollType | Jenis gulungan yang diwakili oleh objek ini. |
sah | boolean | Apakah roll tersebut masih berlaku, dan masuk dalam perhitungan. |
nilai | number | Nilai yang digulung atau dihitung dari gulungan ini. |
label | string | Label tampilan untuk gulungan ini. Properti ini opsional. |
memesan | number | Properti yang digunakan untuk mengatur pemesanan lemparan dadu dalam grup. |
RollType
Daftar jenis gulungan yang valid. Nilai yang mungkin adalah:
"number"
"diceexpressionroll"
"expressionroll"
"mathfunction"
"grouproll"
"fate"
"die"
"roll"
"fateroll"
GroupedRoll
Antarmuka perantara diperluas untuk kelompok dadu. Antarmuka ini memperluas RollBase
.
Milik | Jenis | Keterangan |
---|---|---|
dadu | Array< RollBase > | Gulungan dimasukkan sebagai bagian dari grup ini. |
DiceExpressionRoll
Representasi ekspresi dadu. Antarmuka ini memperluas GroupedRoll
.
Contoh
2d20 + 6d6
Milik | Jenis | Keterangan |
---|---|---|
jenis | "diceexpressionroll" | Jenis gulungan yang diwakili oleh objek ini. |
operasi | Array< DiceGroupMathOperation > | Operasi yang harus dilakukan pada gulungan. |
ExpressionRoll
Representasi ekspresi matematika. Antarmuka ini memperluas GroupedRoll
.
Contoh
20 * 17
Milik | Jenis | Keterangan |
---|---|---|
jenis | "expressionroll" | Jenis gulungan yang diwakili oleh objek ini. |
operasi | Array< MathOperation > | Operasi yang harus dilakukan pada gulungan. |
MathFunctionRoll
Representasi fungsi matematika. Antarmuka ini memperluas RollBase
.
Contoh
floor(20 / 17)
Milik | Jenis | Keterangan |
---|---|---|
jenis | "expressionfunc" | Jenis gulungan yang diwakili oleh objek ini. |
op | MathFunction | Operasi yang harus dilakukan pada gulungan. |
expr | RollBase | Ekspresi dimana fungsi tersebut diterapkan. |
GroupRoll
Representasi sekelompok gulungan
Contoh
{4d6,3d6}. Antarmuka ini memperluas
GroupedRoll
.
Milik | Jenis | Keterangan |
---|---|---|
jenis | "grouproll" | Jenis gulungan yang diwakili oleh objek ini. |
DiceRollResult
Hasil pelemparan sekelompok dadu. Antarmuka ini memperluas RollBase
.
Contoh
6d20
Milik | Jenis | Keterangan |
---|---|---|
mati | RollBase | Mati yang diwakili oleh hasil ini. |
jenis | "die" | Jenis gulungan yang diwakili oleh objek ini. |
gulungan | DieRollBase [] | Setiap pelemparan dadu. |
menghitung | RollBase | Jumlah pelemparan dadu. |
cocok | boolean | Apakah ini hasil pertandingan. |
DieRollBase
Antarmuka perantara diperluas untuk gulungan dadu individual (lihat di bawah). Antarmuka ini memperluas RollBase
.
Milik | Jenis | Keterangan |
---|---|---|
gulungan | number | Hasil pelemparan dadu. |
cocok | boolean | Apakah lemparan ini cocok. |
DieRoll
Sebuah gulungan pada dadu biasa. Antarmuka ini memperluas DieRollBase
.
Contoh
d20
Milik | Jenis | Keterangan |
---|---|---|
mati | number | Nomor dadu yang akan dilempar. |
jenis | "roll" | Jenis gulungan yang diwakili oleh objek ini. |
kritis | CriticalType | Jika peran ini sukses atau gagal (untuk rendering). |
FateDieRoll
Nasib mati. Antarmuka ini memperluas DieRollBase
.
Contoh
dF
Milik | Jenis | Keterangan |
---|---|---|
jenis | "fateroll" | Jenis gulungan yang diwakili oleh objek ini. |
Antarmuka berikut diekspos oleh perpustakaan sebagai representasi ulang dari string input yang diurai. Respons dari metode parse
adalah objek RootType
dan dapat berupa antarmuka apa pun yang memperluasnya.
ParsedObjectType
Daftar jenis gulungan yang valid. Nilai yang mungkin adalah:
"number"
"inline"
"success"
"failure"
"crit"
"critfail"
"match"
"keep"
"drop"
"group"
"diceExpression"
"sort"
"explode"
"compound"
"penetrate"
"reroll"
"rerollOnce"
"target"
"die"
"fate"
"expression"
"math"
"mathfunction"
ParsedType
Ini adalah antarmuka dasar untuk semua tipe yang diurai.
Milik | Jenis | Keterangan |
---|---|---|
jenis | string | Jenis item yang diurai yang diwakili oleh objek ini. |
RootType
Ini adalah antarmuka dasar untuk subset tipe yang diurai, hanya tipe yang bisa menjadi tipe root. Objek ini memperluas antarmuka ParsedType
.
Milik | Jenis | Keterangan |
---|---|---|
label? | string | Label teks yang dilampirkan pada gulungan ini. Properti ini opsional. |
akar | boolean | Bendera boolean untuk menunjukkan apakah ini adalah akar dari pohon parse. |
NumberType
Objek ini mewakili satu nomor dalam input. Objek ini memperluas antarmuka RootType
.
Milik | Jenis | Keterangan |
---|---|---|
jenis | "number" | Jenis item yang diurai yang diwakili oleh objek ini. |
nilai | number | Nilai nomor tersebut. |
InlineExpression
Objek ini mewakili ekspresi dadu sebaris dalam string, dibungkus dalam tanda kurung siku ganda. Objek ini memperluas antarmuka RootType
.
Contoh
I want to roll [[2d20]] dice
Milik | Jenis | Keterangan |
---|---|---|
jenis | "inline" | Jenis item yang diurai yang diwakili oleh objek ini. |
expr | Expression | Ekspresi yang diurai sebagai string sebaris. |
AnyRoll
Tipe gabungan yang mewakili gulungan valid apa pun. Ini adalah kombinasi dari jenis berikut:
GroupedRoll
FullRoll
NumberType
ModGroupedRoll
Objek ini mewakili gulungan yang dikelompokkan dengan pengubah opsional. Objek ini memperluas antarmuka RootType
.
Contoh
{4d6+3d8}kh1
Milik | Jenis | Keterangan |
---|---|---|
mod | Array< KeepDropModType , SuccessFailureModType > | Pengubah yang akan diterapkan pada gulungan yang dikelompokkan. |
SuccessFailureCritModType
Sebuah objek yang mewakili pengubah tes keberhasilan. Objek ini memperluas antarmuka ParsedType
. Pengubah "success"
atau "failure"
mengubah hasilnya menjadi hasil jenis sukses yang mengembalikan jumlah gulungan yang memenuhi target. Pengubah "crit"
atau "critfail"
menguji roll untuk mengetahui apakah roll tersebut harus ditampilkan sebagai keberhasilan kritis atau kegagalan kritis.
Contoh
Berhasil:
3d6>3
Kegagalan:3d6f<3
Milik | Jenis | Keterangan |
---|---|---|
jenis | "success", "failure", "crit", "critfail" | Jenis item yang diurai yang diwakili oleh objek ini. |
mod | CompareOperation | Jenis pemeriksaan yang digunakan untuk kondisi tersebut. |
expr | RollExpression | Ekspresi yang mewakili kondisi kesuksesan. |
SuccessFailureModType
Setara dengan SuccessFailureCritModType
tetapi hanya mendukung pengubah "sukses" dan "kegagalan". Objek ini memperluas antarmuka SuccessFailureCritModType
.
Contoh
Berhasil:
3d6>3
Kegagalan:3d6f<3
Milik | Jenis | Keterangan |
---|---|---|
jenis | "success", "failure" | Jenis item yang diurai yang diwakili oleh objek ini. |
mod | CompareOperation | Jenis pemeriksaan yang digunakan untuk kondisi tersebut. |
expr | RollExpression | Ekspresi yang mewakili kondisi kesuksesan. |
MatchModType
Objek yang mewakili pengubah tipe pencocokan, digunakan untuk mengubah tampilan keluaran dadu di roll20. Objek ini memperluas antarmuka ParsedType
.
Contoh
2d6m
Ketika digunakan dengan ekstensi mt
, akan mengembalikan jumlah kecocokan yang ditemukan.
Contoh
20d6mt
Argumen tambahan dapat ditentukan untuk meningkatkan jumlah kecocokan yang diperlukan atau untuk menambahkan batasan pada kecocokan.
Contoh
20d6mt3 counts matches of 3 items
Contoh
20d6m>3 Only counts matches where the rolled value is > 3
Milik | Jenis | Keterangan |
---|---|---|
jenis | "match" | Jenis item yang diurai yang diwakili oleh objek ini. |
menit | NumberType | Jumlah minimum kecocokan yang dapat diterima. Properti ini defaultnya adalah 2 sebagai NumberType . |
menghitung | boolean | Apakah akan menghitung pertandingan atau tidak. |
mod? | CompareOperation | Jenis pemeriksaan yang digunakan untuk kondisi kecocokan, jika ditentukan. Bidang ini opsional. |
expr? | RollExpression | Ekspresi yang mewakili kondisi kecocokan, jika ditentukan. Bidang ini opsional. |
KeepDropModType
Sebuah objek yang mewakili pengubah simpan atau lepas, yang menentukan jumlah lemparan dadu yang akan disimpan atau dijatuhkan, baik lemparan tertinggi atau terendah. Objek ini memperluas antarmuka ParsedType
.
Contoh
Simpan:
2d20kh1
Penurunan:2d20dl1
Milik | Jenis | Keterangan |
---|---|---|
jenis | "keep", "drop" | Jenis item yang diurai yang diwakili oleh objek ini. |
tinggi rendah | HighLowType | Apakah akan mempertahankan/menghilangkan gulungan tertinggi atau terendah. |
expr | RollExpression | Ekspresi yang mewakili jumlah gulungan yang harus dipertahankan/dijatuhkan. Properti ini defaultnya adalah 1 sebagai NumberType . Contoh: 2d6 |
GroupedRoll
Objek ini mewakili sekelompok gulungan yang digabungkan, dengan pengubah opsional. Objek ini memperluas antarmuka ModGroupedRoll
.
Contoh
{2d6,3d6}
Milik | Jenis | Keterangan |
---|---|---|
jenis | "group" | Jenis item yang diurai yang diwakili oleh objek ini. |
gulungan | Array< RollExpression > | Kelompok gulungan termasuk dalam kelompok ini. |
RollExpressionType
Objek yang mewakili ekspresi gulungan termasuk gulungan dan grup kompleks, hanya mengizinkan operasi penambahan. Objek ini memperluas antarmuka RootType
.
Contoh
{2d6,3d6}kh1 + {3d6 + 2d6}kh2
Milik | Jenis | Keterangan |
---|---|---|
kepala | RollOrExpression | Gulungan awal atau ekspresi untuk ekspresi gulungan. |
jenis | "diceExpression" | Jenis item yang diurai yang diwakili oleh objek ini. |
operasi | Array< MathType < RollOrExpression , DiceGroupMathOperation >> | Operasi yang diterapkan pada roll atau ekspresi awal. |
RollExpression
Kombinasi tipe pembantu dari ekspresi roll kompleks, roll, atau ekspresi matematika. Mewakili jenis berikut:
RollExpressionType
RollOrExpression
RollOrExpression
Kombinasi tipe pembantu dari gulungan, atau ekspresi matematika. Mewakili jenis berikut:
FullRoll
Expression
FullRoll
Objek yang mewakili lemparan termasuk lemparan dadu, dan pengubah apa pun. Objek ini memperluas antarmuka DiceRoll
.
Contoh
2d6kh1
Milik | Jenis | Keterangan |
---|---|---|
mod? | Array< ReRollMod , KeepDropModType > | Pengubah apa pun yang melekat pada gulungan. Properti ini opsional. |
target? | Array< SuccessFailureCritModType > | Target keberhasilan atau kegagalan apa pun untuk proses tersebut. Properti ini opsional. |
cocok? | MatchModTyp | Pengubah kecocokan apa pun untuk roll. Properti ini opsional. |
menyortir? | SortRollType | Operasi pengurutan apa pun yang akan diterapkan pada gulungan. Properti ini opsional. |
SortRollType
Operasi pengurutan untuk diterapkan pada gulungan. Objek ini memperluas antarmuka ParsedType
.
Contoh
10d6sa
Milik | Jenis | Keterangan |
---|---|---|
jenis | "sort" | Jenis item yang diurai yang diwakili oleh objek ini. |
bertanya | boolean | Apakah akan mengurutkan secara ascending atau descending. |
ReRollMod
Sebuah objek yang mewakili operasi pemutaran ulang untuk diterapkan pada gulungan. Dapat berupa salah satu dari tipe berikut:
"explode"
: melempar kembali dadu apa pun yang memenuhi target, dilanjutkan jika pelemparan baru cocok"compound"
: melempar kembali dadu apa pun yang memenuhi target, melanjutkan jika lemparan baru cocok dan menambahkan hasilnya ke dalam satu lemparan"penetrate"
: melempar kembali dadu apa pun yang memenuhi target dengan mengurangi 1 dari nilai baru, dilanjutkan jika pelemparan baru cocok"reroll"
: melempar kembali sebuah dadu selama dadu tersebut memenuhi target, mempertahankan pelemparan terakhir"rerollOnce"
: melempar kembali sebuah dadu satu kali jika memenuhi target, mempertahankan pelemparan baruContoh
2d6!
Milik | Jenis | Keterangan |
---|---|---|
jenis | "explode", "compound", "penetrate", "reroll", "rerollOnce" | Jenis item yang diurai yang diwakili oleh objek ini. |
target | TargetMod | Pengubah target untuk membandingkan nilai roll. |
TargetMod
Sebuah objek yang mewakili pengubah target untuk diterapkan pada gulungan. Objek ini memperluas antarmuka ParsedType
.
Milik | Jenis | Keterangan |
---|---|---|
jenis | "target" | Jenis item yang diurai yang diwakili oleh objek ini. |
mod | CompareOperation | Jenis pemeriksaan yang digunakan untuk kondisi tersebut. |
nilai | RollExpr | Ekspresi yang mewakili nilai kondisi target. |
DiceRoll
Representasi gulungan dadu. Objek ini memperluas antarmuka RootType
.
Contoh
2d6
Milik | Jenis | Keterangan |
---|---|---|
mati | RollExpr , FateExpr | Nilai dadu yang akan dilempar, dapat berupa dadu takdir, angka, atau ekspresi pelemparan yang rumit. |
menghitung | RollExpr | Jumlah waktu untuk melempar dadu ini. |
jenis | "die" | Jenis item yang diurai yang diwakili oleh objek ini. |
FateExpr
Representasi dari nasib yang mati bergulir. Objek ini memperluas antarmuka ParsedType
.
Contoh
2dF
Milik | Jenis | Keterangan |
---|---|---|
jenis | "fate" | Jenis item yang diurai yang diwakili oleh objek ini. |
RollExpr
Kombinasi tipe pembantu dari angka atau nilai yang bukan merupakan ekspresi. Mewakili jenis berikut:
MathExpression
NumberType
Expression
Kombinasi tipe pembantu dari tipe ekspresi. Mewakili jenis berikut:
InlineExpression
MathExpression
MathExpression
Ekspresi tipe matematika antara dua atau lebih pelemparan dadu. Objek ini memperluas antarmuka RootType
.
Contoh
2d6 + 3d6 * 4d6
Milik | Jenis | Keterangan |
---|---|---|
kepala | AnyRoll | Gulungan awal untuk melakukan operasi melawan. |
jenis | "expression" | Jenis item yang diurai yang diwakili oleh objek ini. |
operasi | Array< MathType < AnyRoll >> | Operasi yang diterapkan pada gulungan awal. |
MathType
Sebuah objek yang mewakili operasi matematika roll yang akan diterapkan dan nilai untuk menerapkannya. Objek ini memperluas antarmuka ParsedType
. Antarmuka untuk objek ini menggunakan tipe templat TailType
yang menentukan tipe nilai kedua yang digunakan dalam operasi. Ada tipe template kedua OpValues
yang menentukan tipe operasi yang dapat digunakan. Defaultnya adalah Array<
MathOperation
>`.
Contoh
+ 3d6 (as part of 2d6 + 3d6)
Milik | Jenis | Keterangan |
---|---|---|
jenis | "math" | Jenis item yang diurai yang diwakili oleh objek ini. |
op | OpValues | Operasi matematika yang harus dilakukan. |
ekor | TailType | Nilai kedua yang digunakan dalam operasi. |
MathFunctionExpression
Sebuah objek yang mewakili fungsi matematika yang akan diterapkan dan ekspresi untuk menerapkannya. Objek ini memperluas antarmuka RootType
.
Contoh
floor(3d6 / 2d4)
Milik | Jenis | Keterangan |
---|---|---|
jenis | "mathfunction" | Jenis item yang diurai yang diwakili oleh objek ini. |
op | MathFunction | Fungsi yang akan diterapkan. |
expr | AnyRoll | Ekspresi untuk menerapkan fungsi tersebut. |
Berikut ini adalah tipe dukungan yang digunakan oleh antarmuka di atas.
DiceGroupMathOperation
Tipe pembantu yang mewakili operasi valid untuk operasi matematika pada sekelompok dadu.
"+" | "-"
MathOperation
Tipe pembantu yang mewakili operasi valid untuk operasi matematika.
"+" | "-" | "*" | "/" | "%" | "**"
MathFunction
Tipe pembantu yang mewakili operasi valid untuk operasi matematika.
"floor" | "ceil" | "round" | "abs"
CriticalType
Tipe pembantu yang digunakan saat menandai lemparan sebagai keberhasilan atau kegagalan kritis.
"success" | "failure" | null
CompareOperation
Tipe pembantu untuk operasi yang tersedia untuk titik perbandingan.
">" | "<" | "="
HighLowType
Tipe pembantu yang digunakan untuk menentukan gulungan mana yang harus dipertahankan atau dijatuhkan.
"h" | "l" | null