#!/usr/bin/env ruby # -*- coding: utf-8 iti_=[0,1,2,3,4,5,6,7,8] hyou=[" "," "," "," "," "," "," "," "," "] def zibun(hyou,iti_) while true puts("あなたは○です。") puts("下の表を見て対応する数字で座標を指定してください。") puts("012","345","678") iti=gets.to_i if iti<9 iti_[iti]= "" hyou[iti]= "○" break else puts("そんな座標はないよ。8以下の数字で指定してね。") end end end def aite(hyou,iti_) puts("僕のターンですね") d=0 while d<1 srand() a=rand(8) c=0 while c<9 if a==iti_[c] hyou[a]="×" iti_[a]="" d+=1 break end c+=1 end end end def hyouzi(hyou) print("--------\n") print("|",hyou[0],hyou[1],hyou[2],"|","\n") print("|",hyou[3],hyou[4],hyou[5],"|","\n") print("|",hyou[6],hyou[7],hyou[8],"|","\n") print("--------\n") end puts("マルバツゲーム!") srand() b=rand(2) if b==0 puts("あなたが先攻です。") e=0 while ((hyou[0]==hyou[1])&&(hyou[1]==hyou[2]))||((hyou[3]==hyou[4])&&(hyou[4]==hyou[5]))||((hyou[6]==hyou[7])&&(hyou[7]==hyou[8]))||((hyou[0]==hyou[3])&&(hyou[3]==hyou[6]))||((hyou[1]=hyou[4])&&(hyou[4]==hyou[7]))||((hyou[2]==hyou[5])&&(hyou[5]==hyou[8]))||((hyou[0]==hyou[4])&&(hyou[4]==hyou[8]))||((hyou[2]==hyou[4])&&(hyou[4]==hyou[6])) zibun(hyou,iti_) hyouzi(hyou) sleep(3) e+=1 if e>=9 break end aite(hyou,iti_) hyouzi(hyou) puts(hyou) sleep(3) e+=1 if e>=9 break end puts(e) end else puts("僕が先攻です。") f=0 while (hyou[0]==hyou[1])&&(hyou[1]==hyou[2])||(hyou[3]==hyou[4])&&(hyou[4]==hyou[5])||(hyou[6]==hyou[7])&&(hyou[7]==hyou[8])||(hyou[0]==hyou[3])&&(hyou[3]==hyou[6])||(hyou[1]=hyou[4])&&(hyou[4]==hyou[7])||(hyou[2]==hyou[5])&&(hyou[5]==hyou[8])||(hyou[0]==hyou[4])&&(hyou[4]==hyou[8])||(hyou[2]==hyou[4])&&(hyou[4]==hyou[6]) aite(hyou,iti_) hyouzi(hyou) sleep(3) f+=1 if f>=9 break end puts(hyou) zibun(hyou,iti_) hyouzi(hyou) sleep(3) f+=1 if f>=9 break end puts(f) end end if (hyou[0]==hyou[1])&&(hyou[1]==hyou[2])&&(hyou[2]=="○")||(hyou[3]==hyou[4])&&(hyou[4]==hyou[5])&&(hyou[2]=="○")||(hyou[6]==hyou[7])&&(hyou[7]==hyou[8])&&(hyou[2]=="○")||(hyou[0]==hyou[3])&&(hyou[3]==hyou[6])&&(hyou[2]=="○")||(hyou[1]=hyou[4])&&(hyou[4]==hyou[7])&&(hyou[2]=="○")||(hyou[2]==hyou[5])&&(hyou[5]==hyou[8])&&(hyou[2]=="○")||(hyou[0]==hyou[4])&&(hyou[4]==hyou[8])&&(hyou[2]=="○")||(hyou[2]==hyou[4])&&(hyou[4]==hyou[6])&&(hyou[2]=="○") puts("あなたの勝ちです。") elsif ((hyou[0]==hyou[1])&&(hyou[1]==hyou[2])&&(hyou[2]=="×"))||((hyou[3]==hyou[4])&&(hyou[4]==hyou[5])&&(hyou[2]=="×"))||((hyou[6]==hyou[7])&&(hyou[7]==hyou[8])&&(hyou[2]=="×"))||((hyou[0]==hyou[3])&&(hyou[3]==hyou[6])&&(hyou[2]=="×"))||((hyou[1]=hyou[4])&&(hyou[4]==hyou[7])&&(hyou[2]=="×"))||((hyou[2]==hyou[5])&&(hyou[5]==hyou[8])&&(hyou[2]=="×"))||((hyou[0]==hyou[4])&&(hyou[4]==hyou[8])&&(hyou[2]=="×"))||((hyou[2]==hyou[4])&&(hyou[4]==hyou[6])&&(hyou[2]=="×")) puts("あなたの負けです。") else puts("引き分けです。") end