試される大地からスマートフォン用の表示で見る試される大地からプログラミングのTipsや人生論、英語学習の話題など綴っていきます。2013-12-08○✕ゲームC言語とりあえず、ブログのネタもそれほどあるわけではないので、記事数稼ぎに2年前に作ったシェルやコマンドプロンプト上で遊ぶ○✕ゲームのソースコードを以下に上げておく。実装に使ったのはC言語。gccやVisualStudioコマンドラインでのコンパイルが可能であることは確認済み。0}};//盤面上の状態を表す配列の定義。level;//COMのレベルを決定するグローバル変数。result;printf("\nまず、じゃんけんで先攻後攻を決めます。0){printf("あいこです。2){printf("じゃんけんに勝ちました。-2){printf("じゃんけんに負けました。difficulty(){printf("コンピュータの強さを決定してください。0:if(a[0][0]==0){a[0][0]=2;printf("敵は1行1列目に×を置きました。1:if(a[0][2]==0){a[0][2]=2;printf("敵は1行3列目に×を置きました。2:if(a[2][0]==0){a[2][0]=2;printf("敵は3行1列目に×を置きました。3:if(a[2][2]==0){a[2][2]=2;printf("敵は3行3列目に×を置きました。0;}break;}}//敵が真ん中及び四隅に×を置けなかった時の挙動while(1){//無限ループ。×を置く場所が決まるまでループが続く。i=rand()%3+1;j=rand()%3+1;if(a[i-1][j-1]==0){a[i-1][j-1]=2;printf("敵は%d行%d列目に×を置きました。count;//×をおいた場合に勝てるか、あるいは負けを回避できるかどうかを判定し、実行に移す。//リーチをかけていて×をおいた時に確実に勝てる時には、その位置に×を置く。//プレイヤーにリーチをかけられた状態で、×を置かなければ確実に負ける場合、負けを回避する。j++){if(a[i][j]==0){a[i][j]=2;printf("敵は%d行%d列目に×を置きました。i++){if(a[i][j]==0){a[i][j]=2;printf("敵は%d行%d列目に×を置きました。j++){if(a[i][j]==0){a[i][j]=2;printf("敵は%d行%d列目に×を置きました。j--){if(a[i][j]==0){a[i][j]=2;printf("敵は%d行%d列目に×を置きました。p;if(a[1][1]==0){a[1][1]=2;printf("敵は2行2列目に×を置きました。j>3);if(a[i-1][j-1]==0){a[i-1][j-1]=1;break;}else{printf("そこには置けません!もう一度選び直してください。\n");}}printf("あなたは%d行%d列目に○を置きました。turn;//先攻か後攻かを決める変数。2で割り切れる時はプレーヤー、割り切れないときは敵のターンを表す。win=0;//勝者が誰かを表す変数。値が0の時は勝負がついていない状態。turncount=0;//総ターン数を表す変数。値が9となった時、ゲームが終了。srand((unsigned)time(NULL));//srand(乱数)を使うための記述。<time.h>ライブラリのインクルードも忘れないこと。printf("○×ゲームをします。turncount<9){if(turn%2==0){turncount++;printf("\nあなたのターンです。\n");gameboard();player();gameboard();turn++;}else{turncount++;printf("\n敵のターンです。遅れましたが、あけましておめでとうございます。furaiboです...2014-10-06Vimを使い始めて1ヶ月が経過こんにちは、furaiboです。CentOS6.5が来てた。はてなブログProもっと自由に生きたいプログラマ。海外で職を得るのが目標。ある大人ならば、子供を生まないことだ月別アーカイブリンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!incodethx3932さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。