社区讨论

发一个堆灰的游戏。。。

灌水区参与者 12已保存回复 18

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
18 条
当前快照
1 份
快照标识符
@mi6uu2ja
此快照首次捕获于
2025/11/20 11:11
4 个月前
此快照最后确认于
2025/11/20 14:40
4 个月前
查看原帖
本人第一个游戏。 代码很丑,大佬请勿喷。。
CPP
#include<iostream>
#include<ctime>
#include<windows.h>
using namespace std;
int Map[1005][1005],ans_way[1005][1005];
int fx[5]={0,1,0};
int fy[5]={0,0,1};
int i,x=1,y=1,n,xx,yy;
int one,two,three,four; 
int prx=1,pry=1;
int zgd_way[1005][1005];
int sf=0;
void hide()
{
CONSOLE_CURSOR_INFO cursor_info={1,0};
//SetConsoleCursorInfo(hOut, &cursor_info);
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void old(); 
void start(); 
void AI_PK();
void Pos(int x,int y)//设置光标位置
{
    COORD pos;
    HANDLE hOutput;
    pos.X=x;
    pos.Y=y;
    hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(hOutput,pos);
}
void print_play_PK()
{ 
hide();
Pos(0,0);
//	cout<<"-----------------------------子漏(→_→)    密码---------------------------"<<endl;
	for (int i=1;i<=n+1;i++)
	  cout<<"===";
	cout<<endl;                                   
	for (int i=1;i<=n;i++)
	{
		cout<<"=";
		for (int j=1;j<=n;j++)
		{           
			if (Map[i][j]==1)     printf("▲ "); 
			else if (Map[i][j]==0)printf("   ");
			else if (Map[i][j]==2)printf("兵 ");
			else if (Map[i][j]==3)printf("AI ");	
		}
		cout<<"="<<endl;
	}       
	for (int i=1;i<=n+1;i++)
	  cout<<"===";
}
void go()
{
	    if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_RIGHT))
        {
        //	system("cls");
        	Map[prx][pry+1]=1;
//        	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_LEFT))
        {
        //	system("cls");
        	Map[prx][pry-1]=1;
  //      	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_UP))
        {
        //	system("cls");
        	Map[prx-1][pry]=1;
    //    	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_DOWN))
        {
        //	system("cls");
        	Map[prx+1][pry]=1;
//        	print_play_PK();
		}    
		else if (GetAsyncKeyState(VK_ESCAPE)&&GetAsyncKeyState(VK_SPACE))
        {
        //	system("cls");                 
        	memset(Map,0,sizeof(Map));
  //      	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_ESCAPE)&&GetAsyncKeyState(VK_DOWN))
        {
        //	system("cls");                 
        	Map[prx+1][pry]=0;
    //    	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_ESCAPE)&&GetAsyncKeyState(VK_UP))
        {
        //	system("cls");                 
        	Map[prx-1][pry]=0;
      //  	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_ESCAPE)&&GetAsyncKeyState(VK_RIGHT))
        {
        //	system("cls");                 
        	Map[prx][pry+1]=0;
        //	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_ESCAPE)&&GetAsyncKeyState(VK_LEFT))
        {
        //	system("cls");                 
        	Map[prx][pry-1]=0;
        //	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_UP))
        {
        //	system("cls");
        	Map[prx-1][pry]=1;
        //	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_LEFT))
        {
        //	system("cls");
        	Map[prx][pry-1]=1;
        //	print_play_PK();
		}
		else if (GetAsyncKeyState(VK_SPACE)&&GetAsyncKeyState(VK_RIGHT))
        {
        //	system("cls");
        	Map[prx][pry+1]=1;
        //	print_play_PK();
		}
	
	if(GetAsyncKeyState(VK_DOWN)){
    		if ((Map[prx+1][pry]==0||Map[prx+1][pry]==3)&&((prx+1)<=n)&&((prx+1)>=1)&&(pry>=1)&&(pry<=n))
    		{
    	//		system("cls");
    			//player_way++;
    			prx++;
    			Map[prx-1][pry]=0;
    			Map[prx][pry]=2;
    			sf=1;
    	//		print_play_PK();
 //   			break;
			}
		} 
	
		else if(GetAsyncKeyState(VK_UP)) {
            if ((Map[prx-1][pry]==0||Map[prx-1][pry]==3)&&((prx-1)<=n)&&((prx-1)>=1)&&(pry>=1)&&(pry<=n))
    		{
    	//		system("cls");
    			//player_way++;
    			prx--;
    			Map[prx+1][pry]=0;
    			Map[prx][pry]=2;
    			sf=1;
    	//		print_play_PK();
   // 			break;
			}
        }
        else if(GetAsyncKeyState(VK_RIGHT)) {
            if ((Map[prx][pry+1]==0||Map[prx][pry+1]==3)&&(prx<=n)&&(prx>=1)&&((pry+1)>=1)&&((pry+1)<=n))
    		{
    	//		system("cls");         
    			//player_way++;
    			pry++;
    			Map[prx][pry-1]=0;
    			Map[prx][pry]=2;
    			sf=1;
    	//		print_play_PK();
//    			break;
			}
        }
        else if(GetAsyncKeyState(VK_LEFT)) {
            if ((Map[prx][pry-1]==0||Map[prx][pry-1]==3)&&(prx<=n)&&(prx>=1)&&((pry-1)>=1)&&((pry-1)<=n))
    		{
    	//		system("cls");
    			//player_way++;
    			pry--;
    			Map[prx][pry+1]=0;
    			Map[prx][pry]=2;
    			sf=1;
    	//		print_play_PK();
  //  			break;
			}
        }
}

回复

18 条回复,欢迎继续交流。

正在加载回复...