Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.15 KB | None | 0 0
  1.  
  2. package shell;
  3.  
  4. public class Jumping extends Shell{
  5.  
  6.     boolean elindult;
  7.     WaterLilyStatus[] plates;
  8.    
  9.    
  10.    
  11.     public Jumping() {
  12.        
  13.        
  14.        
  15.        
  16.         addCommand(new Command("print") {
  17.             @Override
  18.             public boolean execute(String... strings) {
  19.                 if(strings.length != 0) return false;
  20.                 if(!elindult) return false;
  21.                
  22.                 for(int i = 0; i < plates.length; i++){
  23.                     if(plates[i].equals(WaterLilyStatus.FREE)){
  24.                         System.out.print(" _ ");
  25.                     }
  26.                     if(plates[i].equals(WaterLilyStatus.TOAD)){
  27.                         System.out.print(" T ");
  28.                     }
  29.                     if(plates[i].equals(WaterLilyStatus.TREE_FROG)){
  30.                         System.out.print(" F ");
  31.                     }
  32.                 }
  33.                
  34.                 System.out.println("");
  35.                
  36.                 return true;
  37.             }
  38.         });
  39.        
  40.         addCommand(new Command("new") {
  41.             @Override
  42.             public boolean execute(String... strings) {
  43.                 if(strings.length > 1) return false;
  44.                
  45.                 int n = 3;
  46.                
  47.                 if(strings.length == 1){
  48.                     n = Integer.parseInt(strings[0]);
  49.                     if(n < 1) return false;
  50.                 }
  51.                
  52.                 elindult = true;
  53.                 plates = new WaterLilyStatus[(2 * n) + 1];
  54.                 int i;
  55.                
  56.                 for(i = 0; i < n; i++){
  57.                     plates[i] = WaterLilyStatus.TOAD;
  58.                 }
  59.                 plates[i++] = WaterLilyStatus.FREE;
  60.                
  61.                 for(; i < (2*n) + 1; i++){
  62.                     plates[i] = WaterLilyStatus.TREE_FROG;
  63.                 }
  64.                
  65.                 return true;
  66.             }
  67.         });
  68.        
  69.        
  70.        
  71.        
  72.         addCommand(new Command("X") {
  73.             @Override
  74.             public boolean execute(String... strings) {
  75.                 if(strings.length != 1) return false;
  76.                
  77.                
  78.                
  79.                
  80.                 if(strings[0].equals("jump")){
  81.                    
  82.                 }else{
  83.                    
  84.                 }
  85.                
  86.                 return true;
  87.             }
  88.         });
  89.        
  90.         addCommand(new Command("O") {
  91.             @Override
  92.             public boolean execute(String... strings) {
  93.                 if(strings.length != 1) return false;
  94.                
  95.                 return true;
  96.             }
  97.         });
  98.        
  99.        
  100.        
  101.     }
  102.    
  103.    
  104.    
  105.     private int getX(boolean jump){
  106.         int i;
  107.         if(jump){
  108.             for(i = plates.length - 3; i >= 0; i--){
  109.                 if(plates[i].equals(WaterLilyStatus.TOAD)){
  110.                     if(!plates[i + 1].equals(WaterLilyStatus.TOAD) && plates[i + 2].equals(WaterLilyStatus.FREE))
  111.                     return i;
  112.                 }
  113.             }
  114.         }
  115.         else{
  116.             for(i = plates.length - 1; i >= 0; i--){
  117.                 if(plates[i].equals(WaterLilyStatus.TOAD)){
  118.                     if(plates[i + 1].equals(WaterLilyStatus.FREE)){
  119.                         return i;
  120.                     }
  121.                 }
  122.             }
  123.         }
  124.         return -1;
  125.     }
  126.      
  127.     private int getO(boolean jump){
  128.         int i;
  129.          if(jump){
  130.             for(i = 2; i < plates.length; i++){
  131.                 if(plates[i].equals(WaterLilyStatus.TOAD)){
  132.                     if(!plates[i - 1].equals(WaterLilyStatus.TOAD) && plates[i + 2].equals(WaterLilyStatus.FREE))
  133.                     return i;
  134.                 }
  135.             }
  136.         }
  137.         else{
  138.             for(i = 1; i < plates.length; i++){
  139.                 if(plates[i].equals(WaterLilyStatus.TOAD)){
  140.                     if(plates[i - 1].equals(WaterLilyStatus.FREE)){
  141.                         return i;
  142.                     }
  143.                 }
  144.             }
  145.         }
  146.         return -1;
  147.     }
  148.        
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement