package com.tankalfa;
import com.osnova.Sprite;
import android.graphics.Bitmap;
import android.graphics.Canvas;


public class Os extends Sprite{
   
 
    private final int we = 800;
    private final int he = 500;
 
 
  public int st=1,sk1=5,pr=1;  
  public boolean hero=false;  
  public int x1=100,y1=50,zd=100;
    
     
    
 public Os (Bitmap bi,int fw,int fh,int rz) {
        
     super(bi,fw,fh,rz);   
        
    }  
    
    
   public void p0(Canvas g){ 
        
        if(pr==0){ 
         // Герой под   
         za();
         pp0();
         paint(g); 
         pp1();   
        }}  
    
    
    public void p1(Canvas g){ 
        
        if(pr==1){ 
            
   // Герой над
         za();
         pp0();
         paint(g); 
         pp1();
   
        }}  
    
     
  
 public void pp0(){}
 public void pp1(){}
 
 public void za(){
  
  if(hero){setPosition(D.hx-D.x,D.hy-D.y);
   
   if(D.hx<=1){D.hx=1;}
   if(D.hy<=1){D.hy=1;}
   if(D.hx>=/*720*/Map.W-W(ul)){D.hx=Map.W-W(ul);}
   if(D.hy>=/*420*/Map.H-H(ul)){D.hy=Map.H-H(ul);}
   
    
  }
  
  if(!hero){setPosition(x1-D.x,y1-D.y);
   
   if(x1<=1){x1=1;}
   if(y1<=1){y1=1;}
   if(x1>=Map.W-W(ul)){x1=Map.W-W(ul);}
   if(y1>=Map.H-H(ul)){y1=Map.H-H(ul);}
   }

 }
 
    
    
    public void TiDe(Sprite s,int x,int y,int w,int h){

  s.RegCollides(x, y, w, h);
 
  if(hero){ 
 setPosition(D.hx-D.x, D.hy-D.y);
if(s.collides(this) & st==1){D.hy+=sk1;}
if(s.collides(this) & st==2){D.hy-=sk1;}
if(s.collides(this) & st==3){D.hx+=sk1;}
if(s.collides(this) & st==4){D.hx-=sk1;}}
        
  
  if(!hero){ 
 setPosition(x1-D.x, y1-D.y);
if(s.collides(this) & st==1){y1+=sk1;}
if(s.collides(this) & st==2){y1-=sk1;}
if(s.collides(this) & st==3){x1+=sk1;}
if(s.collides(this) & st==4){x1-=sk1;}}
  
 }
    
    
   public void  TD(Sprite c,int a){
  
  if(a==1) {Pr(c);TiDe(c,40,70,50,40);} 
  if(a==2) {Pr(c);TiDe(c,0,70,0,30);}
  if(a==3) {TiDe(c,0,0,70,0);}
  if(a==4) {Pr(c);}
  if(a==5) {pr=1;}
  
 }
   
 
 
 
 
    
    public void Pr(Sprite c){

    if(Prm(c)){pr=0;}

    if(Prb(c)){pr=1;}

         }
    
    
    public void StolkMap(Sprite c,int op){
        
  /**
   * Метод TD
   * 1 Дерево
   * 2 Здание
   * 3 Забор слева
   * 4 Трава
   * 5 Герой всегда сверху
  размер героя 20х35 если чё
   */
  
    if(collides(c) & op==10){TD(c,1);}  
    if(collides(c) & op==11){TD(c,1);}  
    if(collides(c) & op==12){TD(c,1);}
    if(collides(c) & op==13){TD(c,1);}
    if(collides(c) & op==14){TD(c,1);}
   
    if(collides(c) & op==15){TD(c,1);}  
    if(collides(c) & op==16){TD(c,1);}  
    if(collides(c) & op==17){TD(c,1);}
    if(collides(c) & op==18){TD(c,1);}
    if(collides(c) & op==19){TD(c,1);}
    
    if(collides(c) & op==20){TD(c,1);}  
    if(collides(c) & op==21){TD(c,1);}  
    if(collides(c) & op==22){TD(c,1);}
    if(collides(c) & op==23){TD(c,1);}
    if(collides(c) & op==24){TD(c,1);}
              
    }
    
    
 public void Focus(int Dx,int Dy) {
  
if(Dx>=we/2 & Dx<=Map.W-we/2){D.x=Dx-we/2;}
if(Dy>=he/2 & Dy<=Map.H-he/2){D.y=Dy-he/2;}

    
 }
 
 
    
 /// e c   
}
