做一个简单的传奇"/>
用C++做一个简单的传奇
这个是用控制台输出的,能实现基础功能:刷怪,打怪的功能(装备目前没做好)
#include <stdio.h>
#include <conio.h>
#include <windows.h>//创建地图
char map[50][50] = {"#################################################","#O #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","# #","#################################################",};
//隐藏光标
void Hide()
{HANDLE hOut;CONSOLE_CURSOR_INFO curInfo;hOut=GetStdHandle(STD_OUTPUT_HANDLE); curInfo.dwSize=1;curInfo.bVisible=0;SetConsoleCursorInfo(hOut,&curInfo);
}
//开始界面
void Start() {printf("\n \n 欢迎来到传奇");printf("\n \n 请按任意键开始");getch();system("cls");
}
//字体设置
void SetFont(int size) {CONSOLE_FONT_INFOEX cfi;cfi.cbSize = sizeof cfi;cfi.nFont = 0;cfi.dwFontSize.X = 0;cfi.dwFontSize.Y = size;cfi.FontFamily = FF_DONTCARE;cfi.FontWeight = FW_NORMAL;wcscpy_s(cfi.FaceName, L"Microsoft YaHei UI");SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi);
}
int main() {SetFont(30);Hide();Start();int x,y;x=1,y=1;char key;int money = 100;//初始化地图for (int i = 0;i <= 22;i++){puts(map[i]);}//初始化提示printf("按P刷怪物 ");printf("按K消灭怪物 ");//键盘输入,移动操作while(1) {key = getch();if (key == 'w'){if (map[x-1][y] == ' '){map[x][y] = ' ';x--;map[x][y] = 'O';}}if (key == 's'){if (map[x+1][y] == ' '){map[x][y] = ' ';x++;map[x][y] = 'O';}}if (key == 'a'){if (map[x][y-1] == ' '){map[x][y] = ' ';y--;map[x][y] = 'O';}}if (key == 'd'){if (map[x][y+1] == ' '){map[x][y] = ' ';y++;map[x][y] = 'O';}}//刷怪物if (key == 'p'){int px = rand()%22;int py = rand()%42;map[px][py] = 'Z';}//消灭怪物if (key == 'k'){if (map[x][y+1] == 'Z'){map[x][y+1] = ' ';money += 50;}else if (map[x][y-1] == 'Z'){map[x][y-1] = ' ';money += 50;}else if (map[x+1][y] == 'Z'){map[x+1][y] = ' ';money += 50;}else if (map[x-1][y] == 'Z'){map[x-1][y] = ' ';money += 50;}}system("cls");//循环输出地图for (int i = 0;i <= 22;i++){puts(map[i]);}//提示printf("按P刷怪物 ");printf("按K消灭怪物 ");}
}
更多推荐
用C++做一个简单的传奇
发布评论