狠狠撸
Submit Search
オセロゲームでコードゴルフ
?
Download as PPTX, PDF
?
0 likes
?
995 views
洸人 高橋
Follow
笔贬笔でオセロゲームのショートコーディング
Read less
Read more
1 of 23
Download now
Download to read offline
More Related Content
オセロゲームでコードゴルフ
1.
オセロゲームでコードゴルフ <PHP> 12fi091 @Arzzup
2.
プレゼン内容 ? 自己紹介 ? コードゴルフとは? ?
作品(オセロゲーム)の紹介 ? アルゴリズム、コードの解説 2
3.
自己紹介 ? 学生 ? 未来科学部情報メディア学科2年 ?
好きな言語 ? Java PHP Ruby ? Vimmer ? たけのこ派 ? Twitterer ? @arzzup えるざっぷ 3
4.
コードゴルフだぁ? ? コードの「文字数」を出来るだけ短くし て目的のプログラムを作る遊び、競技 4
5.
if ( $key
) print(“OK”); else print(“NG”); != 0 { } { } 5
6.
if ($key) print(“OK”); else print(“NG”); 6
7.
print($key?”OK”:”NG”); echo$key?”OK”:”NG”; 7
8.
if ($key !=
0) { print(“OK”); } else { print(“NG”); } echo$key?”OK”:”NG”; 56Byte 20Byte 8
9.
コードゴルフだぁ? ? コードの「文字数」を出来るだけ短くし て目的のプログラムを作る遊び、競技 これがコード ゴルフだぁ! 9 IOCCC(国際邪悪なCコードコンテスト)
10.
565byteテトリス ? 参考:わずか565バイトテトリスのプログ ラミング解説 ? http://zapanet.info/blog/item/1125 10
11.
オセロだぁ? ? ウィンタースポーツ ? 埼玉県民は毎日している 11
12.
作成結果 ? <?=header('Content-type:text/html;charset=utf- 8');error_reporting(0);$s=$_GET['m']or$s=sprintf('%0100s',0);$m=str_sp lit($s);$w=str_split($_GET['w']);$t=$_GET['t'];$k=$_GET['k'];$f=$t%2+1; $e=$d=0;$r=array(-11,-10,-9,- 1,1,9,10,11);if($k){$i=0;$m[$k]=$t;foreach($r as$c=>$j)for($b=$k+$j;$f==$m[$b]*$w[$c];$b+=$j)$m[$b]=$t;}else{fore ach($m as$k=>&$v)$v=($k%10&&$k%10- 9&&$k/10>=1&&$k/10<=9)?0:5;$m[44]=$m[55]=2;$m[45]=$m[54]=1;$t =1;}$p=m($m);$u=-2;while($u++<1){for($i=- 1;++$i<100;){$w[$i]=str_split(sprintf('%08s',0));foreach($r as$c=>$j)for($b=$i+$j;$m[$b]*!$m[$i]&&$m[$b]- 5;$b+=$j)if($m[$b]==$f)if($j+$i==$b)break;else$w[$i][$c]=$u=1;}$y=$f; $f=$t;$t=$y;}for($i=- 1;++$i<100;){if(!($i%10))echo"<br>";$v=$m[$i];if($v==2)$e++;if($v==1)$ d++;$h=implode($w[$i]);echo($h*1?"<a href="?m=$p&t=$t&k=$i&w=$h&e">":"").g($v).($h*1?"</a>":"");}echo" t=".g($t)."
W$e,B$d";function g($v){return($v?$v-1?($v- 5?"?":"■"):"●":"□");}function m($m){$x="";foreach($m as$v)$x.=$v;return$x;} 968Byte 12
13.
13
14.
実物 ? ろーかる ? ねっと 14
15.
アルゴリズム ? 石が置ける所をハイパーリンク ? その際GET値に、 「プレイヤーターンの情報」 「石をおいた場所」
「すべての石の情報」 「置いた場所から石をひっくり返せる方 向」を載せる ? GET値無し→初期盤面作成 15
16.
GET ? m:盤面の情報 ? t:プレイヤー手番 ?
k:石が置かれ場所 ? w:ひっくり返す方向 http://localhost/code_golf/golf_othello. php?m=55555555555000000005500000 00055000000005502222200550021200 055001210005500112000550011120055 555555555&t=1&k=87&w=00010000 16
17.
嬉しい誤算すごい所 ? 一手戻る、一手進む機能 ? 棋譜確認機能 ?
置ける場所が見やすい 17
18.
データ受取 18
19.
ひっくり返す部分 19
20.
文字描画部分 20
21.
感想 ? 書きにくい! ? 面倒くさい! ?
面白くない! コードゴルフしよう! 21
22.
まとめ ? その言語の知識が深まる ? 省略記法に詳しくなる ?
→コーディング速度が上がる ? →コードを綺麗に書けるようになる(?) コードゴルフしよう! 22
23.
23 :q
Editor's Notes
例も辫丑辫で
波括弧 条件式
サーバーサイドの设定をいじれば省ける部分
941byte
适当な解説
スキップ処理のために分けざる负えなかった蹿辞谤ループ
見づらい、 いちいち確認しながら
解読
Download