TOP >> マニアックなプログラミング
トリッキーコードネット トリッキーなコード

【7行プログラミング/ショートコーディング】マルバツ(三目並べ)プログラミング (C言語)

独りでマルバツゲーム(三目並べ)を行うプログラムです。

この「独りで」というのが曲者で、オセロAIプログラミング のような「人間 VS コンピュータ(AI)」ではなく、「一人二役」になって三目並べを行いますw

#include <stdio.h> long k,b=0,z[]={0x15,0x1041,0x10101,0x1110};char s[]=" 012";int h,i,j,l;int d( long a,long b){return ((a&b)==b);}main(){for(l=0;l<9;l++){puts("\n 012");for(i =0;i<3;i++){s[0]=i+'0';for(j=0;j<3;j++)s[j+1]=" xo"[b>>(i*6+j*2)&3];puts(s);} if(d(k=(b>>(h=l%2)),z[0])||d(k>>6,z[0])||d(k>>12,z[0])||d(k,z[1])||d(k>>2,z[1] )||d(k>>4,z[1])||d(k,z[2])||d(k,z[3])){puts("x won\0o won"+h*6);exit();}puts( "o?\0x?"+h*3);scanf("%d,%d",&j,&i);b+=(2L-h)<<(i*6+j*2);}}
【プログラムの使い方】 ・3x3のマス内に、「o」と「x」のコマを交互に置いて行きます。 ・コマを置く場所は、座標で指定します。⇒ X座標,Y座標(Enterキー) ・エラーチェックはしていないので悪しからず。 【プログラムの画面説明】 C言語7行プログラミング:マルバツゲーム(三目並べ) 実行結果は以下の通り~。 C言語7行プログラミング:マルバツゲーム(三目並べ) コード解説は、いずれ気が向いたらということで、 とりあえずメモ .〆(・ω・` )カキカキ
トリッキーコードネット の TOPへ HOTNEWS の 総合TOPへ