Skip to content

Instantly share code, notes, and snippets.

@ChillMouse
Last active March 17, 2018 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ChillMouse/cc6b5175042badbc0e17fce3f7d90eab to your computer and use it in GitHub Desktop.
Save ChillMouse/cc6b5175042badbc0e17fce3f7d90eab to your computer and use it in GitHub Desktop.
ScrtiptPascal_Mining.exe / Имитация майнинга на Pascal
program MineVision;
uses crt; // Подключение библиотеки для спец. команд
var hash, blockchain, timer, wallet: integer; // П Р М Н Ы
totalTimer: BigInteger; // Е Е Е Н Е
begin // Начало
timer := 0; /// Счётчик попыток, именуемый таймером, потому что я учу немецкий язык -_-
wallet := 0; /// Якобы кошелёк
hash := 0; /// Обнуление главной переменной
blockchain := random(99999999); /// Присвоение значения второй главной переменной
repeat /// Нужен для повтора действий, отличается неограниченностью от FOR
blockchain := random(99999999); /// Присвоение нового значения для главной переменной
while hash <> blockchain do /// Самый главный алгоритм
begin
hash := random(99999999); /// Угадывает значение переменной "blockchain"
totalTimer := totalTimer + 1; /// Увеличивает общее кол-во попыток на единицу
timer := timer + 1; /// увеличивает локальный счётчик попыток на единицу
if hash = blockchain /// Проверяет, равны ли главные переменные
then
begin
clrscr; /// Чистит консоль
if timer >= 10000000 /// Система наград
then wallet := wallet + 5 /// Если попыток больше 10 млн, то + 5 BTC
else
begin
if (timer < 10000000) and (timer >= 2000000) /// Если попыток между 2 млн и 10 млн, то + 3 BTC
then wallet := wallet + 3
else wallet := wallet + 1; /// Меньше 2 млн, + 1 BTC
end; // Конец алгоритма "ТОГДА", строка 31
println('Вы соединены с сервером: RussiaHostMining'); /// Полная информация о действиях программы
println('Состояние вашего кошелька: ',wallet,' BTC');
println('Ваша видеокарта совершила всего ',totalTimer,' отправлений');
println('Попыток потрачено ради результата: ',timer);
timer := 0; /// Обнуление локального счётчика
end; // Конец алгоритма "ТОГДА", строка 26
end; // Конец цикла WHILE
until 0 > 1 /// Без этого никак, т.к. иного способа я не знаю, как зациклить выполнение, относится к REPEAT, строка 16
end. // Конец программы
@ChillMouse
Copy link
Author

ChillMouse commented Dec 11, 2017

Оптимизация скорости работы командной строки за счёт удаления вывода четырёх переменных.
Вывод только факта получения валюты и числа, которое равно номеру имитируемого блокчейна.
TTC ---> BTC
Смена цвета строки: Red ---> Yellow

@ChillMouse
Copy link
Author

Нагрузка на ЦП снижена до 1%.

Система наград:
Теперь при выполнении 200к команд выдаётся 3 BTC, при 100к - 2 BTC, менее чем 100к команд - 1 BTC.

@ChillMouse
Copy link
Author

Производительность увеличена в 35 раз.

sleep(7000) ---> sleep(200)

@ChillMouse
Copy link
Author

Рефакторинг кода.
Всего 45 строк.
Нет меток и оператора "GOTO".
Стёр свой ломаный английский, теперь всё на русском.
Отсутствует команда "SLEEP".
Система наград переведена в стадию разработки xD

@ChillMouse
Copy link
Author

ChillMouse commented Mar 6, 2018

Система наград:

от 10 млн ---> 5 BTC

2 млн < timer < 10 млн ---> 3 BTC

<=2 млн ---> 1 BTC

45 ---> 59 строк

@ChillMouse
Copy link
Author

Убран оператор FOR ---> REPEAT

Появляется костыль, который выглядит так: " until 0 > 1 "

59 ---> 57 строк

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment