C言語_三つ子将棋
三子棋(c言語版)
ゲームは3*3のボードに座標を入力し、その主な機能は以下の通りです.
(1)、プレイヤーが歩く
(2)、パソコンで行く
(3)、ボードを印刷
(4)、判定勝ち
(5)、引き分けかどうかを判断する
ヘッダーファイル1つ、game.h
ソースファイルはtestの2つです.cとgame.c
コードは次のとおりです.
game.h(ヘッダファイル)
test.c(主にゲーム機能のテスト)
game.c(ゲームのメインコード)
ゲームは3*3のボードに座標を入力し、その主な機能は以下の通りです.
(1)、プレイヤーが歩く
(2)、パソコンで行く
(3)、ボードを印刷
(4)、判定勝ち
(5)、引き分けかどうかを判断する
ヘッダーファイル1つ、game.h
ソースファイルはtestの2つです.cとgame.c
コードは次のとおりです.
game.h(ヘッダファイル)
//
# ifndef __GAME_H__
#define __GAME_H__
#include
#include
#include
# define H 3
# define L 3
void display_board (char arr[H][L], int h, int l);//
void player_move(char arr[H][L], int h, int l);//
void computer_move(char arr[H][L], int h, int l);//
char is_win (char arr[H][L], int h, int l);//
#endif
test.c(主にゲーム機能のテスト)
#include
#include "game.h"
void menu ()
{
printf ("*********************************
");
printf ("****** *******
");
printf ("******** 1、 ********
");
printf ("******** 0、 ********
");
printf ("*********************************
");
}
void empty (char arr[H][L], int h, int l)
{
int i = 0, j = 0;
for (i=0; i
game.c(ゲームのメインコード)
#include "game.h"
//
void display_board (char arr[H][L],int h,int l)
{
int i, j;
for (i=0; i0&&a<=h) && (b>0&&b<= l))//
{
if(arr[a-1][b-1] == ' ')//
{
arr[a-1][b-1] = 'X';
break;
}
else
{
printf (" , :
");
}
}
else
{
printf (" , :
");
}
}
}
//
void computer_move(char arr[H][L], int h, int l)
{
while (1)
{
int i = (rand ()) % 3;
int j = (rand ()) % 3;
if(arr[i][j] == ' ')//
{
arr[i][j] = '0';
printf (" :%d %d
",i+1,j+1);
break;
}
}
}
char is_win(char arr[H][L], int h, int l)
{
int i = 0, j = 0, count1, count2, count3, count4 ;
//
for (i=0;i=0)
{
if (arr[i][j] == arr[i-1][j+1])
{
count4 ++;
}
if (count4 == l-1)
{
return arr[i][j];
}
i--;
j++;
}
//
for (i=0; i