forked from XMuli/ChineseChess
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChooseMainWindow.cpp
executable file
·87 lines (77 loc) · 2.33 KB
/
ChooseMainWindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright (C) 2019~2020 偕臧 All rights reserved.
*
* Author: xmuli(偕臧) [email protected]
*
* github: https://github.com/xmuli
* blogs: https://xmuli.tech
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://touwoyimuli.github.io/>.
*/
#include "ChooseMainWindow.h"
#include <QApplication>
#include "ChessBoard.h"
#include "MachineGame.h"
#include "NetworkGame.h"
#include <QMessageBox>
ChooseMainWindow::ChooseMainWindow(int nChooseGame, QWidget *parent) : QWidget(parent)
{
m_nChooseGame = nChooseGame;
if(0 == m_nChooseGame)
{
/*游戏方式一: 自己和自己下棋【同一台PC机器】*/
m_p1 = new ChessBoard();
m_p1->setWindowTitle("玩家自己对战");
m_p1->show();
}
else if(1 == m_nChooseGame)
{
/*游戏方式二: 自己和电脑下棋【同一台PC机器】*/
m_p2 = new MachineGame();
m_p2->setWindowTitle("玩家和AI对战");
m_p2->show();
}
else if(2 == m_nChooseGame)
{
/*游戏方式三: 双人局域网下棋【可在局域网下不同台PC机器】*/
QMessageBox::StandardButtons ret = QMessageBox::question(NULL, "提示", "是否作为服务器启动[选择红方]?");
bool bServer = false;
if(ret == QMessageBox::Yes)
bServer = true;
m_p3 = new NetworkGame(bServer);
m_p3->setWindowTitle("双人网络对战");
m_p3->show();
}
else
{
}
}
ChooseMainWindow::~ChooseMainWindow()
{
if(0 == m_nChooseGame)
{
delete m_p1;
}
else if(1 == m_nChooseGame)
{
delete m_p2;
}
else if(2 == m_nChooseGame)
{
delete m_p3;
}
else
{
}
}