Моделирование поведения жидкости в ASCII
Отредактировано
3К открытий3К показов
Небольшая программка, моделирующая поведение жидкости в ASCII-режиме и терминале 80×25 символов.
Деобфусцированный код:
#include <stdio.h>
#include <unistd.h>
#include <complex.h>
double complex a[97687], *p, *q, *r = a, w = 0, d;
int x, y;
char b[6856] = "\x1b[2J" "\x1b" "[1;1H ";
char *o = b;
char *t;
int main() {
for (; 0 < (x = getc(stdin)); ) {
w = x > 10 ? 32 < x ? 4[*r++ = w, r] = w+1, *r = r[5] = x == 35, r += 9 : 0, w - I : (x = w + 2);
}
for (; ; puts(o), o = b + 4) {
for (p = a; p[2] = p[1] * 9, p < r; p += 5) {
for (q = a; w = cabs(d = *p - *q) / 2 - 1, q < r; q += 5) {
if (0 < (x = 1 - w)) p[2] += w*w;
}
}
for (p = a; p[3] = G, p < r; p += 5) {
for (q = a; w = cabs (d = *p - *q) / 2 - 1, q < r; q += 5) {
if (0 < (x = 1 - w)) p[3] += w * (d * (3 - p[2] - q[2]) * P + p[4] * V - q[4] * V) / p[2];
}
}
for (x = 011; 2012-1 > x++;) {
b[x] = 0;
}
for (p = a; (t = b + 10 + (x = *p *I) + 80*(y = *p / 2), *p += p[4] += p[3] / 10 *!p[1]), p < r; p += 5) {
x = 0 <= x && x < 79 && 0 <= y && y < 23 ? 1[1 [*t |= 8, t] |= 4, t += 80] =1, *t |= 2 : 0;
}
for (x = 011; 2012-1 > x++;) {
b[x] = " '`-.|//,\\" "|\\_" "\\/\x23\n"[x % 80 - 9 ? x[b] : 16];
}
usleep(12321);
}
return 0;
}
Инструкции по сборке и запуску.
3К открытий3К показов
Также рекомендуем
Искусственный интеллект продолжает показывать себя как отличный инструмент для хакинга и взлома. На этот раз его использовали для перехвата изображения с монитора