DEADSOFTWARE

Better pig AI
[cavedroid.git] / core / src / ru / deadsoftware / cavecraft / game / mobs / Pig.java
1 package ru.deadsoftware.cavecraft.game.mobs;
3 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
4 import com.badlogic.gdx.math.MathUtils;
5 import com.badlogic.gdx.math.Rectangle;
6 import com.badlogic.gdx.math.Vector2;
7 import ru.deadsoftware.cavecraft.game.GameWorld;
8 import ru.deadsoftware.cavecraft.misc.Assets;
9 import ru.deadsoftware.cavecraft.game.GameProc;
11 public class Pig extends Mob{
13 public Pig(int x, int y) {
14 position = new Vector2(x, y);
15 moveX = new Vector2(0, 0);
16 moveY = new Vector2(0, 0);
17 width = 25;
18 height = 18;
19 dir = 0;
20 canJump = false;
21 agressive = false;
22 }
24 @Override
25 public void ai() {
26 if (MathUtils.randomBoolean(.0025f)) dir=-dir+1;
27 moveX.set(-1+2*dir,0);
28 }
30 @Override
31 public void draw(SpriteBatch spriteBatch, float x, float y) {
32 //back legs
33 Assets.pigSprite[1][1].setPosition(x-4+(9-dir*9),y+6);
34 Assets.pigSprite[1][1].draw(spriteBatch);
35 Assets.pigSprite[1][1].setPosition(x+17-(9*dir),y+6);
36 Assets.pigSprite[1][1].draw(spriteBatch);
37 //front legs
38 Assets.pigSprite[0][1].setPosition(x-4+(9-dir*9),y+6);
39 Assets.pigSprite[0][1].draw(spriteBatch);
40 Assets.pigSprite[0][1].setPosition(x+17-(9*dir),y+6);
41 Assets.pigSprite[0][1].draw(spriteBatch);
42 //head & body
43 spriteBatch.draw(Assets.pigSprite[dir][0], x, y);
44 }
46 @Override
47 public Rectangle getRect() {
48 return new Rectangle(position.x, position.y, width, height);
49 }
50 }