IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 三子棋小游戏 C -> 正文阅读

[C++知识库]三子棋小游戏 C

? ? ? ? 快要期末考试了,这几天因为疫情封在宿舍,闲来无聊,编一个三子棋玩一玩,全当复习考试了。

话不多说,上程序

#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int i;
select:printf("---------请输入模式0: game ?or ?1: quit---------\n----------");
scanf("%d",&i);
while(i!=0&&i!=1)
{
?? ?printf("出错了,请重新输入\n");?
?? ?scanf("%d",&i);
}
? ?while(i==0)
? { ? int f1,f2;
?? ?again:srand((unsigned)time(0));
?? ?f1=rand()%6+1;
?? ?for(int k=10;k<20;)
?? ?{
?? ? ??? ?k++;
?? ?}
?? ?f2=rand()%6+1;
?? ?//printf("%d %d",f1,f2);
?? ?if(f1>f2){
?? ??? ?printf("-----------------%d %d-----------------\n",f1,f2);
?? ??? ?printf("---------------玩家1先手---------------\n");
?? ?}
?? ?else if(f1<f2)
?? ?{
?? ?printf("-----------------%d %d-----------------\n",f1,f2);
?? ?printf("---------------玩家2先手---------------\n");
?? ? }?
?? ?else if(f1==f2)
?? ?{
?? ??? ?goto again;
?? ?}
?? ? ? ?printf("--------------游戏 开始--------------\n");
?? ?char a='&';
?? ?char b='*';
?? ?char pl[6][12]={" ? | ? | ? ","---|---|---"," ? | ? | ? ","---|---|---"," ? | ? | ? "};
?? ?for(int i=0;i<6;i++)
?? ?puts(pl[i]);?? ?
?? ?//
?? ?int row,line,k=0;?? ?
?? ?int flag1=0,flag2=0,flag=0,left=9;
?? ?while(flag==0&&left>0)
?? ?{?
?? ?back:printf("请输入 行 和 列 \n");
?? ? ?scanf("%d %d",&row,&line);
?? ? ?//k++;
?? ? ?if(row==1)
?? ? ?row=0;
?? ? ?else if(row==3)
?? ? ?row=4;
?? ? ?if(line==2)
?? ? ?line=5;
?? ? ?else if(line==3)
?? ? ?line=9;
?? ? ?if(pl[row][line]!=' ')
?? ? ?{
?? ? ??? ?printf("出错了\n");
?? ? ??? ?goto back;
?? ? ?}
?? ? ?k++;left--;
?? ? ?char mk;
?? ? ?if(k%2==1)
?? ? ?{
?? ? ??? ?mk=a;
?? ? ? pl[row][line]=mk;
?? ? ? for(int q=0;q<5;q+=2)
?? ? ? {
?? ? ? ?? ?if(pl[q][1]==mk&&pl[q][5]==mk&&pl[q][9]==mk)
?? ? ? ?? ?flag1=1;
?? ? ? }
?? ? ? for(int p=1;p<10;p+=4)
?? ? ? {
?? ? ? ?? ?if(pl[0][p]==mk&&pl[2][p]==mk&&pl[4][p]==mk)
?? ? ? ?? ?flag1=1;
?? ? ? }
?? ? ? if(pl[0][1]==mk&&pl[2][5]==mk&&pl[4][9]==mk||pl[0][9]==mk&&pl[2][5]==mk&&pl[4][1]==mk)
?? ? ? flag1=1; ?? ?
?? ? ?}
?? ? ?else if(k%2==0)
?? ? ?{
?? ? ??? ?mk=b;
?? ? ? pl[row][line]=mk;
?? ? ? for(int q=0;q<5;q+=2)
?? ? ? {
?? ? ? ?? ?if(pl[q][1]==mk&&pl[q][5]==mk&&pl[q][9]==mk)
?? ? ? ?? ?flag2=1;
?? ? ? }
?? ? ? for(int p=1;p<10;p+=4)
?? ? ? {
?? ? ? ?? ?if(pl[0][p]==mk&&pl[2][p]==mk&&pl[4][p]==mk)
?? ? ? ?? ?flag2=1;
?? ? ? }
?? ? ? if(pl[0][1]==mk&&pl[2][5]==mk&&pl[4][9]==mk||pl[0][9]==mk&&pl[2][5]==mk&&pl[4][1]==mk)
?? ? ? flag2=1;
?? ? ?}
?? ? ?for(int i=0;i<6;i++)
?? ? ?puts(pl[i]);
?? ? ?if(flag1==1)
?? ? ?printf("玩家1获胜\n");
?? ? ?else if(flag2==1)
?? ? ?printf("玩家2获胜\n");?
?? ? ?flag=flag1+flag2;
?? ? ?if(flag==0&&left==0)
?? ? ?printf("平局");?? ?
?? ?}?? ?
?? ?goto select;
?}


return 0;?? ??? ?
?}?

有兴趣的小伙伴可以动手试一试,很简单哦~~

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:42:06  更:2022-01-01 13:43:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:34:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码