package pl.helion.j2mepp.graplatformowa;

import javax.microedition.lcdui.game.TiledLayer;
import javax.microedition.lcdui.Image;
public class Potworek extends ObiektRuchomy implements Strzelanie
{
 public Potworek(Image _obraz, int _nr_planszy_x, int _nr_planszy_y,TiledLayer _tlo,  int _xend, boolean _kierunek, Plotno _plotno)
 {
  super(_obraz, _tlo, _nr_planszy_x, _nr_planszy_y);
  xend = _xend;
  kierunek = _kierunek;
  tlo = _tlo;
  plotno = _plotno;
 }
 public void setPosition(int x, int y)
 {
  super.setPosition(x, y);
  xstart = x;
 }
 public int getXstart()
 {
  return xstart;
 }
 public int getXend()
 {
  return xend;
 }
 public void ruch(Pociski pociski)
 {
  if (this.pociski==null) 
   this.pociski = pociski;
  this.spadek();
  if (this.mozeStrzelac())
  { 
   this.strzel();
  } else this.laduj();
  if (xstart<xend)
  {
   if (kierunek)
    if (this.getX()+Plotno.DYSTANS<xend)
     this.przesunPrawo(Plotno.DYSTANS);
    else
     kierunek = false;
   else
    if (this.getX()-Plotno.DYSTANS>xstart)
     this.przesunLewo(Plotno.DYSTANS);
    else
     kierunek = true;
  } else
  {
   if (kierunek)
    if (this.getX()+Plotno.DYSTANS<xstart)
     this.przesunPrawo(Plotno.DYSTANS);
    else
     kierunek = true;
   else
    if (this.getX()-Plotno.DYSTANS>xend)
     this.przesunLewo(Plotno.DYSTANS);
    else
     kierunek = true;
  }
 }
 public void strzel()
 {
  try
  {
   pociski.utworzPocisk(this,tlo,Pocisk.WROG);
   stanbroni = 0;
  } catch (Exception e)
  {
   e.printStackTrace();
  }
 }
 public void laduj()
 {
  if (plotno.jakPostapic(80))
  stanbroni += 1;
 }
 public boolean mozeStrzelac()
 {
  return (stanbroni>=20);
 }
 private int xend;
 private int xstart;
 private int stanbroni = 0;
 private TiledLayer tlo;
 private Plotno plotno;
 private Pociski pociski;
}