吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3772|回复: 1
收起左侧

[会员申请] 申请会员ID:秋水悠悠

[复制链接]
吾爱游客  发表于 2015-3-8 18:42
1、申 请 I D:秋水悠悠
2、个人邮箱:627086057[url=mailto:1367118196@qq.com]@qq.com
3、原创技术文章:
本人学习C++,希望加入论坛~~学习点破解汇编,求各位牛人支持,希望要求不要太高~~望大家好评!


附上两个作品和源码片段,由于代码没有商业意义,只能学习,没有发上来,有需要学习的可以联系我!


//移动视图
//视图不能往右移
void GAMEMAP::MoveView()
{
//只有一屏宽,不移动视图
if(mapinfo.viewmax == 1)
  return;

if(rmain.xpos - viewx > 150)
{
  viewx+=ROLE_STEP;
  if(viewx>(mapinfo.viewmax-1)*GAMEW*32)
   viewx=(mapinfo.viewmax-1)*GAMEW*32;
  
  //设置人物移动的最大范围
  rmain.SetLimit(viewx, GAMEW*32*MAX_PAGE);
}

bmSky.SetPos(BM_USER,viewx,0);
}

void GAMEMAP::ShowBkObj(MYANIOBJ & bmobj)
{
int i;
int xstart,ystart;

for(i=0;i<iMapBkObjNum;i++)
{
  ystart=MapBkArray.y*32;
  xstart=MapBkArray.x*32;
  bmobj.DrawItem(xstart,ystart,MapBkArray.id,ibkobjframe);
}
}


void GAMEMAP::ShowInfo(HDC h)
{
char temp[50]={0};

SetTextColor(h, TC_WHITE);
SetBkColor(h, TC_BLACK);

sprintf(temp, "LIFE  : %d",iLife);
TextOut(h, 220,100,temp,strlen(temp));

sprintf(temp, "WORLD : %d",iMatch+1);
TextOut(h, 220,130,temp,strlen(temp));
}

void GAMEMAP::ShowOther(HDC h)
{
char temp[50]={0};
int xstart;

//show money
sprintf(temp,"MONEY: %d",iMoney);
TextOut(h,viewx+20,20,temp,strlen(temp));

//显示攻击对象生命值
if(iAttackLife)
{
  TextOut(h,viewx+ATTACK_TO_TEXT_X,
   ATTACK_TO_TEXT_Y,AttackName,strlen(AttackName));
  
  //画生命条
  xstart=viewx+ATTACK_TO_X-iAttackMaxLife*10;

  bmMap.DrawItemNoMaskWidth(xstart-1, ATTACK_TO_Y-1,ID_MAP_HEALTH_BK,
   iAttackMaxLife*BMP_WIDTH_HEALTH, 0);

  bmMap.DrawItemNoMaskWidth(xstart, ATTACK_TO_Y,ID_MAP_HEALTH,
   iAttackLife*BMP_WIDTH_HEALTH, 0);
}
}

void GAMEMAP::ShowAniObj(MYANIOBJ & bmobj)
{
int i;
int xstart,ystart;

//显示金币,和其他物品
for(i=0;i<iCoinNum;i++)
{
  ystart=MapCoinArray.y;
  xstart=MapCoinArray.x;
  bmobj.DrawItem(xstart,ystart,MapCoinArray.id, MapCoinArray.iframe);
}

//显示敌人
for(i=0;i<MAX_MAP_OBJECT;i++)
{
  if (MapEnemyArray.show)
  {
   bmobj.DrawItem(MapEnemyArray.x,MapEnemyArray.y,
    MapEnemyArray.id,MapEnemyArray.iframe);
  }
}

//显示子弹,魔法攻击
for(i=0;i<MAX_MAP_OBJECT;i++)
{
  if (FireArray.show)
  {
   ystart=FireArray.y;
   xstart=FireArray.x;
   
   switch(FireArray.id)
   {
   case ID_ANI_FIRE:
    bmobj.DrawItem(xstart,ystart,FireArray.id,FireArray.iframe);
    break;

   case ID_ANI_FIRE_MAGIC:
    bmMagic.DrawItem(xstart,ystart, 0, FireArray.iframe);
    break;

   default:
    bmobj.DrawItem(xstart,ystart,FireArray.id,FireArray.iframe);
    break;
   }
  }
}


//显示爆炸效果
for(i=0;i<MAX_MAP_OBJECT;i++)
{
  if (BombArray.show)
  {
   ystart=BombArray.y;
   xstart=BombArray.x;
   bmobj.DrawItem(xstart,ystart,BombArray.id, BombArray.iframe);
  }
}
}

// 返回0,不能走;1,能走
int GAMEMAP::RoleCanMove(int xoff, int yoff)
{
int canmove=1;
int i;


for(i=0;i<iMapObjNum;i++)
{
  if( RECT_HIT_RECT(rmain.xpos+xoff,
   rmain.ypos+yoff,
   32,
   32,
   MapArray.x*32,
   MapArray.y*32,
   MapArray.w*32,
   MapArray.h*32)
   )
  {
   canmove=0;
   if(yoff<0)
   {
    //碰到了上面的物体要向下落
    rmain.movey=1;
   }
   if(yoff>0)
   {
    //碰到了下面的物体,要停止下落
    rmain.jumpheight=0;
    rmain.movey=0;
    rmain.ypos=MapArray.y*32-32;//纵坐标要修正
   }
   break;
  }
}

return canmove;
}

//检查人物水平移动过程中,是否走出地图物体边界
int GAMEMAP::CheckRole()
{
int i;

//角色的检查
if(rmain.movey == 0 )
{
  //在水平移动,
  //检测角色是否站在某个物体上
  for(i=0;i<iMapObjNum;i++)
  {
   //下方线
   if( LINE_ON_LINE(rmain.xpos,
    rmain.ypos+32,
    32,
    MapArray.x*32,
    MapArray.y*32,
    MapArray.w*32)
    )
   {   
    return 1;
   }
  }
  //角色开始下落
  rmain.movey=1;
  rmain.jumpx=0;//此时要清除跳跃速度,否则将变成跳跃,而不是落体
  return 0;
}

return 0;
}

void GAMEMAP::ChangeFrame(int itimeclip)
{
int i;

///////////// 帧控制 ////////////////
if(0 == itimeclip% ENEMY_SPEED)
{
  //敌人移动
  for(i=0;i<MAX_MAP_OBJECT;i++)
  {
   if(MapEnemyArray.show)
   {
    //帧控制
    MapEnemyArray.iframe=(MapEnemyArray.iframe+1)%MapEnemyArray.iframemax;






链接:http://pan.baidu.com/s/1hqIik0s 密码:elvc

链接:http://pan.baidu.com/s/1c00Fskw 密码:glcl



QQ截图20150308183218.png
QQ截图20150308183305.png













   
   

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2015-3-9 10:57

【开放注册公告】吾爱破解论坛2015年3月13日七周年开放注册公告
http://www.52pojie.cn/thread-335163-1-1.html

到时候自己来注册吧。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表