这是我的C++打怪小游戏的头文件:
我的个人博客:GARS的个人博客
io.h:
#include "heads.h"
int toint(char ch)
{
if(ch>='0'&&ch<='9')
return ch-'0';
return ch-'A'+10;
}
int stoint(string str)
{
int ans=0;
for(int i=0;i<str.size();i++)
ans=ans*16+toint(str[i]);
return ans;
}
void print(string a,WORD color,int x,int y,int wait)
{
WORD colorOld;
HANDLE handle = ::GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(handle, &csbi);
colorOld = csbi.wAttributes;
if(x>=0&&y>=0)
{
COORD pos={x,y};
SetConsoleCursorPosition(handle,pos);
}
SetConsoleTextAttribute(handle, color);
for(int i=0;i<a.size();i++)
{
if(a[i]=='<')
{
i++;
char model=a[i];
i++;
if(model=='T')
{
char ch1=a[i];
i++;
char ch2=a[i];
string b="";
int c=1;
do{
i++;
if(a[i]=='<')
c++;
if(a[i]=='>')
c--;
if(a[i]=='&')
{
b+=a[i];
i++;
}
b+=a[i];
}while(c!=0);
b.erase(b.size()-1,1);
WORD adder;
adder=toint(ch1)*16+toint(ch2);
print(b,adder,-1,-1,wait);
continue;
}
}
else
{
if(a[i]=='&')
i++;
printf("%c",a[i]);
}
Sleep(wait);
}
SetConsoleTextAttribute(handle, colorOld);
}
string getstr(int lenth)
{
char ch;
string input="";
while(ch=getchar(),ch!='\n'&&input.size()<lenth)
input+=ch;
return input;
}
heads.h:
#pragma once
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
using namespace std;