シェル芸botがリバーシのゲーム機に
- ryuichiueda
- 3531
- 12
- 0
- 0
@tos # findIndex(){ X=$1;Y=$2 for ((x=$1+$3,y=$2+$4;x>=0&&y>=0&&x<=7&&y<=7;x+=$3,y+=$4));do N=${F[y]:$x:1} if [ $N = $P ];then X=$[x-($3)];Y=$[y-($4)];break elif [ $N = _ ];then break fi done ([ $X = $1 ]&&[ $Y = $2 ])&&return 1 return 0 } # twitter.com/qwertanus/stat…
2019-08-14 14:56:22#!/usr/bin/env bash F=( ________ ________ ________ ___01___ ___10___ ________ ________ ________ ) L=(00000000 11111111) P=1 PN=(白 黒) NUM=(0 1 2 3 4 5 6 7) #
2019-08-14 14:55:52@tos # flip(){ findIndex $1 $2 $3 $4||return 1 for ((x=X,y=Y;x!=$1||y!=$2;x-=$3,y-=$4));do F[y]=${F[y]:0:x}$P${F[y]:x+1} done } # twitter.com/qwertanus/stat…
2019-08-14 14:56:55@tos # game(){ i=0 flag=0 for vy in -1 1;do for vx in {-1..1};do flip $1 $2 $vx $vy||((flag++)) done done for vx in -1 1;do findIndex $1 $2 $vx 0||((flag++)) done [ $flag = 8 ]&&return 1 F[$2]=$( echo ${F[$2]:0:$1}|sed "s/$P$[!P]*\$/${L[P]}/"|head -c$1 echo -n $P # twitter.com/qwertanus/stat…
2019-08-14 14:58:07@tos # echo ${F[$2]:$1}|sed "s/^_$[!P]*$P/${L[P]}/"|tail -c$[8-$1] ) } showscore(){ (echo 'y\x01234567' for i in {0..7};do echo ${NUM[i]} ${F[i]} done|sed 's/0/○/g;s/1/●/g;s/_/_/g')|textimg -s --foreground black -b white -F 60 echo ${PN[P]}のターンです sleep 1 } # twitter.com/qwertanus/stat…
2019-08-14 14:59:08@tos # reversi(){ if [ $1 = "pass" ];then P=$[!P] [ $# -eq 1 ]&&(echo ${PN[P]}がパスしました;showscore) return 0 fi if [ ${F[$2]:$1:1} != _ ]||! game $1 $2;then [ $# -eq 2 ]&&(echo そこには置けません;showscore) return 1 fi P=$[!P] if [ $# -eq 2 ];then showscore fi } # twitter.com/qwertanus/stat…
2019-08-14 15:00:00#シェル芸 # # 今度こそ動いてくれ echo シェル芸リバーシ! echo 1行目に\'#\シェル\芸 \#\'、2行目に\'reversi x y\'と書いて引用しよう! reversi 3 2 twitter.com/qwertanus/stat…
2019-08-14 15:00:42シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/qwertanus/stat… pic.twitter.com/P54zax2a6p
2019-08-14 15:00:54シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/StSfqWWz5E
2019-08-14 15:01:47シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! そこには置けません 黒のターンです twitter.com/yukito_2828/st… pic.twitter.com/AKUuzgzJFy
2019-08-14 15:06:01シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/43Va9R1MkK
2019-08-14 15:07:06シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/ynjMHYG3L8
2019-08-14 15:09:35シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/SlqrpDL3Tq
2019-08-14 15:11:53シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/kDnNXJrNTi
2019-08-14 15:12:49シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! そこには置けません 黒のターンです twitter.com/yukito_2828/st… pic.twitter.com/L6EYrgWves
2019-08-14 15:14:12シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/Nmkg9XdjTI
2019-08-14 15:14:55シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/KgCSGDpN4u
2019-08-14 15:15:59シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/P5F3MRlgrT
2019-08-14 15:16:49シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/q2IZplRkR7
2019-08-14 15:17:44シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/AFQwxKZhw2
2019-08-14 15:18:42シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 黒のターンです twitter.com/qwertanus/stat… pic.twitter.com/8vSbTgfUbe
2019-08-14 15:21:10シェル芸リバーシ! 1行目に'#シェル芸 #'、2行目に'reversi x y'と書いて引用しよう! 白のターンです twitter.com/yukito_2828/st… pic.twitter.com/UaYhtzkp2S
2019-08-14 15:23:20