?? main.cpp
字號:
#include <iostream>
#include <fcntl.h>
#include <io.h>
#include "player.h"
#include "actor.h"
using namespace std;
class t
{
public:
t()
{
}
void getname(char* f);
void getinsect(char *g);
int x,y;
char* m_name;
char* m_insect;
void ia(int a)
{
m_name=new char[a];
}
void ib(int b)
{
m_insect=new char[b];
}
t::~t()
{
delete[] m_name;
delete[] m_insect;
}
};
t* t1;
void initiate(int r,int j)
{
int point;
int len,len2;
char* mem;
char* mem2;
char* mem0;
char* mem1;
char* m1;
char *m2;
point=_open("地圖.txt",_O_RDONLY);
len=_filelength(point);
_close(point);
point=_open("地圖介紹.txt",_O_RDONLY);
len2=_filelength(point);
_close(point);
mem=new char[len];
mem1=new char[len2];
mem0=mem;
mem2=mem1;
m1=mem;
m2=mem1;
FILE *p;
p=fopen("地圖.txt","rb");
fread(mem,len,1,p);
fclose(p);
FILE *q;
q=fopen("地圖介紹.txt","rb");
fread(mem1,len2,1,q);
fclose(q);
t1=new t[r*j];
for (int k=0;k<j;k++)
for(int h=0;h<r;h++)
{
t1[k*r+h].x=h;
t1[k*r+h].y=k;
int cx=0;
while (*mem0!='-')
{
cx++;
mem0++;
}
mem0+=1;
t1[k*r+h].ia(cx);
strncpy(t1[k*r+h].m_name,mem,cx);
t1[k*r+h].m_name[cx] = '\0';
mem+=cx+1;
//cout << cx << endl;
int dx=0;
while (*mem2!=' ')
{
dx++;
mem2++;
}
mem2+=1;
t1[k*r+h].ib(dx);
strncpy(t1[k*r+h].m_insect,mem1,dx);
t1[k*r+h].m_insect[dx] = '\0';
mem1+=dx+1;
}
delete[] m1;
delete[] m2;
}
void mapshow(char* g)
{
int point;
int len;
point=_open(g,_O_RDONLY);
len=_filelength(point);
_close(point);
char* play=new char[len];
FILE *pfile;
pfile=fopen(g,"rb");
fread(play,len,1,pfile);
fclose(pfile);
int i=0;
while(i<len)
{
cout<<play[i];
i++;
}
cout<<endl;
delete[] play;
}
void main()
{
initiate(5,5);
cout<<"輸入人物名字"<<endl;
char name[10];
int act,eat;
cin>>name;
player p1(name,"初入江湖",100,100,5000,0,0);
p1.book();
cin>>eat;
while (p1.gethp()>0)
{
t *tp=t1;
mapshow("地圖.txt");
for(int i=0;i<=4;i++)
for(int j=0;j<=4;j++)
{
if (p1.x==tp->x&&p1.y==tp->y)
{
cout<<tp->m_name<<endl;
cout<<tp->m_insect<<endl;
}
tp++;
}
cout<<"買貨物請輸入1"<<endl;
cin>>act;
if (act==1)
{
cout<<"請輸入買的數(shù)量"<<endl;
cin>>act
p1.buy()
}
cout<<"小鍵盤輸入8向上走,6向右,4向左,2向下"<<endl;
cin>>act;
switch(act)
{
case 8:
p1.y-=1;
if (p1.y==-1)
p1.y=4;
break;
case 2:
p1.y+=1;
if (p1.y==5)
p1.y=0;
break;
case 6:
p1.x+=1;
if (p1.x==5)
p1.x=0;
break;
case 4:
p1.x-=1;
if (p1.x==-1)
p1.x=4;
break;
}
p1.eat(eat);
p1.act(act);
p1.disply();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -