用processing编写的一个小游戏

这是本人第一次写博客,是写给自己看的吧,标志着我下定决心开始走程序媛这条路了。
而且这也是我第一次用Processing写小游戏,算是纪念了。

首先帖一张运行初始界面图:
这里写图片描述

我们可以看到最下面那个警察是玩家,上面有4只僵尸,一只狙击手还有一个杀手。
医生是横着走而且超出界面后不会返回。
然后我们要对每个NPC定义它特有的属性,它是横着走还是竖着走,速度怎么样还有它和玩家相碰之后的结果。

下面是僵尸、狙击以及杀手的特性:
碰到僵尸后游戏不会结束,但是要找医生才能解除屏幕上的提示,当医生不在后如果再碰到僵尸游戏立刻结束。

PImage img=new PImage(); 

float speed;   //将速度定义为全局变量
Enemy  enemy1_1,enemy1_2,enemy1_3,enemy1_4;  //4只僵尸
class Enemy
{
    float img_x,img_y;

    Enemy(float x, float y,float sd)
  {
    img_x=x;
    img_y=y;
    speed=sd;
  }

  void movel1()
  {  img_x+=speed;
    if(img_x>width-80)  //僵尸是来回走的
    {
      img_x=40;
    }

  }

  void movel2()
  { img_x-=speed;
    if(img_x<40)
    {
      img_x=width-80;
    }

  }


     boolean contact()     //检测是否和僵尸碰到
  {
    float Offset = dist(img_x,img_y,X,Y);  //距离
    boolean bContact =false ;
    if(Offset<=55)   //如果两个距离小于55说明相碰返回true
  {
    bContact=true;
     }
    return bContact;

  }

void display() 
{
     image(img,img_x,img_y); 

      if(life==1)
   {
       color c=color(255,204,0);
       pushStyle();
       fill(c);
       textFont(font,25);
       text("You have to find the doctor!",width/2-140,height/2);   
       //生命值为1说明和僵尸相碰了
       popStyle();

   }

  }
}

PImage img6=new PImage();   //狙击
Juji juji;
class Juji
{ float img6_x,img6_y;

   Juji(float x, float y,float sd)
   {
     img6_x=x;
     img6_y=y;
     speed=sd;
   }
   void display()
   {
     image(img6,img6_x,img6_y);
   }

   void movel3()
  {
    img6_y+=speed;
    if(img6_y>450)
    {
      img6_y=150;
    }
  }

     boolean contact()     //检测是否和狙击碰到
  {
    float Offset = dist(img6_x,img6_y,X,Y);  //distance
    boolean bContact =false ;
    if(Offset<=55)
  {
    bContact=true;
  }
    return bContact;

  }

}

PImage img3=new PImage();  //杀手 
Shashou shashou;
float
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值