ModestGenius

oldHandler2

Mar 14th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.84 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.awt.*;
  4. import java.awt.event.MouseAdapter;
  5. import java.awt.event.MouseEvent;
  6. import java.util.*;
  7.  
  8. import static com.company.Board.fields;
  9. import static com.company.EmtyFieldHandler.*;
  10.  
  11.  
  12. /**
  13.  * Created by Максим on 08.03.2016.
  14.  */
  15.  
  16. public class FieldHandler extends MouseAdapter {
  17.     private Field checker;
  18.     static Tree.Node root;
  19.     static Tree tree;
  20.  
  21.     public FieldHandler(Field checker) {
  22.         this.checker = checker;
  23.     }
  24.  
  25.    /*void showPossibleMoves() {
  26.        if(buffer.type==1) {
  27.            if (fields[buffer.getIndex() + 1][buffer.getRow() + 1].type == 0)
  28.                fields[buffer.getIndex() + 1][buffer.getRow() + 1].setBackground(Color.green);
  29.            if(fields[buffer.getIndex() - 1][buffer.getRow() + 1].type == 0)
  30.                fields[buffer.getIndex() - 1][buffer.getRow() + 1].setBackground(Color.green);
  31.        }
  32.        if(buffer.type==2) {
  33.            if (fields[buffer.getIndex() + 1][buffer.getRow() - 1].type == 0)
  34.                fields[buffer.getIndex() + 1][buffer.getRow() - 1].setBackground(Color.green);
  35.            if(fields[buffer.getIndex() - 1][buffer.getRow() - 1].type == 0)
  36.                fields[buffer.getIndex() - 1][buffer.getRow() - 1].setBackground(Color.green);
  37.        }
  38.    }*/
  39.  
  40.     void addNodeIntoTree(Field buff, Tree.Node root) {
  41.         System.out.println(buff.getIndex()+""+buff.getRow()+ " type: "+buff.type);
  42.             //System.out.println("buff.type == 0 and "+ pressedChecker.getIndex()+""+pressedChecker.getRow()+ " type: "+pressedChecker.type);
  43.             /*if (pressedChecker.type == 1) {
  44.                 System.out.println("pressedChecker.type == 1 and "+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].getIndex()
  45.                         +""+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].getRow()
  46.                         + " type: "+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type);*/
  47.                 if (Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type!=pressedChecker.type&&
  48.                         Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type!=0) {
  49.                     Tree.Node node = new Tree.Node(fields[buff.getIndex()][buff.getRow()]);
  50.                     root.addChildren(node);
  51.                     //buff.type = 1;
  52.                     Field buffer = pressedChecker;
  53.                     buff.type = pressedChecker.type;
  54.                     pressedChecker = buff;
  55.                     constraintTree(node);
  56.                     pressedChecker = buffer;
  57.                     buff.type = 0;
  58.                 }
  59.  
  60.  
  61.             /*if (pressedChecker.type == 2) {
  62.                 System.out.println("pressedChecker.type == 2 and "+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].getIndex()
  63.                         +""+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].getRow()
  64.                         + " type: "+Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type);
  65.         if (Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type!=pressedChecker.type&&
  66.                 Board.fields[(pressedChecker.getIndex() + buff.getIndex()) / 2][(pressedChecker.getRow() + buff.getRow()) / 2].type!=0) {
  67.                     Tree.Node node = new Tree.Node(fields[buff.getIndex()][buff.getRow()]);
  68.                     root.addChildren(node);
  69.                     //buff.type = 2;
  70.                     pressedChecker = buff;
  71.                     pressedChecker.type=2;
  72.                     constraintTree(node);
  73.                     buff.type = 0;
  74.                 }*/
  75.             }
  76.  
  77.  
  78.  
  79.     void constraintTree(Tree.Node root) {
  80.         Field buff;
  81.         System.out.println("pressedChecker: "+pressedChecker.getIndex()+" "+pressedChecker.getRow());
  82.         if(pressedChecker.getIndex()+2<8 && pressedChecker.getRow()+2<8 && fields[pressedChecker.getIndex()+2][pressedChecker.getRow()+2].type==0) {
  83.             buff = fields[pressedChecker.getIndex()+2][pressedChecker.getRow()+2];
  84.             addNodeIntoTree(buff,root);
  85.         }
  86.         if(pressedChecker.getIndex()+2<8 && pressedChecker.getRow()-2>=0 && fields[pressedChecker.getIndex()+2][pressedChecker.getRow()-2].type==0) {
  87.             buff = fields[pressedChecker.getIndex()+2][pressedChecker.getRow()-2] ;
  88.             addNodeIntoTree(buff,root);
  89.         }
  90.         if(pressedChecker.getIndex()-2>=0 && pressedChecker.getRow()+2<8 && fields[pressedChecker.getIndex()-2][pressedChecker.getRow()+2].type==0) {
  91.             buff = fields[pressedChecker.getIndex()-2][pressedChecker.getRow()+2];
  92.             addNodeIntoTree(buff,root);
  93.         }
  94.         if(pressedChecker.getIndex()-2>=0 && pressedChecker.getRow()-2>=0 && fields[pressedChecker.getIndex()-2][pressedChecker.getRow()-2].type==0) {
  95.             System.out.println("Я ЗДЕСЯ!!!");
  96.             buff = fields[pressedChecker.getIndex()-2][pressedChecker.getRow()-2];
  97.             addNodeIntoTree(buff,root);
  98.  
  99.         }
  100.         pressedChecker = checker;
  101.     }
  102.  
  103.     public static void showPossibleHits(Tree.Node parentNode, Color color){
  104.         ArrayList<Tree.Node<Field>> list = parentNode.getChildrens();
  105.         if(!list.isEmpty())
  106.         {
  107.             System.out.println("СПИСКОК ПОТОМКОВ ПОЛЯ " + parentNode.getField().getIndex()+parentNode.getField().getRow());
  108.             for(Tree.Node<Field> childrenNode: list ) {
  109.                System.out.println(childrenNode.getField().getIndex() +""+ childrenNode.getField().getRow());
  110.                 childrenNode.getField().setBackground(color);
  111.                 showPossibleHits(childrenNode,color);
  112.             }
  113.             System.out.println("_________________");
  114.         }
  115.  
  116.     }
  117.  
  118.     @Override
  119.     public void mouseClicked(MouseEvent e) {
  120.         if(pressedChecker==null) {
  121.             checker.setBackground(Color.yellow);
  122.             pressedChecker=checker;
  123.         }
  124.         else
  125.         {
  126.             showPossibleHits(FieldHandler.tree.getRoot(),Field.bgDark);
  127.             pressedChecker.setBackground(Field.bgDark);
  128.             checker.setBackground(Color.yellow);
  129.             pressedChecker=checker;
  130.         }
  131.  
  132.         root = new Tree.Node(fields[pressedChecker.getIndex()][pressedChecker.getRow()]);
  133.         tree = new Tree(root);
  134.  
  135.         constraintTree(tree.getRoot());
  136.         pressedChecker=checker;
  137.         showPossibleHits(tree.getRoot(),Color.BLUE);
  138.         //showPossibleMoves();
  139.     }
  140. }
Advertisement
Add Comment
Please, Sign In to add comment