Commit 2e2def77 authored by 刘家荣's avatar 刘家荣 💬
Browse files

Last commit

parent f7b39ef1
Loading
Loading
Loading
Loading
+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Original line Diff line number Diff line
@@ -104,7 +104,10 @@ public class AppController {
            History.instance = new History(Game.instance.clone());
            History.instance = new History(Game.instance.clone());
            if (onlineMode == OnlineStatus.SERVER_WAITING) {
            if (onlineMode == OnlineStatus.SERVER_WAITING) {
                try {
                try {
                    RoomFrame.instance.dispose();
                    Server.start();
                    Server.start();
                    ChessGameFrame.instance = new ChessGameFrame();
                    ChessGameFrame.instance.setVisible(true);
                } catch (UnknownHostException e) {
                } catch (UnknownHostException e) {
                    JOptionPane.showMessageDialog(null, "房间创建失败", "提示", JOptionPane.WARNING_MESSAGE);
                    JOptionPane.showMessageDialog(null, "房间创建失败", "提示", JOptionPane.WARNING_MESSAGE);
                    return;
                    return;
+13 −0
Original line number Original line Diff line number Diff line
@@ -6,6 +6,8 @@ import model.History;
import model.dataType.*;
import model.dataType.*;
import model.game.*;
import model.game.*;
import network.Client;
import network.Client;
import network.OnlineInfo;
import network.dataType.OnlineStatus;
import view.Frame.ChessGameFrame;
import view.Frame.ChessGameFrame;
import view.Com.ChessboardCom;
import view.Com.ChessboardCom;
import view.Com.SquareCom;
import view.Com.SquareCom;
@@ -40,6 +42,17 @@ public enum ChessClickController {
        Step step = null;
        Step step = null;
        //处理一番,结果写到step,否则step为null即无结果
        //处理一番,结果写到step,否则step为null即无结果
        if(Game.instance.gameType == GameType.LOCAL_AI && Game.instance.getCurrentColor() != Game.instance.hostColor) return;
        if(Game.instance.gameType == GameType.LOCAL_AI && Game.instance.getCurrentColor() != Game.instance.hostColor) return;
        if(Game.instance.gameType == GameType.ONLINE){
            if(OnlineInfo.status == OnlineStatus.SERVER_WAITING){
                return;
            }
            if(OnlineInfo.status == OnlineStatus.SERVER_PLAYING && Game.instance.getCurrentColor() != Game.instance.hostColor){
                return;
            }
            if(OnlineInfo.status == OnlineStatus.CLIENT_PLAYING && Game.instance.getCurrentColor() == Game.instance.hostColor){
                return;
            }
        }
        if (firstId == -1) {    //判断第一次点击
        if (firstId == -1) {    //判断第一次点击
            if (square instanceof Chess chess) {
            if (square instanceof Chess chess) {
                if (!chess.isReversal()) {  //未翻开,翻之
                if (!chess.isReversal()) {  //未翻开,翻之
+6 −3
Original line number Original line Diff line number Diff line
@@ -3,6 +3,7 @@ package view;
import controller.AppController;
import controller.AppController;
import model.Room;
import model.Room;
import network.Searcher;
import network.Searcher;
import network.dataType.OnlineStatus;
import view.Frame.ChessGameFrame;
import view.Frame.ChessGameFrame;


import javax.swing.*;
import javax.swing.*;
@@ -42,8 +43,10 @@ public class RoomFrame extends JFrame {
                AppController.instance.backToStart();
                AppController.instance.backToStart();
            }
            }
        });
        });
        
        Searcher.start();
        roomPane.repaint();
        this.getContentPane().add(roomPane);
        this.getContentPane().add(setPane);
        this.repaint();
    }
    }
    
    
    public void addRoom(Room r) {
    public void addRoom(Room r) {
@@ -64,7 +67,7 @@ public class RoomFrame extends JFrame {
        button.setFont(new Font("Rockwell", Font.BOLD, 20));
        button.setFont(new Font("Rockwell", Font.BOLD, 20));
        
        
        button.addActionListener(e -> {
        button.addActionListener(e -> {
            new ChessGameFrame();
            AppController.instance.goOnlineGame(OnlineStatus.SERVER_WAITING, null);
        });
        });
        setPane.add(button);
        setPane.add(button);
    }
    }