1190
votes
Accepted
Build a working game of Tetris in Conway's Game of Life
This began as a quest but ended as an odyssey.
Quest for Tetris Processor, 2,940,928 x 10,295,296
The pattern file, in all its glory, can be found here, viewable in-browser here.
This project is the ...
Community wiki
830
votes
Build a working game of Tetris in Conway's Game of Life
Part 2: OTCA Metapixel and VarLife
OTCA Metapixel
(Source)
The OTCA Metapixel is a construct in Conway's Game of Life that can be used to simulate any Life-like cellular automata. As the LifeWiki (...
795
votes
Build a working game of Tetris in Conway's Game of Life
Part 3: Hardware
With our knowledge of logic gates and the general structure of the processor, we can start designing all the components of the computer.
Demultiplexer
A demultiplexer, or demux, is ...
754
votes
Build a working game of Tetris in Conway's Game of Life
Part 4: QFTASM and Cogol
Architecture Overview
In short, our computer has a 16-bit asynchronous RISC Harvard architecture. When building a processor by hand, a RISC (reduced instruction set computer)...
707
votes
Build a working game of Tetris in Conway's Game of Life
Part 6: The Newer Compiler to QFTASM
Although Cogol is sufficient for a rudimentary Tetris implementation, it is too simple and too low-level for general-purpose programming at an easily readable ...
81
votes
Magic the Gathering: Friends or Foes?
JavaScript (ES6), 26 23 17 15 14 bytes
Takes input as two ASCII codes in currying syntax (a)(b). Returns 4 for ...
78
votes
Score rock-paper-scissors
Groovy, 67 56 50 Bytes
{a,b->Math.sin(1.3*((int)b[0]-(int)a[0])).round()}
Try it online!
Turns out that the rock, paper, scissors game has a pretty cool ...
66
votes
Cheat at Rock-Paper-Scissors-Lizard-Spock
Perl 6, 36 30 bytes
{<Spock Lizard Rock>[.comb%4]}
Try it online!
Gets each output based on the length of the input modulo 4. I think this is probably the ...
61
votes
Rock, Polyglot, Scissors
Python, brainfuck and JavaScript, 103 99 bytes Yay under 100 bytes!
...
44
votes
Score rock-paper-scissors
C, 50 35 bytes
#define f(i)*(short*)(i+7)%51%4%3-1
Call f with a string containing both players, without separator, and it ...
41
votes
Rock, Polyglot, Scissors
Python 2, Ruby, Retina, 90 83 bytes
-7 bytes thanks to Value Ink
s=['rock','paper','scissors']
print s[s.index((0and gets or input()))+(0and-2or-1)]
Try it ...
36
votes
Magic the Gathering: Friends or Foes?
Python 2, 19 bytes
"WUBRGWGRBUW".count
Try it online!
An anonymous function: returns 1 for friends and ...
36
votes
Magic the Gathering: Friends or Foes?
Jelly, 6 bytes
ạg105Ị
Takes two code points as argument. Yields 1 for friends, 0 for foes.
Try it online!
Background
Let n and m be the code points of two ...
32
votes
Accepted
Google's doodle on kids coding: shortest program solving all the levels
Not my answer
6 blocks
The user Alex found a shorter solution, of length 6. I can confirm that their solution works:
O(O(Br G G, 6) Br, 5)
They attempted to ...
29
votes
Accepted
Choose The Powerball Numbers!
Dyalog APL, 10 bytes
(5?69),?26
Dyadic ? is ⍺ distinct random numbers in [1,⍵], and monadic ...
29
votes
Yahtzee Small Straight Detection
MATL, 7 12 11 9 8 6 bytes
Thanks a lot to @lirtosiast for removing 2 bytes
ud7BXf
Truthy is an array of nonzero values. Falsy is empty array (no output displayed).
...
27
votes
Is my Diffy game degenerate?
Pyth, 6 bytes
suaV+e
Test suite
This program is very suave. 0 (falsy) means all zeroes, anything else (truthy) means not all zeroes.
How it works:
...
24
votes
Accepted
24
votes
Super Mario 64 RNG
x86 32-bit machine code, 21 bytes
89 C8 30 C4 86 C4 D1 E8 73 04 66 35 74 9E 66 35 74 E0 30 C8 C3
Try it online!
Uses the ...
23
votes
Invert a Minesweeper Board
CJam, 58 57 bytes
0WX]2m*qN/{'*f+z}2*f{\~@m<fm<W<}:..+{W<{_'*#'*@'*-,?}/N}/
Input should not end with a linefeed. Output contains ...
22
votes
A game of dice, but avoid number 6
NeoBot
Instead, only try to realize the truth - there is no spoon
NeoBot peeks into the matrix (aka random) and predicts if the next roll will be a 6 or not - it can't do anything about being handed ...
21
votes
Magic the Gathering: Friends or Foes?
Befunge-98, 13 12 bytes
~~-9%5%3%!.@
Try it online!
Prints 0 for friends and 1 for foes
...
21
votes
Rock, Polyglot, Scissors
V, Brain-flak, and Python 2, 97, 86, 81, 77, 75 bytes
o='rock paper scissors'.split()
lambda s:o[o.index(s)-1]#ddt.C rHd*wywVp
Two bytes saved ...
20
votes
Accepted
The Combinatorics of Transistor
CJam (56 bytes)
q~4@:Nm*:$_&{:+1$\-N),&},f{1$1$:+-\0-:(_e`0f=+++:m!:/}:+
Online demo
This is an optimised version of the reference implementation I ...
20
votes
Accepted
Tool-Assisted Code Golf
Python 2, 69 48 46 44 bytes
print"start\n\n"*19+(27*"A right\n"+"\n")*99
See it in action on youtube!
Automatically found with (a modified version of) this ...
20
votes
Formic Functions - Ant Queen of the Hill Contest
Forensic Ants
All my answers are sharing the same set of low-level helper functions.
Search for "High-level logic begins here" to see the code specific to this answer.
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
game × 308code-golf × 233
code-challenge × 33
king-of-the-hill × 30
decision-problem × 28
grid × 28
board-game × 25
random × 23
string × 20
number × 16
card-games × 14
array × 10
math × 9
javascript × 9
puzzle-solver × 9
ascii-art × 8
arithmetic × 8
combinatorics × 8
python × 8
fastest-code × 7
path-finding × 7
graphical-output × 6
minesweeper × 6
go × 6
kolmogorov-complexity × 5