五子棋实现代码
#include<stdio.h> #define M 9 #define N 9 void print(int a[M][N]) { int i,j; for(i=0;i<M;i++) { for(j=0;j<N;j++) printf(" %d",a[i][j]); printf("\n"); } } int check(int a[M][N]) { int i,j; for(i=0;i<M-5;i++) { for(j=0;j<N-5;j++) { if((a[i][j]==1)&&(a[i+1][j]==1)&&(a[i+2][j]==1)&&(a[i+3][j]==1)&&(a[i+4][j]==1)) { printf("player1 win\n"); return 0; break; } else if((a[i][j]==1)&&(a[i][j+1]==1)&&(a[i][j+2]==1)&&(a[i][j+3]==1)&&(a[i][j+4]==1)) { printf("player1 win\n"); return 0; break; } else if((a[i][j]==1)&&(a[i+1][j+1]==1)&&(a[i+2][j+2]==1)&&(a[i+3][j+3]==1)&&(a[i+4][j+4]==1)) { printf("player1 win\n"); return 0; break; } else if((a[M-i][j]==1)&&(a[M-i-1][j+1]==1)&&(a[M-i-2][j+2]==1)&&(a[M-i-3][j+3]==1)&&(a[M-i-4][j+4]==1)) { printf("player1 win\n"); return 0; break; } if((a[i][j]==2)&&(a[i+1][j]==2)&&(a[i+2][j]==2)&&(a[i+3][j]==2)&&(a[i+4][j]==2)) { printf("player2 win\n"); return 0; break; } else if((a[i][j]==2)&&(a[i][j+1]==2)&&(a[i][j+2]==2)&&(a[i][j+3]==2)&&(a[i][j+4]==2)) { printf("player2 win\n"); return 0; break; } else if((a[i][j]==2)&&(a[i+1][j+1]==2)&&(a[i+2][j+2]==2)&&(a[i+3][j+3]==2)&&(a[i+4][j+4]==2)) { printf("player2 win\n"); return 0; break; } else if((a[M-i][j]==2)&&(a[M-i-1][j+1]==2)&&(a[M-i-2][j+2]==2)&&(a[M-i-3][j+3]==2)&&(a[M-i-4][j+4]==2)) { printf("player2 win\n"); return 0; break; } } } return 1; } int main() { int a[M][N]={0},b[M][N]={0}; print(a); int i,j; int count=1,num=0; while(count) { num++; if(num%2==1) { printf("player1 input:"); scanf("%d",&i); scanf("%d",&j); a[i-1][j-1]=1; print(a); count=check(a); for(i=0;i<M;i++) for(j=0;j<N;j++) b[i][j]=a[i][j]; } else if(num%2==0) { printf("player2 input:"); scanf("%d",&i); scanf("%d",&j); b[i-1][j-1]=2; print(b); count=check(b); for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=b[i][j]; } } return 0; }
在redhat上运行
相关推荐
7. **命令行界面**:C语言的控制台输出和输入功能使得在命令行环境中实现五子棋成为可能。利用`printf`打印棋盘,利用`scanf`读取用户输入。 8. **编译与调试**:使用GCC等编译器将源代码编译为可执行文件,通过...
在本项目中,"C语言实现五子棋(双人对战,单人对战,悔棋等功能).zip" 是一个使用C语言编写的五子棋游戏程序。以下是关于这个项目的详细知识点: 1. **C语言编程**:C语言是一种强大的、底层的编程语言,适合开发...
总的来说,“C语言实现五子棋”项目涵盖了从基础的算法设计到更复杂的用户管理与安全机制,是学习C语言和游戏开发的一个综合实践案例。通过这个项目,开发者可以提升对C语言的理解,锻炼算法思维,以及实际操作文件...
《C语言实现的五子棋小游戏详解》 五子棋,一种源于中国古代的策略棋类游戏,简单易学,但其深奥的策略性吸引了无数玩家。本文将深入探讨一个在Linux操作系统环境下用C语言开发的五子棋小游戏,旨在揭示编程与游戏...
在本文中,我们将深入探讨如何使用纯C语言和EasyX图形库来实现一个五子棋游戏。五子棋是一种双人对弈的策略棋类游戏,目标是在棋盘上连成五子,无论是横、竖还是斜线。下面,我们将详细讲解这个项目的各个组成部分。...
主要功能是实现两人之间的对弈,在画好的棋盘上,两个玩家轮流选择自己的落子坐标,然后由五子棋系统自动识别判断游戏的进展,知道一方的五子连成一条线或者棋盘已经无法落子时游戏结束。 选定五子棋的棋盘大小为19...
《C语言实现的五子棋源程序解析》 在编程世界中,C语言以其高效、灵活和可移植性而备受推崇。本篇文章将深入探讨一个用C语言编写的五子棋游戏源程序,旨在帮助读者理解如何利用C语言实现一个交互式的棋盘游戏。 ...
通过C语言实现简单的五子棋双人对战源码,代码量小,结构简单,适合C语言刚入门者学习
总的来说,这个五子棋程序展示了C语言的基本使用,包括数据结构、指针操作、函数调用以及简单的用户交互。同时,通过模拟面向对象的思想,开发者展示了如何在C语言中实现类的概念,提供了一种结构化和模块化的编程...
简单五子棋,容易看懂,小白也能学。。
c语言实现的简单双人五子棋,和局自动退出。linux下编译通过,进行了五子连珠和平局的简单测试。
在本项目中,我们关注的是一个使用C语言编程实现的五子棋小游戏。五子棋是一种双人对弈的游戏,目标是在棋盘上先连成五子直线(横、竖或斜线)的一方获胜。这个C语言实现的五子棋程序提供了人机对战的单机模式,为...
在本项目中,我们讨论的是一个使用C语言编写的简单五子棋游戏,该游戏是在Visual Studio 2013环境下开发的,并且依赖于easyX图形库来实现游戏的可视化界面。首先,让我们深入了解C语言和五子棋游戏的基本概念。 ...
这个五子棋程序包含以下核心功能,每个功能都是通过精心设计的C语言函数来实现的。 1. **黑白交替下子**:在五子棋游戏中,玩家轮流在棋盘上下黑子或白子。这一功能的实现可能涉及到一个二维数组来表示棋盘状态,...
【C语言版EasyX五子棋】是一款基于C语言编程实现的桌面游戏,它利用EasyX图形库构建了一个简易的图形用户界面,让玩家可以体验到经典的五子棋对弈。EasyX是一个针对Windows平台的小型图形库,它简化了C语言进行图形...
解压缩后得到main.c和golang.c。 将main.c和golang.c移动到Linux目录下,然后使用 gcc main.c golang.c -o golang 即可编译成功, ./golang 即可运行程序。
《基于C语言实现的五子棋游戏开发详解》 五子棋,又称“连珠”,是一种深受人们喜爱的双人对弈策略游戏。它源于中国,具有悠久的历史,且规则简单,但变化无穷,深受各年龄段玩家的喜爱。本文将深入探讨如何使用...
在计算机编程领域,实现五子棋游戏的源代码是一种常见的练习项目,它可以帮助初学者理解游戏逻辑、算法设计以及软件工程的基本原理。在这个C语言实现的五子棋游戏中,我们可以学习到以下几个重要的知识点: 1. **...