- 游戏
- @ 2026-07-28 16:11:54
#include<bits/stdc++.h>
#pragma execution_character_set("utf-8")
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#define __color(attr); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),attr);
#define color(attr); __color(attr);
#define __gotoxy(x,y); SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),{x,y});
#define gotoxy(x,y); __gotoxy((SHORT)(x),(SHORT)(y));
#define ll long long
using namespace std;
int WIDTH=16;
int HEIGHT=16;
int MINE_COUNT=40;
int minezone[1024][1024];
bool mark[1024][1024];
bool vis[1024][1024];
int vis_quantity;
bool exploded;
int wordsize_width,wordsize_height;
void init_minezone(){
srand((unsigned int)(time(NULL)));
for(int i=WIDTH*HEIGHT;i>WIDTH*HEIGHT-MINE_COUNT;i--){
int tmp=rand()%i;
bool flag=0;
for(int j=1;j<=WIDTH&&!flag;j++){
for(int k=1;k<=HEIGHT&&!flag;k++){
if(minezone[j][k]>=1000)continue;
if(tmp--)continue;
minezone[j-1][k-1]++;
minezone[j-1][k]++;
minezone[j-1][k+1]++;
minezone[j][k-1]++;
minezone[j][k]=1000;
minezone[j][k+1]++;
minezone[j+1][k-1]++;
minezone[j+1][k]++;
minezone[j+1][k+1]++;
flag=1;
}
}
}
for(int i=1;i<=WIDTH;i++){
for(int j=1;j<=HEIGHT;j++){
if(minezone[i][j]>=1000)minezone[i][j]=1000;
}
}
for(int i=0;i<=WIDTH+1;i++){
minezone[i][0]=-1;
minezone[i][HEIGHT+1]=-1;
vis[i][0]=1;
vis[i][HEIGHT+1]=1;
}
for(int i=0;i<=HEIGHT+1;i++){
minezone[0][i]=-1;
minezone[WIDTH+1][i]=-1;
vis[0][i]=1;
vis[WIDTH+1][i]=1;
}
}
bool GetConsoleWordSize(int &width,int &height){
HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);
if(hConsole==INVALID_HANDLE_VALUE)return 0;
CONSOLE_FONT_INFO cfi;
if(!GetCurrentConsoleFont(hConsole, FALSE, &cfi))return 0;
width=cfi.dwFontSize.X;
height=cfi.dwFontSize.Y;
return 1;
}
bool GetSelectedWordPos(LPPOINT lpPoint,int nWidth,int nHeight) {
HWND hConsoleWnd=GetConsoleWindow();
if(hConsoleWnd!=GetForegroundWindow())return 0;
if(!GetCursorPos(lpPoint))return 0;
if(!ScreenToClient(hConsoleWnd,lpPoint)) return 0;
if(nWidth<=0||nHeight<=0)return 0;
lpPoint->x/=nWidth;
lpPoint->y/=nHeight;
return 1;
}
void detect(int x,int y){
if(vis[x][y])return;
vis[x][y]=1;
vis_quantity++;
mark[x][y]=0;
if(minezone[x][y]==1000){
exploded=1;
return;
}
if(minezone[x][y]>0)return;
for(int dx=-1;dx<=1;dx++){
for(int dy=-1;dy<=1;dy++){
detect(x+dx,y+dy);
}
}
}
bool DisableConsoleSelect(){
HANDLE hIn=GetStdHandle(STD_INPUT_HANDLE);
if(hIn==INVALID_HANDLE_VALUE)return 0;
DWORD Mode;
if(!GetConsoleMode(hIn,&Mode))return 0;
if(!SetConsoleMode(hIn,Mode&(~ENABLE_QUICK_EDIT_MODE)&(~ENABLE_MOUSE_INPUT)))return 0;
return 1;
}
bool HideConsoleCursor(){
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
if(hOut==INVALID_HANDLE_VALUE)return 0;
CONSOLE_CURSOR_INFO cci;
if(!GetConsoleCursorInfo(hOut,&cci))return 0;
cci.bVisible=FALSE;
if(!SetConsoleCursorInfo(hOut,&cci))return 0;
return 1;
}
bool ShowConsoleCursor(){
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
if(hOut==INVALID_HANDLE_VALUE)return 0;
CONSOLE_CURSOR_INFO cci;
if(!GetConsoleCursorInfo(hOut,&cci))return 0;
cci.bVisible=TRUE;
if(!SetConsoleCursorInfo(hOut,&cci))return 0;
return 1;
}
void print(){
POINT mouse;
GetSelectedWordPos(&mouse,wordsize_width,wordsize_height);
int MouseGridX=(mouse.x-1)/2;
int MouseGridY=mouse.y;
bool MouseValid=((mouse.x-1)%2==0);
for(int i=1;i<=WIDTH;i++){
for(int j=1;j<=HEIGHT;j++){
gotoxy(i*2+1,j);
bool hovered=(i==MouseGridX&&j==MouseGridY&&MouseValid);
if(vis[i][j]){
if(minezone[i][j]<1000){
WORD ColorCode=0x04;
if(minezone[i][j]==0)ColorCode=0x08;
if(minezone[i][j]==1)ColorCode=0x01;
if(minezone[i][j]==2)ColorCode=0x02;
color(hovered?(ColorCode|0xF0):ColorCode);
printf("%d",minezone[i][j]);
}
}else if(mark[i][j]){
color(hovered?0xFC:0x0C);
putchar('P');
}else{
color(hovered?0xF8:0x08);
putchar('+');
}
}
}
}
void final_print(){
if(!exploded){
print();
return;
}
for(int i=1;i<=WIDTH;i++){
for(int j=1;j<=HEIGHT;j++){
gotoxy(i*2+1,j);
if(mark[i][j]&&minezone[i][j]!=1000){
color(0x0D);
putchar('F');
}else if(minezone[i][j]==1000){
if(vis[i][j]){
color(0x4F);
}else{
color(0x0F);
}
putchar('X');
}
}
}
}
static int pane[11][16];
static char get;
struct GRAPH{
int code,x[5],y[5];
}graph,templategraph[24]={0,0,1,1,1,1,0,0,1,2,2,1,0,0,1,2,2,0,1,1,1,1,2,0,1,1,1,1,0,0,1,2,2,3,0,0,1,2,2,0,1,1,1,1,4,0,0,1,1,1,0,0,0,1,2,5,0,0,0,1,2,0,2,1,1,1,6,0,1,1,1,2,0,0,1,2,2,7,0,0,1,2,2,0,1,1,1,0,8,0,0,0,1,2,0,0,1,1,1,9,0,1,1,1,0,0,0,1,2,2,10,0,0,1,2,2,0,1,1,1,2,11,0,1,1,1,2,0,2,1,0,0,12,0,0,1,1,1,0,0,1,0,1,13,0,0,1,0,0,0,0,0,1,0,14,0,0,1,0,0,0,0,1,1,1,15,0,1,1,0,0,0,0,1,1,1,16,0,1,0,1,1,0,0,1,1,2,17,0,1,1,2,0,0,1,2,1,1,18,0,1,1,1,2,0,0,1,2,1,19,0,1,1,0,2,0,1,0,1,1,20,0,0,1,2,2,0,1,1,1,2,21,0,1,1,1,2,0,2,1,0,0,22,0,0,0,1,2,0,0,1,1,1,23,0,0,1,1,1,0,2,2,1,0};
class G_M{
public:
void spin();
void left();
void right();
void fall();
}graphmove;
class G_T{
public:
bool leftfolded();
bool rightfolded();
bool landed();
}graphtest;
class G_O{
public:
void create();
void freezeup();
}graphoption;
class P_T{
public:
bool linefilled(int);
}panetest;
class P_O{
public:
void pastegraph();
void removegraph();
void offset(int);
void print();
}paneoption;
void G_M::spin(){
static int x,y;
x=graph.x[0];y=graph.y[0];
graph=templategraph[((!(graph.code%4-3))?graph.code-3:graph.code+1)];
graph.x[0]=x;graph.y[0]=y;
}
void G_M::left(){
graph.x[0]--;
}
void G_M::right(){
graph.x[0]++;
}
void G_M::fall(){
graph.y[0]--;
}
bool G_T::landed(){
for(int i=1;i<5;i++){
//if(graph.y[i]+graph.y[0]==1)return 1;
if(pane[graph.x[i]+graph.x[0]][graph.y[i]+graph.y[0]-1]==2)return 1;
}
return 0;
}
int graphcode;
void G_O::create(){
graphcode=rand()%24;
graph=templategraph[graphcode];
graph.x[0]=rand()%3+3;
graph.y[0]=13;
}
void G_O::freezeup(){
for(int i=1;i<5;i++)
pane[graph.x[i]+graph.x[0]][graph.y[i]+graph.y[0]]=2;
}
bool P_T::linefilled(int y){
int scores=0;
for(int i=1;i<10;i++)
if(pane[i][y]==2)scores++;
if(scores==9)return 1;
return 0;
}
ll qwqw(){
cout<<1<<",自己算吧。"<<endl;
}
void P_O::pastegraph(){
for(int i=1;i<5;i++)
pane[graph.x[i]+graph.x[0]][graph.y[i]+graph.y[0]]=1;
}
void P_O::removegraph(){
for(int i=1;i<10;i++)
for(int j=1;j<16;j++)
if(pane[i][j]==1)pane[i][j]=0;
}
void P_O::offset(int y){
for(int i=y;i<13;i++)
for(int j=1;j<10;j++)
pane[j][i]=pane[j][i+1];
}
void P_O::print(){
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),{0,0});
color(19);
cout<<" ";
color(7);
cout<<'\n';
for(int i=12;i>0;i--){
color(17);
cout<<" ";
for(int j=1;j<10;j++){
}
color(17);
cout<<" ";
color(7);
cout<<'\n';
}
color(17);
cout<<" ";
color(7);
cout<<'\n';
}
ll ab;
ll bbbbbb;
ll aaaaaa;
ll aaaaa[100000000];
ll bbbbb[100000000];
ll a;
ll b;
ll f;
ll bb(ll d){
ll e;
e=d;
e+=d;
e-=d;
e++;
e--;
f=e;
return e;
}
ll aa(ll aaa,ll bbb){
ll c=0;
for(ll i=1;i<=aaa;i++)
{
c++;
}
for(ll i=1;i<=bbb;i++)
{
c++;
}
c++;
c--;
c+=999;
c-=999;
bb(c);
}
int _1=20,_2=20,_3=0,_4=77,_5=200,_6=1;
vector<pair<int,int>> _7;
pair<int,int> _8;
bool _9=0;
int __,_$;
void ____() {
CONSOLE_CURSOR_INFO ___;
GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&___);
___.bVisible=0;
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&___);
}
void ___$() {
_8={rand()%(_1-2)+2,rand()%(_2-2)+2};
for(auto&p:_7)if(p==_8){___$();return;}
}
int _a=48,_b=28,_c=0,_d=0,_e=150,_f=0;
bool _g=0;
struct _h{int x,y;};
struct _i{_h p;int hp,type;};
struct _j{_h p;int life;};
_h _k;
vector<_j> _l;
vector<_i> _m;
vector<_h> _n;
void _o(){CONSOLE_CURSOR_INFO _;GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&_);_.bVisible=0;SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&_);}
void _p(){
static int _=0;
if(GetAsyncKeyState(VK_SPACE)&0x8000){
if(++_>6){_=0;_l.push_back({{_k.x,_k.y-1},0});}
}else _=6;
for(auto _=_l.begin();_!=_l.end();){
_->p.y-=2;
if(_->p.y<2||_->life>20){_=_l.erase(_);continue;}
_->life++;
if(_->life%3==0)_->p.x++;
++_;
}
}
void _q(){
if(rand()%100<(_g?18:8)){
int _=rand()%2;
if(_==0)_m.push_back({{rand()%(_a-3)+2,1},2,0});
else _m.push_back({{rand()%(_a-3)+2,1},1,1});
}
}
void _t(){
if(GetAsyncKeyState('A')&0x8000)if(_k.x>2)_k.x--;
if(GetAsyncKeyState('D')&0x8000)if(_k.x<_a-2)_k.x++;
if(GetAsyncKeyState('W')&0x8000)if(_k.y>2)_k.y--;
if(GetAsyncKeyState('S')&0x8000)if(_k.y<_b-2)_k.y++;
}
#define _Q(w) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),w)
#define __K(x,y) SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),{x,y})
#pragma execution_character_set("utf-8")
using namespace std;
void ___$fdg(){
__K(0,0);_Q(0x0F);
cout<<" ";
for(int i=1;i<=_a;i++)cout<<setw(2)<<i;
cout<<endl;
for(int i=1;i<=_b;i++){
cout<<setw(2)<<i;
}
}
bool ___$sf$(int x,int y,int p){
for(int dx=-1;dx<=1;dx++)for(int dy=-1;dy<=1;dy++){
if(dx==0&&dy==0)continue;
int cnt=0;
for(int k=1;k<5;k++){
int nx=x+dx*k,ny=y+dy*k;
}
if(cnt>=4)return 1;
}
return 0;
}
void __$__() {
if(_4=='w'||_4=='W')__=-0,_$=-1;
else if(_4=='s'||_4=='S')__=0,_$=1;
else if(_4=='a'||_4=='A')__=-1,_$=0;
else if(_4=='d'||_4=='D')__=1,_$=0;
pair<int,int> _0=_7.front();
_0.first+=__;_0.second+=_$;
if(_0.first<=0||_0.first>_1||_0.second<=0||_0.second>_2){_9=1;return;}
for(auto&p:_7)if(p==_0){_9=1;return;}
_7.insert(_7.begin(),_0);
if(_0==_8){_3++;_8.first=-1;___$();}
else _7.pop_back();
}
signed main(){
cout<<"数字 游戏:"<<'\n';
cout<<"数字不要为小数和负数,不要太大"<<endl;
cout<<"输入第一个数:"<<endl;
cin>>a;
cout<<"输入第二个数:"<<endl;
cin>>b;
cout<<"加载时间可能较长,请耐心等待!"<<endl;
cout<<"资源加载中.";
for(ll j=1;j<=5;j++){
for(ll i=1;i<=380000000;i++){
ab+=i;
ab-=i;
}
cout<<" .";
if(j==5){
cout<<endl;
}
}
cout<<"更新中.";
for(ll j=1;j<=5;j++){
for(ll i=1;i<=600000000;i++){
ab+=i;
ab-=i;
}
cout<<" .";
if(j==5){
cout<<endl;
}
}
cout<<"下载地图中.";
for(ll j=1;j<=5;j++){
for(ll i=1;i<=200000000;i++){
ab+=i;
ab-=i;
}
cout<<" .";
if(j==5){
cout<<endl;
}
}
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;cout<<endl;
cout<<endl;cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;cout<<endl;
cout<<"他们的和:";
aa(a,b);
for(ll i=1;i<f;i++){
cout<<1<<"+";
}
qwqw();
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab+=i;
ab-=i;
}
}
for(ll j=1;j<=5;j++){
for(ll i=1;i<=10000000;i++){
ab++;
ab-=i;
}
}
cout<<"游戏结束,再见";
return 0;
}
1 条评论
-
qwertyuiop (刘sc-2031) LV 0 @ 2026-07-28 16:44:51
好玩吧
- 1