C言語_三つ子将棋


三子棋(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