Most Well Rounded

もっともよく練り上げられている

受賞者:James Bonfield

引用元:https://www.ioccc.org/1993/rince.c

審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1993/rince.hint

動作

セルオートマトンに基づいたゲーム詰め合わせ。次のようにコンパイル・実行する。

$ gcc -o rince rince.c -lncurses

$ ./rince

デフォルトではシューティング。jで左、lで右、kでミサイル発射。連射できないよう、1回撃ったら1度動かないと次が発射できない。

########################################
#                                      #
#      >   >   >   ><   >   >   >   >  #
#    <  <  <  <  <      <  <           #
#      >   >   >      v>   >   >   >   #
#    <  <  <  <  <  <  <v> <           #
#   >   >      >          v>   >   >   #
#    <  <  <  <  <  < ><v <            #
#v                    v     v          #
#                   vv                 #
#v v              vv                   #
#v              vv                     #
#v v v        vv                       #
#  v v      vv                         #
#v v       v       ^                   #
#v v   v                              v#
#     v  v                             #
#v   v   v v                         v #
#v  v  v           x                  v#
########################################

./rince rince.data1で起動するとブロック崩し。,で左、/で右、.でボール発射。

###################################
#                                 #
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#
#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#
#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
#                                 #
#                                 #
#      #   #    #        \        #
#      #   #                      #
#      #   #                      #
#                                 #
#                                 #
#                                 #
#                           ====  #
#                                 #
-----------------------------------

./rince rince.data2では[[1991/rince]]と同じパズルゲームができる。

######################
#do#.......#..o.o.#..#
#oo#.#K###.#j.#.#.#h.#
#.@..#..H.....hh#.#od#
#oo..H..####k#d...#.o#
#######J#o.#..o#.##.o#
#dd##oo.#o.###ddo#...#
#.Od###.#.o####do#..d#
#.o.H........#####o..#
#.oo##..#O....O.O.O.o#
#d..#ooooO.o#...O....#
######################

./rince rince.data3倉庫番のステージ11、./rince rince.data4はステージ13。

.         ####
     #### #  #
   ### o###m #
  ##      m  #
 ##  m mm## ##
 #  #m##     #
 # # m mm # ###
 #   m #  # m #####
####    #  mm #   #
#### ## m         #
#.    ###  ########
#.. ..# ####
#...#.#
#.....#
#######

解説

データファイルはセルオートマトンのルールを書いたもので、これによってゲームをエンコードしているとのこと。

コードは、先頭にシューティングのマップがあることを除けば、細かい難読化テクニックが中心で、わりと普通に見える。 #define I )malloc(sizeof(として(j*I*a(Q--,--Q))と書くのは小洒落ててちょっと面白かった。

現代で動かすには2点の修正が必要だった。

パッチ

パッチをダウンロード