Skip to content

Commit 07faa58

Browse files
Show hashes per second with SI units
1 parent c354b21 commit 07faa58

File tree

4 files changed

+49
-4
lines changed

4 files changed

+49
-4
lines changed

.github/makecode/blocks.png

23.7 KB
Loading

.github/makecode/blocksdiff.png

259 KB
Loading

main.blocks

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

main.ts

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,48 @@ function passed_requirements () {
6363
}
6464
return true
6565
}
66+
function number_to_si_divider (num: number) {
67+
if (num > 1e+24) {
68+
return 1e+24
69+
} else if (num > 1e+21) {
70+
return 1e+21
71+
} else if (num > 1000000000000000000) {
72+
return 1000000000000000000
73+
} else if (num > 1000000000000000) {
74+
return 1000000000000000
75+
} else if (num > 1000000000000) {
76+
return 1000000000000
77+
} else if (num > 1000000000) {
78+
return 1000000000
79+
} else if (num > 1000000) {
80+
return 1000000
81+
} else if (num > 1000) {
82+
return 1000
83+
} else {
84+
return 1
85+
}
86+
}
87+
function number_to_si_prefix (num: number) {
88+
if (num > 1e+24) {
89+
return "Y"
90+
} else if (num > 1e+21) {
91+
return "Z"
92+
} else if (num > 1000000000000000000) {
93+
return "E"
94+
} else if (num > 1000000000000000) {
95+
return "P"
96+
} else if (num > 1000000000000) {
97+
return "T"
98+
} else if (num > 1000000000) {
99+
return "G"
100+
} else if (num > 1000000) {
101+
return "M"
102+
} else if (num > 1000) {
103+
return "k"
104+
} else {
105+
return ""
106+
}
107+
}
66108
function make_buttons () {
67109
make_buy_autoclicker()
68110
make_buy_computer()
@@ -307,7 +349,7 @@ spriteutils.createRenderable(0, function (screen2) {
307349
if (controller.B.isPressed()) {
308350
images.print(screen2, "T/S: " + ticks_per_second + "/" + max_ticks_per_second, sprite_upgrades_button.left, sprite_upgrades_button.top - 15, 1)
309351
} else {
310-
images.print(screen2, "H/S: " + average_hash_per_sec, sprite_upgrades_button.left, sprite_upgrades_button.top - 15, 1)
352+
images.print(screen2, pretty_hashes_per_sec(average_hash_per_sec), sprite_upgrades_button.left, sprite_upgrades_button.top - 15, 1)
311353
}
312354
})
313355
spriteutils.createRenderable(0, function (screen2) {
@@ -479,6 +521,9 @@ function make_main_computer () {
479521
blockMenu.onMenuOptionSelected(function (option, index) {
480522
selected = true
481523
})
524+
function pretty_hashes_per_sec (hashes_per_sec: number) {
525+
return "" + number_to_si_prefix(hashes_per_sec) + "H/S: " + spriteutils.roundWithPrecision(hashes_per_sec / number_to_si_divider(hashes_per_sec), 2)
526+
}
482527
let local_upgrade_got: blockObject.BlockObject = null
483528
let local_upgrades_shown = 0
484529
let local_available_upgrades: blockObject.BlockObject[] = []
@@ -516,7 +561,7 @@ let average_hash_per_sec = 0
516561
let ticks_per_second = 0
517562
let max_ticks_per_second = 0
518563
let debug = false
519-
debug = false
564+
debug = true
520565
max_ticks_per_second = 20
521566
let raw_tick_count = 0
522567
ticks_per_second = 0

0 commit comments

Comments
 (0)