我把芯片显示为DOM中的div。
如果我有一个芯片,我有1个芯片,2个芯片,2个芯片,3个芯片,3个芯片,4个芯片,3个芯片。
由于这可以快速获得高的数字与许多不同颜色的9名玩家的芯片,我想要一个函数限制这个数字到合理的值,同时保留对芯片数量的视觉指示。
// Map range 1-100 to 1-20 in a super exponential fashion so smaller chips don't get any smaller, but big numbers get trimmed down.
function m_n_chips(actual_chips: number) {
if (actual_chips < 4) { return actual_chips }
// what else do I need here
}
发布于 2022-06-18 07:37:28
描述的行为让我想起了根函数。它不影响小的数字,但我们插入到函数中的数字越大,它就越被压缩。
你可以通过将x乘以一个系数来改变“压扁因子”。
或者,您可以使用一个对数函数,它与指数相反。这会产生更大的压扁效果。
function m_n_chips(actual_chips: number) {
if (actual_chips < 4) { return actual_chips }
result = Math.sqrt(4 * x);
// other option: use logarithm
// result = Math.log(x) / Math.log(4);
return Math.round(result);
}
返回时,我们将结果转换为最近的整数。
希望这能帮上忙!
(顺便说一句:为了将来,请提供更多的信息,例如语言、项目细节以及你是如何回答问题的)
https://stackoverflow.com/questions/72668322
复制相似问题