📄 main.cpp
字号:
#include <iostream>
#include "map.h"
#include "state.h"
using std::cout;
using std::cin;
using std::endl;
const int WALKING = 2;
const int ATTACKING = 3;
InMap::TenMap1 MyTenMap1;
InMap::TenMap2 MyTenMap2;
InMap::TenMap3 MyTenMap3;
InMap::TenMap4 MyTenMap4;
InMap::TenMap5 MyTenMap5;
InMap::LeftTMap1 MyLeftTMap1;
InMap::LeftTMap2 MyLeftTMap2;
InMap::LeftTMap5 MyLeftTMap5;
InMap::LeftTMap4 MyLeftTMap4;
InMap::RightTMap1 MyRightTMap1;
InMap::RightTMap2 MyRightTMap2;
InMap::RightTMap5 MyRightTMap5;
InMap::RightTMap3 MyRightTMap3;
InMap::UpTMap1 MyUpTMap1;
InMap::UpTMap3 MyUpTMap3;
InMap::UpTMap4 MyUpTMap4;
InMap::UpTMap5 MyUpTMap5;
InMap::DownTMap2 MyDownTMap2;
InMap::DownTMap3 MyDownTMap3;
InMap::DownTMap4 MyDownTMap4;
InMap::DownTMap5 MyDownTMap5;
InMap::StrangTMap3 MyStrangTMap3;
InMap::StrangTMap4 MyStrangTMap4;
InMap::StrangTMap5 MyStrangTMap5;
InMap::ShuTMap1 MyShuTMap1;
InMap::ShuTMap2 MyShuTMap2;
InMap::ShuTMap5 MyShuTMap5;
InMap::AbstractMap *MapArray[] = {&MyTenMap1,&MyTenMap2,&MyTenMap3,&MyTenMap4,&MyTenMap5,
&MyLeftTMap1, &MyLeftTMap2, &MyLeftTMap5, &MyLeftTMap4,
&MyRightTMap1, &MyRightTMap2, &MyRightTMap5, &MyRightTMap3,
&MyUpTMap1, &MyUpTMap3, &MyUpTMap4, &MyUpTMap5,
&MyDownTMap2, &MyDownTMap3, &MyDownTMap4, &MyDownTMap5,
&MyStrangTMap3, &MyStrangTMap4, &MyStrangTMap5,
&MyShuTMap1, &MyShuTMap2, &MyShuTMap5};
InState::MyState hero;
int GameUserFace = WALKING;
int CurrentMapIndex = 0;
int CurrentEventIndex = 0;
int frontStepX = hero.playerX;
int frontStepY = hero.playerY;
char direct=0;
void AddDirect(char direct)
{
if(direct == 'w')
hero.AddUp();
else if(direct == 'a')
hero.AddLeft();
else if(direct == 'd')
hero.AddRight();
else if(direct == 's')
hero.AddDown();
else{
cout << "wrong!"<<endl;
}
hero.Show();
}
void StopAndBack()
{
if((hero.playerX == 8 && hero.playerY ==0)||
(hero.playerX == 12 && hero.playerY ==0)||
(hero.playerX == 7 && hero.playerY ==1)||
(hero.playerX == 8 && hero.playerY ==1)||
(hero.playerX == 9 && hero.playerY ==1)||
(hero.playerX == 10 && hero.playerY ==1)||
(hero.playerX == 11 && hero.playerY ==1)||
(hero.playerX == 12 && hero.playerY ==1)||
(hero.playerX == 13 && hero.playerY ==1)||
(hero.playerX == 14 && hero.playerY ==1)||
(hero.playerX == 15 && hero.playerY ==1)||
(hero.playerX == 8 && hero.playerY ==2)||
(hero.playerX == 10 && hero.playerY ==2)||
(hero.playerX == 12 && hero.playerY ==2)||
(hero.playerX == 14 && hero.playerY ==2)||
(hero.playerX == 4 && hero.playerY ==2)||
(hero.playerX == 4 && hero.playerY ==3)||
(hero.playerX == 5 && hero.playerY ==3)||
(hero.playerX == 7 && hero.playerY ==3)||
(hero.playerX == 8 && hero.playerY ==3)||
(hero.playerX == 4 && hero.playerY ==4)||
(hero.playerX == 8 && hero.playerY ==4)||
(hero.playerX == 5 && hero.playerY ==5)||
(hero.playerX == 6 && hero.playerY ==5)||
(hero.playerX == 7 && hero.playerY ==5)||
(hero.playerX == 8 && hero.playerY ==5)||
(hero.playerX == 9 && hero.playerY ==5)||
(hero.playerX == 10 && hero.playerY ==5)||
(hero.playerX == 11 && hero.playerY ==5)||
(hero.playerX == 12 && hero.playerY ==5)||
(hero.playerX == 13 && hero.playerY ==5)||
(hero.playerX == 4 && hero.playerY ==5)||
(hero.playerX == 4 && hero.playerY ==6)||
(hero.playerX == 10 && hero.playerY ==6)||
(hero.playerX == 12 && hero.playerY ==6)||
(hero.playerX == 10 && hero.playerY ==7)||
(hero.playerX == 11 && hero.playerY ==7)||
(hero.playerX == 12 && hero.playerY ==7)||
(hero.playerX == 10 && hero.playerY ==8)||
(hero.playerX == 12 && hero.playerY ==8)||
(hero.playerX == 14 && hero.playerY ==8)||
(hero.playerX == 7 && hero.playerY ==9)||
(hero.playerX == 8 && hero.playerY ==9)||
(hero.playerX == 9 && hero.playerY ==9)||
(hero.playerX == 10 && hero.playerY ==9)||
(hero.playerX == 12 && hero.playerY ==9)||
(hero.playerX == 13 && hero.playerY ==9)||
(hero.playerX == 14 && hero.playerY ==9)||
(hero.playerX == 15 && hero.playerY ==9)||
(hero.playerX == 8 && hero.playerY ==10)||
(hero.playerX == 10 && hero.playerY ==10)||
(hero.playerX == 12 && hero.playerY ==10)||
(hero.playerX == 8 && hero.playerY ==11)||
(hero.playerX == 8 && hero.playerY ==12))
{}else
{
cout << "你走错了,前面是墙\n"
<< endl;
hero.playerX = frontStepX;
hero.playerY = frontStepY;
}
}
void renderX()
{
StopAndBack();
frontStepX = hero.playerX;
frontStepY = hero.playerY;
hero.HeroEvent();
CurrentMapIndex = hero.ShowCurrentMapIndex();
CurrentEventIndex = hero.ShowCurrentEventIndex();
switch(GameUserFace)
{
case 2:
switch(CurrentMapIndex)
{
case 0:
InMap::PaintCurrentMap(MapArray[0]);
break;
case 1:
InMap::PaintCurrentMap(MapArray[1]);
break;
case 2:
InMap::PaintCurrentMap(MapArray[2]);
break;
case 3:
InMap::PaintCurrentMap(MapArray[3]);
break;
case 4:
InMap::PaintCurrentMap(MapArray[4]);
break;
case 5:
InMap::PaintCurrentMap(MapArray[5]);
break;
case 6:
InMap::PaintCurrentMap(MapArray[6]);
break;
case 7:
InMap::PaintCurrentMap(MapArray[7]);
break;
case 8:
InMap::PaintCurrentMap(MapArray[8]);
break;
case 9:
InMap::PaintCurrentMap(MapArray[9]);
break;
case 10:
InMap::PaintCurrentMap(MapArray[10]);
break;
case 11:
InMap::PaintCurrentMap(MapArray[11]);
break;
case 12:
InMap::PaintCurrentMap(MapArray[12]);
break;
case 13:
InMap::PaintCurrentMap(MapArray[13]);
break;
case 14:
InMap::PaintCurrentMap(MapArray[14]);
break;
case 15:
InMap::PaintCurrentMap(MapArray[15]);
break;
case 16:
InMap::PaintCurrentMap(MapArray[16]);
break;
case 17:
InMap::PaintCurrentMap(MapArray[17]);
break;
case 18:
InMap::PaintCurrentMap(MapArray[18]);
break;
case 19:
InMap::PaintCurrentMap(MapArray[19]);
break;
case 20:
InMap::PaintCurrentMap(MapArray[20]);
break;
case 21:
InMap::PaintCurrentMap(MapArray[21]);
break;
case 22:
InMap::PaintCurrentMap(MapArray[22]);
break;
case 23:
InMap::PaintCurrentMap(MapArray[23]);
break;
case 24:
InMap::PaintCurrentMap(MapArray[24]);
break;
case 25:
InMap::PaintCurrentMap(MapArray[25]);
break;
case 26:
InMap::PaintCurrentMap(MapArray[26]);
break;
}
switch(CurrentEventIndex)
{
case 0:
break;
case 1:
break;
default:
break;
}
break;
case 3:
break;
}
}
void main()
{
while(true)
{
//logic();
renderX();
cin >> direct;
AddDirect(direct);
if(CurrentMapIndex==CurrentMapIndex)
system("cls");
else{break;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -