当前位置: 首页 > news >正文

four people game

纯乐子。

#include<bits/stdc++.h>
#include<conio.h>
#define int long long
#define endl putchar('\n')
#define psp putchar(' ')
using namespace std;
const int N=1e6+5;
const int M=1e3+5;
int read(){int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}
void print(int x){if(x<0)putchar('-'),x=-x;if(x<10){putchar(x+'0');return;}print(x/10);putchar(x%10+'0');
}
int n=25,m,k;
int T;
char c[M][M];
// 0
//3+1
// 2
int way[5];
int x[5],y[5];
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
char wayname[4]={'U','R','D','L'};
void move(int id){c[x[id]][y[id]]='.';int xx=x[id]+dx[way[id]];int yy=y[id]+dy[way[id]];if(xx<1||yy<1||xx>n||yy>n||c[xx][yy]!='.')return;x[id]=xx,y[id]=yy;c[x[id]][y[id]]='0'+id;
}
void turnr(int id){way[id]++;way[id]%=4;
}
void turnl(int id){way[id]--;way[id]+=4;way[id]%=4;
}
int life[5]={0,1,1,1,1};
void K(int id){for(int i=1;i<=2;i++){int xx=x[id]+dx[way[id]]*i;int yy=y[id]+dy[way[id]]*i;if(xx<1||yy<1||xx>n||yy>n)continue;if(c[xx][yy]=='.'||c[xx][yy]=='#')c[xx][yy]='.';else life[c[xx][yy]-'0']=0,c[xx][yy]='.';}
}
signed main(){//ios::sync_with_stdio(0);srand(time(0));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){c[i][j]='.';}}T=n*10;while(T--){int xx=(rand()-1)%n+1;int yy=(rand()-1)%n+1;while(xx<0||yy<0||xx>n||yy>n||c[xx][yy]!='.'){xx=(rand()-1)%n+1;yy=(rand()-1)%n+1;}c[xx][yy]='#';}for(int i=1;i<=4;i++){int xx=(rand()-1)%n+1;int yy=(rand()-1)%n+1;while(xx<0||yy<0||xx>n||yy>n||c[xx][yy]!='.'){xx=(rand()-1)%n+1;yy=(rand()-1)%n+1;}c[xx][yy]=i+'0';x[i]=xx,y[i]=yy;way[i]=rand()%4;}while(life[1]+life[2]+life[3]+life[4]>=2){for(int id=1;id<=4;id++){if(!life[id])continue;char op;bool flag=1;while(flag){system("cls");for(int i=1;i<=4;i++){cout<<i<<" now way:"<<wayname[way[i]]<<"\t";}cout<<"\n\n";for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cout<<c[i][j];}cout<<'\n';}cout<<"\nnow is "<<id<<" time.\n";cout<<"W advance,R turn right,L turn left,K hit.\n";cin>>op;flag=0;if(op=='W'){move(id);}else if(op=='R'){turnr(id);}else if(op=='L'){turnl(id);}else if(op=='K'){K(id);}else flag=1;}}}for(int i=1;i<=4;i++){if(life[i]){cout<<i<<" win.";break;}}
}
http://www.dtcms.com/a/347106.html

相关文章:

  • 【卷积神经网络详解与实例】1——计算机中的图像原理
  • 文件系统挂载详细分析(《图解Linux内核》虚拟文件系统篇笔记二)
  • 详细介绍将 AList 搭建 WebDav 添加到 PotPlayer 专辑 的方法
  • 基于Kubernetes StatefulSet的有状态微服务部署与持久化存储实践经验分享
  • JH-14回柱绞车优化设计cad+设计说明书+绛重
  • (论文速读)OverLoCK -上下文混合动态核卷积
  • OSI参考模型TCP/IP模型 二三事
  • 深入理解Web服务与HTTP协议
  • 55 C++ 现代C++编程艺术4-元编程
  • 总结:Maven多仓库多镜像源配置
  • 26.内置构造函数
  • STM32F1 USART介绍及应用
  • 【读书笔记】《从0到1》
  • MacOS + Android Studio:将 Git 仓库从 HTTP 切换为 SSH 并解决权限问题
  • VLOOKUP专题训练
  • 【Win】Motrix+Aria2浏览器下载加速
  • DeepSeek V3.1 横空出世:重新定义大语言模型的边界与可能
  • Qt5 项目的构建与部署详细讲解
  • 【Android】Fragment生命周期详解
  • 链表漫游指南:C++ 指针操作的艺术与实践
  • 【RK3576】【Android14】Android平台跟文件系统
  • PostgreSQL表分区与复杂查询性能优化实践指南
  • 【AI基础:神经网络】17、神经网络基石:从MP神经元到感知器全解析 - 原理、代码、异或困境与突破
  • 当 /etc/sysctl.d/ 目录下存在多个配置文件且配置项冲突时最终会使用哪个配置项
  • 嵌入式linux开发板 IP配置
  • Redis配置与数据类型详解及缓存优化实践
  • 使用VLLM部署大模型embedding/chat 的API
  • 秋招面试准备
  • Git的下载安装和使用以及和IDEA的关联
  • PLECS 中使用 C-Script 来模拟 NTC 热敏电阻(如 NTC3950B)