oint=false;Р int x=0,y=0;Р int endI=0;Р if(disk!=null)Р { for(int i=0;i<3*盘子数目;i++)Р { x=point[i].getX();Р y=point[i].getY();Р if(rect.contains(x,y))Р { containTowerPoint=true;Р endI=i;Р break;Р }Р }Р }Р if(disk!=null&&containTowerPoint)Р { if(point[endI].是否有盘子()==true) Р { disk.setLocation(startX,startY); } Р elseР { if(endI==盘子数目-1||endI==2*盘子数目-1||endI==3*盘子数目-1) Р { point[endI].放置盘子(disk,this); Р if(startI!=盘子数目-1&&startI!=2*盘子数目-1&&startI!=3*盘子数目-1)Р {(point[startI+1].获取盘子()).set上方有盘(false);Р point[startI].set有盘子(false); Р }Р elseР { point[startI].set有盘子(false); Р } Р } Р else Р { if(point[endI+1].是否有盘子()==true)Р { Disk tempDisk=point[endI+1].获取盘子();Р if((tempDisk.getNumber()-disk.getNumber())>=1)Р { point[endI].放置盘子(disk,this); Р if(startI!=盘子数目-1&&startI!=2*盘子数目-1&&startI!=3*盘子数目-1)