📄 frame.cpp
字号:
mark=4;
mark_1=0;
}
if(KEYDOWN(VK_SPACE))
{
Sleep(100);
if(i%2==0)count=49;
else
count=99;
}
}
if(mark==4)
{
if(!mark_1)
{
if(cy>=-150)
cy-=5;
else
{
count=0;
mark_1=1;
}
DDraw_Draw_Surface(lpddsotherpeople[0],cx,cy,73,137, lpddsback,1);
DDraw_Draw_Surface(HouYi.lpdds[2][2],HouYi.get_x(),HouYi.get_y(),120,120,lpddsback,1);
}
if(mark_1==1)
{
DDraw_Draw_Surface(houyitou,20,630,100,130,lpddsback,1);
DDraw_Draw_Surface(HouYi.lpdds[2][2],HouYi.get_x(),HouYi.get_y(),120,120,lpddsback,1);
count++;
if(count>50)mark_1=2;
DDraw_Draw_Surface(talkbar,110,645,898,93,lpddsback,1);
Draw_Text_GDI("看来我得抓赶时间出发了。",150,690,255,lpddsback);
if(KEYDOWN(VK_SPACE))count=49;
}
if(mark_1==2)
{
int **mapinfo=(int **)malloc(4*4);
for(int i=0;i<4;i++)
mapinfo[i]=(int *)malloc(4*4);
mapinfo[0][0]=1;
mapinfo[0][1]=250;
mapinfo[0][2]=1;
mapinfo[0][3]=200;
mapinfo[1][0]=250;
mapinfo[1][1]=773;
mapinfo[1][2]=1;
mapinfo[1][3]=300;
mapinfo[2][0]=773;
mapinfo[2][1]=1023;
mapinfo[2][2]=1;
mapinfo[2][3]=200;
mapinfo[3][0]=0;
HouYi.DrawPeople(mapinfo);
for( i=0;i<4;i++)
free(mapinfo[i]);
free(mapinfo);
if(HouYi.get_x()>138&&HouYi.get_x()<921&&HouYi.get_y()>617&&HouYi.get_y()<768)
{
//lpddsbackground[0]->Release();
//lpddsbackground[2]->Release();
//lpddsotherpeople[0]->Release();
GameState=GAMEMAP_2;
mark=0;
mark_1=0;
count=0;
}
}
}
while (FAILED(lpddsprimary->Flip(NULL, DDFLIP_WAIT)));
Sleep(100);
return 0;
}
static warrior* kkp[3];
int gamemap2()
{
static warrior guai(30,2,20,10,0,818,430,4);
static warrior guai1(60,5,25,17,0,100,700,5);
static warrior guai2(40,3,24,14,0,500,310,3);
static int rs;
static int aaa[3]={6,8,5};
static int num;
char *** duihua;
duihua = (char***) malloc(3*sizeof(char**));
for(int i = 0;i< 3 ;i++)
{
duihua[i] = (char**)malloc(8*sizeof(char*));
for(int j = 0;j<8;j++)
duihua[i][j]= (char*)malloc(100);
}
//------------------------------------------------------------------
strcpy(duihua[0][0],"小姑娘,向你打听一些事....");
strcpy(duihua[0][1],"你是什么人,胆敢擅闯我的地头......");
strcpy(duihua[0][2],"你的地头???这么说来,你就是为害民间的妖孽了?");
strcpy(duihua[0][3],"哈哈哈....天堂有路你不走,地狱无门你闯进来");
strcpy(duihua[0][4],"既然话都说到这份上了,亮出兵器吧!");
strcpy(duihua[0][5],"不知死活的小子! ");
//--------------------------------------------------------
strcpy(duihua[2][0],"妖孽,快放下武器束手就擒!");
strcpy(duihua[2][1],"狂妄的小子!你妄想!");
strcpy(duihua[2][2],"只要你弃恶从善,我可以给你一条生路.");
strcpy(duihua[2][3],"废话少说,我们三兄妹纵横三界多年,岂能败给你个黄毛小子!");
strcpy(duihua[2][4],"那我们只好手底下见真章了。。。");
//--------------------------------------------------------
strcpy(duihua[1][0],"......");
strcpy(duihua[1][1],"小子你还有点能耐,连败我两兄妹。不过我这关可没那么好过。");
strcpy(duihua[1][2],"你们为害民间,使得此处荒无人烟。今天有此一劫,也算是你们的报应。");
strcpy(duihua[1][3],"别说大话了,快快求饶,也许我心情好还能放你一马,哈哈哈。。。");
strcpy(duihua[1][4],"我倒是想啊,但是有个人恐怕不答应。。。");
strcpy(duihua[1][5],"谁? ");
strcpy(duihua[1][6],"我手中的长剑。。。 ");
strcpy(duihua[1][7],"你。。。。看招! ");
//--------------------------------------------------------
kkp[0] = &guai;
kkp[1]= &guai1;
kkp[2]= &guai2;
static int x ;
static int b=1;
if(!mark)
{
if (!Load_Bitmap_File(&bitmap[0],"resource\\bridge.bmp"))
return(0);
lpddsbackground[3]=DDraw_Create_Surface(SCREEN_WIDTH,SCREEN_HEIGHT,0,-1);
Scan_Image_Bitmap(&bitmap[0],lpddsbackground[3],0,0);
if (FAILED(lpddpal->SetEntries(0,0,MAX_COLORS_PALETTE,bitmap[0].palette)))
return(0);
Unload_Bitmap_File(&bitmap[0]);
if (!Load_Bitmap_File(&bitmap[2],"resource\\fight1_houyi.bmp"))
return(0);
lpddsbackground[2]=DDraw_Create_Surface(120,120,0,1);
Scan_Image_Bitmap(&bitmap[2],lpddsbackground[2],0,0);
Unload_Bitmap_File(&bitmap[2]);
if (!Load_Bitmap_File(&bitmap[0],"resource\\fight1.bmp"))
return(0);
lpddsbackground[0]=DDraw_Create_Surface(SCREEN_WIDTH,SCREEN_HEIGHT,0,-1);
Scan_Image_Bitmap(&bitmap[0],lpddsbackground[0],0,0);
// Unload_Bitmap_File(&bitmap[0]);
{
if (!Load_Bitmap_File(&bitmap[3],"resource\\guai.bmp"))
return(0);
for(int i=0;i<4;i++)
for(int j =0;j<3;j++)
{
guai.lpdds1[i][j] = DDraw_Create_Surface(48,64,0,0);
Scan_Image_Bitmap(&bitmap[3],
guai.lpdds1[i][j],
j, i);
guai1.lpdds1[i][j] = DDraw_Create_Surface(48,64,0,0);
Scan_Image_Bitmap(&bitmap[3],
guai1.lpdds1[i][j],
j+3, i+4);
guai2.lpdds1[i][j] = DDraw_Create_Surface(48,64,0,0);
Scan_Image_Bitmap(&bitmap[3],
guai2.lpdds1[i][j],
j+3, i);
}
Unload_Bitmap_File(&bitmap[3]);
}
guai.set_WH(48,64);
guai1.set_WH(48,64);
guai2.set_WH(48,64);
mark=1;
}
else
{
DDraw_Draw_Surface(lpddsbackground[3],0,0,SCREEN_WIDTH,SCREEN_HEIGHT,lpddsback,0);
static int **a;
a= (int **)malloc(2*sizeof(int **));
for( i = 0 ;i<2;i++)
a[i]=(int *)malloc(4*sizeof(int *));
a[0][0] = 1;
a[0][1] = 1023;
a[0][2] = 1;
a[0][3] = 300;
a[1][0] = 0;
if(mark==1)
{
for(num= 0 ;num<3;num++)
{
if(kkp[num]->get_life())
kkp[num]->free_walk(a);
}
HouYi.DrawPeople(a);
int cc, dd;
for(num=0;num<3;num++)
{
cc = HouYi.get_x()-kkp[num]->get_x();
dd = HouYi.get_y()-kkp[num]->get_y();
cc= cc*cc+dd*dd;
if(kkp[num]->get_life()&&(num!=1||(num ==1&&(kkp[0]->get_life()==0)&&(kkp[2]->get_life()==0))))
if(cc<=10000)
{
talk(lpddsbackground[3],HouYi.lpdds[0][3],kkp[num]->lpdds1[2][1],duihua[num],aaa[num]);
rs=fight(lpddsbackground[0],lpddsbackground[2],lpddsbackground[2],*(kkp[num]));
PlaySound(MAKEINTRESOURCE(IDR_WAVE6),hinstance_app,SND_ASYNC|SND_RESOURCE|SND_LOOP);
if (FAILED(lpddpal->SetEntries(0,0,MAX_COLORS_PALETTE,bitmap[1].palette)))
return(0);
mark=2;
}
}
if(!kkp[1]->get_life())
{
changer.free_walk(a);
cc = HouYi.get_x()-changer.get_x();
dd = HouYi.get_y()-changer.get_y();
cc= cc*cc+dd*dd;
tou=1;
if(cc<=10000)
{
char ** word;
word = (char**) malloc(10*sizeof(char*));
for(int i = 0;i< 10 ;i++)
word[i] = (char*)malloc(100);
strcpy(word[0],"啊");
strcpy(word[1],"后羿将军!");
strcpy(word[2],"嫦娥怎么是你啊,你下凡来此,有什么急事吗?");
strcpy(word[3],"我听说将军下凡除魔,惟恐将军有什么不测,特来此相助。我,我....就是担心将军啊....");
strcpy(word[4],".......");
strcpy(word[5],".......");
strcpy(word[6],"你的心思我都明白...只是我们都身为仙人,今生恐怕只能无缘了。后羿要辜负姑娘的一番心意了。。。");
strcpy(word[7],"将军千万别这么说......嫦娥别无所求,只愿能见到将军平安无事就心满意足了......");
strcpy(word[8],"恩,姑娘的一番深情,后羿怎会不知。但愿仙人也有来世吧。。。");
strcpy(word[9],"将军心系天下苍生,以造福民间为己任,嫦娥能认识将军,是嫦娥的福分。。。");
talk(lpddsbackground[3],houyitou
,lpddsotherpeople[1],word,10);
mark=3;
num=1;
for(i=0;i<3;i++)
free(word[i]);
free(word);
}
}
for(i=0;i<3;i++)
{
for(int j=0;j<8;j++)
free(duihua[i][j]);
free(duihua[i]);
}
free(duihua);
}
if(mark==2)
{
if(!rs)
mark=1;
else
{
if(!HouYi.get_life())
{
GameState = START_PICTURE;
}
else mark=1;
}
}
if(mark== 3)
{
if(num<=350)
num+=5;
DDraw_Draw_Surface(lpddsotherpeople[0],500,num,73,137, lpddsback,1);
HouYi.position();
changer.position();
if(num>=350)
{
char** word1;
tou=3;
word1 = (char**) malloc(10*sizeof(char*));
for(int i = 0;i<10 ;i++)
word1[i] = (char*)malloc(120);
strcpy(word1[0],"参见玉帝!臣幸不辱命,已经降服众妖魔,相信百姓又可以过上好日子。");
strcpy(word1[1],"后羿你做得好! 朕一直以来很佩服你的为人,对你和嫦娥的事也略闻一二......");
strcpy(word1[2],"玉帝我。。。。");
strcpy(word1[3],"你不用说了,朕理解你们。只是天规难为,朕即使身处帝位,有心成全你们,却也无法做到。。。");
strcpy(word1[4],"臣明白。");
strcpy(word1[5],"现在三界又将面临新的劫难,魔王复苏,十个太阳神也受他蛊惑,甘心沦为魔道,并将于明白起同时出现。");
strcpy(word1[6],"啊?那到时候人间岂不成了火海,生灵涂炭?");
strcpy(word1[7],"恩,先知已然料到此情景,并预示,上天指定的拯救三界限的确良人选就是你和嫦娥了。。。");
strcpy(word1[8],"臣愿赴汤蹈火,拯救众生于危难之中,死也无悔。。。。");
strcpy(word1[9],"只是根据预示,完成任务后,嫦娥将永赴月宫,一世孤苦,而你也将永留民间,成为凡人,你可要考虑清楚。。。");
talk(lpddsbackground[3],houyitou ,yuditou,word1,10);
for(i=0;i<10;i++)
free(word1[i]);
free(word1);
mark=4;
}
}
if(mark==4)
{
if(num>=-100)
{
DDraw_Draw_Surface(lpddsotherpeople[0],500,num,73,137, lpddsback,1);
num-=5;
}
HouYi.position();
changer.position();
if(num<=-100)
{
char ** word1;
word1 = (char**) malloc(12*sizeof(char*));
for(int i = 0;i<12 ;i++)
word1[i] = (char*)malloc(120);
strcpy(word1[0],"嫦娥。。。");
strcpy(word1[1],"我明白将军的难处,将军宁愿舍弃自己的生命也不愿看着生灵涂炭。。。。");
strcpy(word1[2],"可是如果确如先知所言,拯救苍生以后,我们也将永不能相见。。。");
strcpy(word1[3],"嫦娥明白。嫦娥怎可为一己私情,而置将军信念于不顾,置天下苍生于不顾呢?");
strcpy(word1[4],"是我对不起你。。。");
strcpy(word1[5],"不,有将军这一番话足矣。嫦娥即使永世都身处月宫,也不会感到孤单。");
strcpy(word1[6],"我会把我的心永远地放在月宫,愿能长伴你左右。");
strcpy(word1[7],"将军心在的地方,就是嫦娥的天堂。");
strcpy(word1[8],"......");
strcpy(word1[9],"......");
strcpy(word1[10],"事不宜迟,我们马上出发吧。");
strcpy(word1[11],"恩。 ");
tou=1;
talk(lpddsbackground[3],houyitou,lpddsotherpeople[1],word1,12);
for(i=0;i<12;i++)
free(word1[i]);
free(word1);
GameState=GAMEMAP_3;
mark=0;
}
}
for(i=0;i<2;i++)
free(a[i]);
free(a);
while (FAILED(lpddsprimary->Flip(NULL, DDFLIP_WAIT)));
Sleep(50);
}
return 0;
}
int gamemap3()
{
static int rs;
static warrior guai1 (45,7,30,10,0,814,410,5);
static warrior guai2 (75,8,25,20,0,814,700,6);
static warrior aboluo (150,10,33,25,0,400,500,10);
static int** a;
a= (int **)malloc(4*sizeof(int **));
for(int i = 0 ;i<4;i++)
a[i]=(int *)malloc(4*sizeof(int *));
a[0][0] = 1;
a[0][1] = 300;
a[0][2] = 1;
a[0][3] = 250;
a[1][0] = 300;
a[1][1] = 724;
a[1][2] = 1;
a[1][3] = 300;
a[2][0] = 700;
a[2][1] = 1023;
a[2][2] = 1;
a[2][3] = 250;
a[3][0] = 0;
if(!mark)
{
if (!Load_Bitmap_File(&bitmap[0],"resource\\gamemap3.bmp"))
return(0);
lpddsbackground[4]=DDraw_Create_Surface(SCREEN_WIDTH,SCREEN_HEIGHT,0,-1);
Scan_Image_Bitmap(&bitmap[0],lpddsbackground[4],0,0);
if (FAILED(lpddpal->SetEntries(0,0,MAX_COLORS_PALETTE,bitmap[0].palette)))
return(0);
Unload_Bitmap_File(&bitmap[0]);
if (!Load_Bitmap_File(&bitmap[0],"resource\\aboluo.bmp"))
return(0);
lpddsotherpeople[2]=DDraw_Create_Surface(172,224,0,0);
Scan_Image_Bitmap(&bitmap[0],lpddsotherpeople[2],0,0);
Unload_Bitmap_File(&bitmap[0]);
if (!Load_Bitmap_File(&bitmap[0],"resource\\aboluotou.bmp"))
return(0);
lpddsotherpeople[3]=DDraw_Create_Surface(96,96,0,0);
Scan_Image_Bitmap(&bitmap[0],lpddsotherpeople[3],0,0);
Unload_Bitmap_File(&bitmap[0]);
kkp[0]=&guai1;
kkp[1]=&guai2;
if (!Load_Bitmap_File(&bitmap[0],"resource\\guai2.bmp"))
return(0);
for(int i=0;i<4;i++)
for(int j =0;j<3;j++)
{
guai1.lpdds1[i][j] = DDraw_Create_Surface(53,71,0,0);
Scan_Image_Bitmap(&bitmap[0],
guai1.lpdds1[i][j],
j+6, i+4);
guai2.lpdds1[i][j] = DDraw_Create_Surface(53,71,0,0);
Scan_Image_Bitmap(&bitmap[0],
guai2.lpdds1[i][j],
j+9, i+4);
}
Unload_Bitmap_File(&bitmap[0]);
guai1.set_WH(53,71);
guai2.set_WH(53,71);
lpddsbackground[0]->Release();
if(!Load_Bitmap_File(&bitmap[0],"resource\\fight1.bmp"))
return(0);
lpddsbackground[0]=DDraw_Create_Surface(SCREEN_WIDTH,SCREEN_HEIGHT,0,-1);
Scan_Image_Bitmap(&bitmap[0],lpddsbackground[0],0,0);
Unload_Bitmap_File(&bitmap[0]);
mark=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -