#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//数组的创建
//type_data arr_name[const_n];
//type_data是数组元素类型
//arr_name是数组名
//const_n是数组大小
////数组的创建
//int main()
//{
// int arr[10];
// return 0;
// //int就是数组元素类型
// //arr是数组名
// //10是数组大小,因为是int型,所以能装10个int型元素
//}
////数组的创建
//int main()
//{
// int i = 10;
// int arr[i];
// //错误的数组创建方式
// return 0;
//}
////数组初始化
//int main()
// {
// int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };
// int arr2[10] = { 1,2,3,4,5 };
// float arr3[10];
// char arr4[5] = { "Hello" };
// printf("%s\n", arr4);
// return 0;
//}
////初始化的重要性
//int main()
//{
// int arr[3] = { 0 };
// //往数组arr中装入1,2,3
// int i = 0;
// for (i = 0; i < 3; i++)
// arr[i] = (i+1);
// return 0;
//}
////下标
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// printf("%d\n", arr[5]);//是否为数字5?
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// //i是否可以等于10?
// printf("%d ", arr[i]);
// }
// return 0;
//}
////存储
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
// int i = 0;
// for (i = 0; i < 10; i++)
// printf("下标%d的元素地址为:%p\n", i, &arr[i]);
// return 0;
//}
////创建
//int arr[3][4];
//int ch[][4];
////初始化
//int arr[2][2] = { 1,2,3,4 };
//int ch[][2] = { {1,2},{3,4} };
////存储
//int main()
//{
// int arr[2][2] = { 1,2,3,4 };
// int i = 0;
// int j = 0;
// for (i = 0; i < 2; i++)
// {
// for (j = 0; j < 2; j++)
// {
// printf("行下标:%d 列下标:%d的元素地址为:%p\n", i, j, &arr[i][j]);
// }
// }
// return 0;
//}
////越界
//int main()
//{
// int arr[10] = { 0 };
// int i = 0;
// for (i = 0; i <= 10; i++)
// printf("%d ", arr[i]);
// return 0;
//}
////冒泡排序-1.0-err
//void bubble_sort(int arr[])
//{
// int i = 0;
// int sz = sizeof(arr) / sizeof(arr[0]);
// for (i = 0; i < sz - 1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - 1 - i; j++)
// {
// if (arr[j] > arr[j + 1])
// {
// int tmp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = tmp;
// }
// }
// }
//}
//int main()
//{
// int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
// bubble_sort(arr);
// int i = 0;
// for (i = 0; i < 10; i++)
// {
// printf("%d ", arr[i]);
// }
// return 0;
//}
////冒泡排序-2.0-right
//void bubble_sort(int* arr,int sz)
//{
// int i = 0;
// for (i = 0; i < sz - 1; i++)
// {
// int j = 0;
// for (j = 0; j < sz - 1 - i; j++)
// {
// if (arr[j] > arr[j + 1])
// {
// int tmp = *(arr + j);
// *(arr + j) = *(arr + j + 1);
// *(arr + j + 1) = tmp;
// }
// }
// }
//}
//int main()
//{
// int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// bubble_sort(arr,sz);
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", arr[i]);
// }
// return 0;
//}
//三子棋
#include"game.h"
void menu()
{
printf("**************************\n");
printf("******** 1.Play ********\n");
printf("******** 0.Exit ********\n");
printf("**************************\n");
}
void game()
{
char board[ROW][COL] = { 0 };//定义
init_board(board, ROW, COL);//初始化
display_board(board, ROW, COL);//打印
//下棋
char tmp = 0;
while (1)
{
player_move(board, ROW, COL);//玩家走
display_board(board, ROW, COL);//打印
tmp=who_win(board, ROW, COL);//判断
if (tmp != 'C')
break;
computer_move(board, ROW, COL);//电脑走
display_board(board, ROW, COL);//打印
tmp=who_win(board, ROW, COL);//判断
if (tmp != 'C')
break;
}
if (tmp == '*')
printf("玩家获胜\n");
else if (tmp == '#')
printf("电脑获胜\n");
else
printf("和局\n");
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请输入你的选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏!\n");
break;
default :
printf("选择错误,重新选择!\n");
break;
}
} while (input);
return 0;
}
C语言实现小游戏 “三子棋” 适合初学者学习
需积分: 0 129 浏览量
2022-12-14
11:21:51
上传
评论
收藏 8KB ZIP 举报
北海
- 粉丝: 2858
- 资源: 3