问题标题: 酷町堂:行走 更新了,增加新功能,版本3.0!!!

0
0
已解决
王子逸
王子逸
新手天翼
新手天翼
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<conio.h>
#include<Windows.h>
#include<string>
using namespace std;
void suo()
{
	
	string ya="a键向左移动,d键向右移动,w爬墙,s下墙,z键在脚下放方块,f键打掉面前的方块";
	cout<<"\n\n\n\n\n\n\n\n\t\t";
	for(int i=0;i<ya.size();i++)
	{
		cout<<ya[i];
		Sleep(130);
	 } 
	 Sleep(3000);
	 system("cls");
}
int main()
{
HANDLE hstdin = GetStdHandle(STD_INPUT_HANDLE);
    						HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
	system("color 04");
	int x=8,y=31;
	char ch;
	int f;
	int a[11][36]={{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
				  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
				  {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
				  {1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0},
				  {1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1},
				  {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

suo(); 
				  while(1)
				  {
				for(int i=0;i<=10;i++)
				{
				  	for(int j=0;j<=35;j++)
				  	{
				  		if(a[i][j]==1)
				  		{
						  SetConsoleTextAttribute(hstdout, 0x0C);
				  			cout<<"OT";
						  } 
						  
						  else if(a[i][j]==0)
						  {
						  	cout<<"  ";
						  }
						  else if(a[i][j]==9)
						  {
    						SetConsoleTextAttribute(hstdout, 0x0E);
					   	  	cout<<"GD";
						  }
						  else if(a[i][j]==8)
						  { 
						  SetConsoleTextAttribute(hstdout, 0x0F);
						  	cout<<"AA"; 
						  }
					  }
					  cout<<endl; 
				}
				ch=getch();
				if(ch=='f')
				{
					if(f==1)
					{
						a[x][y-1]=0;
					}
					else if(f==2)
					{
						a[x][y+1]=0;
					}
					system("cls");
				}
				else if(ch=='a')
				{
					f=1;
					if(a[x+1][y-1]==8)
					{
						system("cls");
						system("color 0F");
						cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
						Sleep(5000);
						return 0;
					}
					else if(a[x+1][y-1]==0&&a[x+1][y]!=1)
					{
						a[x+1][y-1]=9;
						a[x][y]=0;
						x++;
						y--;
						system("cls");
					}
					else if(a[x][y-1]==1&&a[x-1][y-1]!=1)
					{
						a[x-1][y-1]=9;
						a[x][y]=0;
						x--;
						y--;
						system("cls");
					}
					else
					{
					a[x][y-1]=9;
					a[x][y]=0;
					y--;
					system("cls");
					}
				}
				else if(ch=='z'&&a[x-1][y]!=1)
				{
					a[x][y]=1;
					a[x-1][y]=9;
					x-=1;
					system("cls"); 
				 } 
				else if(ch=='d')
				{
					f=2;
					if(a[x+1][y+1]==8)
					{
						system("cls");
						system("color 0F") ;
						cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
						Sleep(5000);
						return 0;
					}
					else if(a[x+1][y+1]==0&&a[x-1][y+1]!=1)
					{
						a[x+1][y+1]=9;
						a[x][y]=0;
						x++;
						y++;
						system("cls");
					 } 
					 else if(a[x][y+1]==1)
					 {
					 	a[x-1][y+1]=9;
					 	a[x][y]=0;
					 	x--;
					 	y++;
					 	system("cls");
					 }
					 
					 else
					 {
					 	a[x][y+1]=9;
					a[x][y]=0;
					y++;
					system("cls");
					 }
					
				}
				else if(ch=='w'&&a[x-1][y]!=1&&(a[x][y+1]||a[x][y-1]==1)) 
				{
					a[x-1][y]=9;
					a[x][y]=0;
					x--;
					system("cls");
				}
				else if(ch=='s'&&a[x+1][y]!=1&&(a[x][y+1]==1||a[x][y-1]==1||a[x+1][y-1]==1||a[x+1][y+1]==1))
				{
					a[x+1][y]=9;
					a[x][y]=0;
					x++;
					system("cls");
				} 
				else
				{
					system("cls");
				}
				}
				return 0;
}

来了!!!

王子逸在2020-05-24 16:56:08追加了内容
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<conio.h>
#include<Windows.h>
#include<string>
using namespace std;
int b[11][36]={{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
               {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
               {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
               {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}};
int tia()
{
    system("cls");
    HANDLE hstdin = GetStdHandle(STD_INPUT_HANDLE);
        HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
        int f;
    char ch;                    
    int x=3;
    int y=8;
    system("color 07");
    while(1)
    {
        for(int i=0;i<=10;i++)
                {
                      for(int j=0;j<=35;j++)
                      {
                          if (b[i][j]==6)
                          {
                              cout<<" @";
                          }
                          else if(b[i][j]==1)
                          {
                          SetConsoleTextAttribute(hstdout, 0x0C);
                              cout<<"OT";
                          } 
                          
                          else if(b[i][j]==0)
                          {
                              cout<<"  ";
                          }
                          else if(b[i][j]==9)
                          {
                            SetConsoleTextAttribute(hstdout, 0x0E);
                                 cout<<"GD";
                          }
                          else if(b[i][j]==8)
                          { 
                          SetConsoleTextAttribute(hstdout, 0x0F);
                              cout<<"AA"; 
                          }
                      }
                      cout<<endl; 
                }
        
                ch=getch();
                if(ch=='f')
                {
                    if(f==1)
                    {
                        b[x][y-1]=0;
                    }
                    else if(f==2)
                    {
                        b[x][y+1]=0;
                    }
                    system("cls");
                }
                else if(ch=='a')
                {
                    if(b[x][y-1]==6)
                    {
                        tia();
                    }
                    f=1;
                    if(b[x+1][y-1]==8)
                    {
                        system("cls");
                        system("color 0F");
                        cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
                        Sleep(5000);
                        return 0;
                    }
                    else if(b[x+1][y-1]==0&&b[x+1][y]!=1)
                    {
                        b[x+1][y-1]=9;
                        b[x][y]=0;
                        x++;
                        y--;
                        system("cls");
                    }
                    else if(b[x][y-1]==1&&b[x-1][y-1]!=1)
                    {
                        b[x-1][y-1]=9;
                        b[x][y]=0;
                        x--;
                        y--;
                        system("cls");
                    }
                    else
                    {
                    b[x][y-1]=9;
                    b[x][y]=0;
                    y--;
                    system("cls");
                    }
                }
                else if(ch=='z'&&b[x-1][y]!=1)
                {
                    if(b[x-1][y]==6)
                    {
                        tia();
                    }
                    b[x][y]=1;
                    b[x-1][y]=9;
                    x-=1;
                    system("cls"); 
                    
                 } 
                else if(ch=='d')
                {
                    if(b[x][y+1]==6)
                    {
                        tia();
                    }
                    f=2;
                    if(b[x+1][y+1]==8)
                    {
                        system("cls");
                        system("color 0F") ;
                        cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
                        Sleep(5000);
                        return 0;
                    }
                    else if(b[x+1][y+1]==0&&b[x-1][y+1]!=1)
                    {
                        b[x+1][y+1]=9;
                        b[x][y]=0;
                        x++;
                        y++;
                        system("cls");
                     } 
                     else if(b[x][y+1]==1)
                     {
                         b[x-1][y+1]=9;
                         b[x][y]=0;
                         x--;
                         y++;
                         system("cls");
                     }
                     
                     else
                     {
                         b[x][y+1]=9;
                    b[x][y]=0;
                    y++;
                    system("cls");
                     }
                    
                }
                else if(ch=='w'&&b[x-1][y]!=1&&(b[x][y+1]||b[x][y-1]==1)) 
                {
                    if(b[x-1][y]==6)
                    {
                        tia();
                    }
                    b[x-1][y]=9;
                    b[x][y]=0;
                    x--;
                    system("cls");
                }
                else if(ch=='s'&&b[x+1][y]!=1&&(b[x][y+1]==1||b[x][y-1]==1||b[x+1][y-1]==1||b[x+1][y+1]==1))
                {
                    b[x+1][y]=9;
                    b[x][y]=0;
                    x++;
                    system("cls");
                } 
                else 
                {
                    system("cls");
                }
            }
        }
    

void suo()
{
    
    string ya="a键向左移动,d键向右移动,w爬墙,s下墙,z键在脚下放方块,f键打掉面前的方块";
    cout<<"\n\n\n\n\n\n\n\n\t\t";
    for(int i=0;i<ya.size();i++)
    {
        cout<<ya[i];
        Sleep(130);
     } 
     Sleep(3000);
     system("cls");
}
int main()
{
HANDLE hstdin = GetStdHandle(STD_INPUT_HANDLE);
                            HANDLE hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
    system("color 04");
    int x=8,y=31;
    char ch;
    int f;
    int a[11][36]={{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
                  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                  {0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0},
                  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0},
                  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0},
                  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1},
                  {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                  {1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0},
                  {1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1},
                  {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

suo(); 
                  while(1)
                  {
                for(int i=0;i<=10;i++)
                {
                      for(int j=0;j<=35;j++)
                      {
                          if (a[i][j]==6)
                          {
                              cout<<" @";
                          }
                          else if(a[i][j]==1)
                          {
                          SetConsoleTextAttribute(hstdout, 0x0C);
                              cout<<"OT";
                          } 
                          
                          else if(a[i][j]==0)
                          {
                              cout<<"  ";
                          }
                          else if(a[i][j]==9)
                          {
                            SetConsoleTextAttribute(hstdout, 0x0E);
                                 cout<<"GD";
                          }
                          else if(a[i][j]==8)
                          { 
                          SetConsoleTextAttribute(hstdout, 0x0F);
                              cout<<"AA"; 
                          }
                      }
                      cout<<endl; 
                }
                ch=getch();
                if(ch=='f')
                {
                    if(f==1)
                    {
                        a[x][y-1]=0;
                    }
                    else if(f==2)
                    {
                        a[x][y+1]=0;
                    }
                    system("cls");
                }
                else if(ch=='a')
                {
                    if(a[x][y-1]==6)
                    {
                        tia();
                    }
                    f=1;
                    if(a[x+1][y-1]==8)
                    {
                        system("cls");
                        system("color 0F");
                        cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
                        Sleep(5000);
                        return 0;
                    }
                    else if(a[x+1][y-1]==0&&a[x+1][y]!=1)
                    {
                        a[x+1][y-1]=9;
                        a[x][y]=0;
                        x++;
                        y--;
                        system("cls");
                    }
                    else if(a[x][y-1]==1&&a[x-1][y-1]!=1)
                    {
                        a[x-1][y-1]=9;
                        a[x][y]=0;
                        x--;
                        y--;
                        system("cls");
                    }
                    else
                    {
                    a[x][y-1]=9;
                    a[x][y]=0;
                    y--;
                    system("cls");
                    }
                }
                else if(ch=='z'&&a[x-1][y]!=1)
                {
                    if(a[x-1][y]==6)
                    {
                        tia();
                    }
                    a[x][y]=1;
                    a[x-1][y]=9;
                    x-=1;
                    system("cls"); 
                    
                 } 
                else if(ch=='d')
                {
                    if(a[x][y+1]==6)
                    {
                        tia();
                    }
                    f=2;
                    if(a[x+1][y+1]==8)
                    {
                        system("cls");
                        system("color 0F") ;
                        cout<<"\n\n\n\n\t\t\t\t\tGame Over!\n\n\n\n\n\n\n";
                        Sleep(5000);
                        return 0;
                    }
                    else if(a[x+1][y+1]==0&&a[x-1][y+1]!=1)
                    {
                        a[x+1][y+1]=9;
                        a[x][y]=0;
                        x++;
                        y++;
                        system("cls");
                     } 
                     else if(a[x][y+1]==1)
                     {
                         a[x-1][y+1]=9;
                         a[x][y]=0;
                         x--;
                         y++;
                         system("cls");
                     }
                     
                     else
                     {
                         a[x][y+1]=9;
                    a[x][y]=0;
                    y++;
                    system("cls");
                     }
                    
                }
                else if(ch=='w'&&a[x-1][y]!=1&&(a[x][y+1]||a[x][y-1]==1)) 
                {
                    if(a[x-1][y]==6)
                    {
                        tia();
                    }
                    a[x-1][y]=9;
                    a[x][y]=0;
                    x--;
                    system("cls");
                }
                else if(ch=='s'&&a[x+1][y]!=1&&(a[x][y+1]==1||a[x][y-1]==1||a[x+1][y-1]==1||a[x+1][y+1]==1))
                {
                    a[x+1][y]=9;
                    a[x][y]=0;
                    x++;
                    system("cls");
                } 
                else 
                {
                    system("cls");
                }
                }
                return 0;
}

新地图,圣域 更新

王子逸在2020-05-24 17:18:06追加了内容

因为数据太大,后期我会分成函数来写地图,bug可能会很多,望谅解


0
已采纳
沈峻宇
沈峻宇
资深天翼
资深天翼

尖刺也能打掉!希望修改

沈峻宇在2020-05-24 16:10:50追加了内容

而且无法挖掉后面的方块!

沈峻宇在2020-05-24 16:12:37追加了内容

无法往下和往上挖

沈峻宇在2020-05-24 16:14:44追加了内容

竟然还能吃方块!牛逼

沈峻宇在2020-05-24 21:39:24追加了内容

0
0
许金夫
许金夫
初级天翼
初级天翼

我的天!更得比我还快!我也得加紧了

0
0
潘晨皓
潘晨皓
高级天翼
高级天翼

天啊!悬空!

f好像没用

它自动吃方块……

希望出下一关!!!

还能贴在墙上……

0
潘晨皓
潘晨皓
高级天翼
高级天翼

好强!

两条命啊!

穿墙!!

0
高子健
高子健
新手天翼
新手天翼

哈哈哈

我发现了个BUG

可以把AA打掉

走到坑了按f

就可以了

0
我要回答