可以讲讲俄罗斯方块代码的有关内容吗

    pause.addActionListener(new ActionListener() {//添加一个暂停的监听
        @Override
        public void actionPerformed(ActionEvent e) {
            synchronized (tetris.flag) {//同步访问共享资源tetris,同步代码块
                tetris.flag = true;
            }
        }
    });
    newgame.addActionListener(new ActionListener() {//为newgame添加监听
        @Override
        public void actionPerformed(ActionEvent e) {
            synchronized (tetris.flag) {
                tetris.flag = false;
                a.init();
                a.newblock();
                a.newmap();
                a.drawwall();
            }
        }
    });
    exit.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            synchronized (tetris.flag) {
                System.exit(0);
            }
        }
    });
    goon.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            synchronized (tetris.flag) {
                tetris.flag = false;
            }
        }
    });