first version for basic functions
use meta program method to refact code
second version
Merge github.com:xumc/ruby_2048