Advertisement
Guest User

Untitled

a guest
Apr 5th, 2014
1,852
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. M[16], X = 16, W, k;
  2. main() {
  3.     T(system("stty cbreak"));
  4.     puts(W & 1 ? "WIN" : "LOSE");
  5. }
  6. K[] = {
  7.     2, 3, 1
  8. };
  9. s(f, d, i, j, l, P) {
  10.     for (i = 4; i--;)
  11.         for (j = k = l = 0; k < 4;) j < 4 ? P = M[w(d, i, j++)], W |= P >> 11, l * P && (f ? M[w(d, i, k)] = l <<
  12.             (l == P) : 0, k++), l = l ? P ? l - P ? P : 0 : l : P : (f ? M[w(d, i, k)] = l : 0, ++k, W |= 2 * !l, l = 0);
  13. }
  14. w(d, i, j) {
  15.     return d ? w(d - 1, j, 3 - i) : 4 * i + j;
  16. }
  17. T(i) {
  18.     for (i = X + rand() % X; M[i % X] * i; i--);
  19.     i ? M[i % X] = 2 << rand() % 2 : 0;
  20.     for (W = i = 0; i < 4;) s(0, i++);
  21.     for (i = X, puts("\e[2J\e[H"); i--; i % 4 ||
  22.         puts("")) printf(M[i] ? "%4d|" : "    |", M[i]);
  23.     W - 2 || read(0, & k, 3) | T(s(1, K[(k >> X) % 4]));
  24. } //[2048]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement