大家好!
又有问题要请大家帮忙了...
我想做一个PegJump游戏,在自动玩时(我设置了延时1秒钟,并且我保证算法是正确的,实验过了),可它还是直接跳到最后一步,
我问了一下同学,同学这是图形界面没有跟着更新的缘故,他也不知道怎么办..
请高手指点一下....
小弟谢过大家了!!!

解决方案 »

  1.   

    我使用的是Thread.currentThread().sleep(1000);想让它每走一步延时一秒钟,让大家看清楚它每一步是怎么走的..
    可它每次都是直接跳到最后一步,这是为什么呢?
    当我使用if(count==1) break;// count为走的步数,就可以显示走了一步后的状态,到底是怎么回事啊?
    高手指点一下啊....
    谢谢咯***
      

  2.   

     if (derection == 'U') {
                        System.out.println("向上移动");
                        grid[j][i - 2].setIcon(img);//img为图象
                        grid[j][i - 1].setIcon(img1);//img1为空,不显示东西
                        grid[j][i].setIcon(img1);
                    } else if (derection == 'D') {
                        System.out.println("向下移动");
                        grid[j][i + 2].setIcon(img);
                        grid[j][i + 1].setIcon(img1);
                        grid[j][i].setIcon(img1);
                    } else if (derection == 'L') {
                        System.out.println("向左移动");
                        grid[j - 2][i].setIcon(img);
                        grid[j - 1][i].setIcon(img1);
                        grid[j][i].setIcon(img1);
                    } else if (derection == 'R') {
                        System.out.println("向右移动");
                        grid[j + 2][i].setIcon(img);
                        grid[j + 1][i].setIcon(img1);
                        grid[j][i].setIcon(img1);
                    }
                    try {
                        Thread.currentThread().sleep(500);                } catch (Exception ce) {
                        ce.printStackTrace();
                    }
                    /*if(k==1)
                        break;*/可以显示走了一步后的状态,到底是怎么回事啊?