Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package shell;
- public class Jumping extends Shell{
- boolean elindult;
- WaterLilyStatus[] plates;
- public Jumping() {
- addCommand(new Command("print") {
- @Override
- public boolean execute(String... strings) {
- if(strings.length != 0) return false;
- if(!elindult) return false;
- for(int i = 0; i < plates.length; i++){
- if(plates[i].equals(WaterLilyStatus.FREE)){
- System.out.print(" _ ");
- }
- if(plates[i].equals(WaterLilyStatus.TOAD)){
- System.out.print(" T ");
- }
- if(plates[i].equals(WaterLilyStatus.TREE_FROG)){
- System.out.print(" F ");
- }
- }
- System.out.println("");
- return true;
- }
- });
- addCommand(new Command("new") {
- @Override
- public boolean execute(String... strings) {
- if(strings.length > 1) return false;
- int n = 3;
- if(strings.length == 1){
- n = Integer.parseInt(strings[0]);
- if(n < 1) return false;
- }
- elindult = true;
- plates = new WaterLilyStatus[(2 * n) + 1];
- int i;
- for(i = 0; i < n; i++){
- plates[i] = WaterLilyStatus.TOAD;
- }
- plates[i++] = WaterLilyStatus.FREE;
- for(; i < (2*n) + 1; i++){
- plates[i] = WaterLilyStatus.TREE_FROG;
- }
- return true;
- }
- });
- addCommand(new Command("X") {
- @Override
- public boolean execute(String... strings) {
- if(strings.length != 1) return false;
- if(strings[0].equals("jump")){
- }else{
- }
- return true;
- }
- });
- addCommand(new Command("O") {
- @Override
- public boolean execute(String... strings) {
- if(strings.length != 1) return false;
- return true;
- }
- });
- }
- private int getX(boolean jump){
- int i;
- if(jump){
- for(i = plates.length - 3; i >= 0; i--){
- if(plates[i].equals(WaterLilyStatus.TOAD)){
- if(!plates[i + 1].equals(WaterLilyStatus.TOAD) && plates[i + 2].equals(WaterLilyStatus.FREE))
- return i;
- }
- }
- }
- else{
- for(i = plates.length - 1; i >= 0; i--){
- if(plates[i].equals(WaterLilyStatus.TOAD)){
- if(plates[i + 1].equals(WaterLilyStatus.FREE)){
- return i;
- }
- }
- }
- }
- return -1;
- }
- private int getO(boolean jump){
- int i;
- if(jump){
- for(i = 2; i < plates.length; i++){
- if(plates[i].equals(WaterLilyStatus.TOAD)){
- if(!plates[i - 1].equals(WaterLilyStatus.TOAD) && plates[i + 2].equals(WaterLilyStatus.FREE))
- return i;
- }
- }
- }
- else{
- for(i = 1; i < plates.length; i++){
- if(plates[i].equals(WaterLilyStatus.TOAD)){
- if(plates[i - 1].equals(WaterLilyStatus.FREE)){
- return i;
- }
- }
- }
- }
- return -1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement