
Add new App `Dice.h` to randomly roll the dice(s). The number of dice can range from 1-9 (default 1), and the sides can range from d2-d99 (default d2). To have a haptic feedback we make Dice vibrate on roll. Regarding the use of C++ `<random>` library: There are known problems with `rand()` and `srand()` (see https://en.cppreference.com/w/cpp/numeric/random/rand) and the `<random>` library is preferred for this reason. The function used from `<random>` also avoids a very rare bias that would occur using `rand()` and modulo, when `RAND_MAX` is not a multiple of `d` and the initially generated number falls in the last "short" segment. This commit also updates the seed to derive entropy (via `seed_seq`) from a mix of the system tick count and the x,y,z components of the PineTime motion controller -- taking inspiration from and with credit to @w4tsn (https://github.com/InfiniTimeOrg/InfiniTime/pull/1199) Thanks for suggestions: * in Dice, when rolling 1d2, also show "HEADS" or "TAILS" -- suggestion by @medeyko * ui adjustments and result realignment -- suggestion by @Boteium --------- Co-authored-by: NeroBurner <pyro4hell@gmail.com> Co-authored-by: Riku Isokoski <riksu9000@gmail.com> Co-authored-by: Paul Weiß <45500341+Poohl@users.noreply.github.com> Co-authored-by: FintasticMan <finlay.neon.kid@gmail.com>
78 lines
2.1 KiB
JSON
78 lines
2.1 KiB
JSON
{
|
|
"jetbrains_mono_bold_20": {
|
|
"sources": [
|
|
{
|
|
"file": "JetBrainsMono-Bold.ttf",
|
|
"range": "0x20-0x7e, 0x410-0x44f, 0xB0"
|
|
},
|
|
{
|
|
"file": "FontAwesome5-Solid+Brands+Regular.woff",
|
|
"range": "0xf294, 0xf242, 0xf54b, 0xf21e, 0xf1e6, 0xf017, 0xf129, 0xf03a, 0xf185, 0xf560, 0xf001, 0xf3fd, 0xf1fc, 0xf45d, 0xf59f, 0xf5a0, 0xf027, 0xf028, 0xf6a9, 0xf04b, 0xf04c, 0xf048, 0xf051, 0xf095, 0xf3dd, 0xf04d, 0xf2f2, 0xf024, 0xf252, 0xf569, 0xf06e, 0xf015, 0xf00c, 0xf522, 0xf743"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 20,
|
|
"patches": ["jetbrains_mono_bold_20.c_zero.patch", "jetbrains_mono_bold_20.c_M.patch"]
|
|
},
|
|
"jetbrains_mono_42": {
|
|
"sources": [
|
|
{
|
|
"file": "JetBrainsMono-Regular.ttf",
|
|
"range": "0x25, 0x2b, 0x2d, 0x30-0x3a, 0x4b-0x4d, 0x66, 0x69, 0x6b, 0x6d, 0x74"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 42
|
|
},
|
|
"jetbrains_mono_76": {
|
|
"sources": [
|
|
{
|
|
"file": "JetBrainsMono-Light.ttf",
|
|
"range": "0x25, 0x2D, 0x2F, 0x30-0x3a"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 76
|
|
},
|
|
"jetbrains_mono_extrabold_compressed": {
|
|
"sources": [
|
|
{
|
|
"file": "JetBrainsMono-ExtraBold.ttf",
|
|
"range": "0x30-0x3a"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 80
|
|
},
|
|
"open_sans_light": {
|
|
"sources": [
|
|
{
|
|
"file": "open_sans_light.ttf",
|
|
"symbols": "0123456789"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 150
|
|
},
|
|
"lv_font_sys_48": {
|
|
"sources": [
|
|
{
|
|
"file": "material-design-icons/MaterialIcons-Regular.ttf",
|
|
"range": "0xf00b, 0xe3aa-0xe3ac, 0xe7f6-0xe7f7, 0xe8b8, 0xef44, 0xe40a"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 48
|
|
},
|
|
"fontawesome_weathericons": {
|
|
"sources": [
|
|
{
|
|
"file": "FontAwesome5-Solid+Brands+Regular.woff",
|
|
"range": "0xf185, 0xf6c4, 0xf743, 0xf740, 0xf75f, 0xf0c2, 0xf05e, 0xf73b, 0xf0e7, 0xf2dc"
|
|
}
|
|
],
|
|
"bpp": 1,
|
|
"size": 25
|
|
}
|
|
}
|