Для обробки великих чисел, я хотів би подивитися на те , що я думаю , що це хороший приклад , як вежі героя . Лівий верхній кут:
(джерело: mzstatic.com )
Не вступаючи в геймплей, спосіб обробки чисел порівняно простий: ви бачите два відра чисел. Коли ви піднімаєтесь вище у вежі та робите більше "золота", два відра просто представляють більшу кількість.
120
120M320K - 120 Million
120B631M - 120 Billion
120T134B - 120 Trillion
Після того, як гра проходить T, вона переходить у a, b, c ... z, aa, ab, ...
56aa608z
Роблячи це таким чином, він все ще дає змогу дізнатися, скільки золота ви "заробили" ..., не занурюючи гру в деталі.
Ви дійсно переймаєтеся Мільйонами, коли ваше число минуло Трильйони?
Чи зберігає це число в Int, Big Int, Float, Double, Decimal, ...? Спеціальний масив? Коли ви обробляєте цифри таким "нечітким" способом, я не думаю, що це має значення ...
Все, що, мабуть, має значення - це найважливіша частина - у цьому випадку перші 6 ... Після цього МОЖЕ наступні 3 або 6 - оскільки заробив декілька сотень К може перекинутися на Мільйони - але там отримує бал, коли заробляти кілька сотень К не вплинуть на вас, коли ви натиснете T ... набагато менше аа і далі.
Ваш пробіг буде змінюватися (залежно від того, що ви хочете / потребуєте) ... Я просто подумав, що я поставив би 2с на те, що, на мою думку, є хорошим / простим прикладом.
Редагувати:
Подальші думки щодо того, як я б запровадив систему нумерації: я мав би число з 3-ма важливими частинами: XXXX.YYY (...) xZZZ.
X is the most significant digits,
Y trailing
Z the multiplier (multiple of 3).
Отже 120.365x1 було б 120k365 ... 120.365x2 було б 120M365K ... і т. Д. Натисніть на 4 провідні (1200.365x2), а потім просто оберніть числа 1.200365 (...) x3. Бам. У вас є 1B200M.
XY легко впишеться в десятковий або поплавковий ... з Z сидить поруч із ним як int / unsigned int.
За допомогою поплавця ви зможете зберегти значну - але все більш неважливу - кількість цифр після крапки.
Z легко представляє легко зрозумілий блок чисел:
K = 1
M = 2
B = 3
T = 4
a = 5
...
z = 31 (I may be off on this)
aa = 32
...
az = 58
ba = 59
...
...