Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
08df2645
Commit
08df2645
authored
Apr 26, 2009
by
Max-Wilhelm Bruker
Browse files
servatrice: stub for reveal_card, database changes
parent
03847a9b
Changes
5
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/zoneviewwidget.cpp
View file @
08df2645
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
#include
"client.h"
#include
"client.h"
ZoneViewWidget
::
ZoneViewWidget
(
CardDatabase
*
_db
,
Player
*
_player
,
CardZone
*
_origZone
,
int
numberCards
,
QGraphicsItem
*
parent
)
ZoneViewWidget
::
ZoneViewWidget
(
CardDatabase
*
_db
,
Player
*
_player
,
CardZone
*
_origZone
,
int
numberCards
,
QGraphicsItem
*
parent
)
:
QGraphicsWidget
(
parent
,
Qt
::
Tool
|
Qt
::
CustomizeWindowHint
|
Qt
::
WindowSystemMenuHint
|
Qt
::
WindowTitleHint
|
Qt
::
WindowCloseButtonHint
),
db
(
_db
),
player
(
_player
)
:
QGraphicsWidget
(
parent
,
Qt
::
Tool
|
Qt
::
CustomizeWindowHint
|
Qt
::
WindowSystemMenuHint
|
Qt
::
WindowTitleHint
/*
| Qt::WindowCloseButtonHint
*/
),
db
(
_db
),
player
(
_player
)
{
{
setWindowTitle
(
QString
(
"%1's %2"
).
arg
(
player
->
getName
()).
arg
(
_origZone
->
getName
()));
setWindowTitle
(
QString
(
"%1's %2"
).
arg
(
player
->
getName
()).
arg
(
_origZone
->
getName
()));
setAttribute
(
Qt
::
WA_DeleteOnClose
);
setAttribute
(
Qt
::
WA_DeleteOnClose
);
...
...
servatrice/src/server.cpp
View file @
08df2645
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
#include
<QSettings>
#include
<QSettings>
Server
::
Server
(
QObject
*
parent
)
Server
::
Server
(
QObject
*
parent
)
:
QTcpServer
(
parent
),
nextGameId
(
1
)
:
QTcpServer
(
parent
),
nextGameId
(
0
)
{
{
settings
=
new
QSettings
(
"servatrice.ini"
,
QSettings
::
IniFormat
,
this
);
settings
=
new
QSettings
(
"servatrice.ini"
,
QSettings
::
IniFormat
,
this
);
}
}
...
@@ -44,7 +44,19 @@ bool Server::openDatabase()
...
@@ -44,7 +44,19 @@ bool Server::openDatabase()
sqldb
.
setPassword
(
settings
->
value
(
"password"
).
toString
());
sqldb
.
setPassword
(
settings
->
value
(
"password"
).
toString
());
settings
->
endGroup
();
settings
->
endGroup
();
return
sqldb
.
open
();
if
(
!
sqldb
.
open
())
return
false
;
if
(
!
nextGameId
)
{
QSqlQuery
query
;
if
(
!
query
.
exec
(
"select max(id) from games"
))
return
false
;
if
(
!
query
.
next
())
return
false
;
nextGameId
=
query
.
value
(
0
).
toInt
()
+
1
;
qDebug
(
QString
(
"set nextGameId to %1"
).
arg
(
nextGameId
).
toLatin1
());
}
return
true
;
}
}
void
Server
::
addGame
(
const
QString
description
,
const
QString
password
,
const
int
maxPlayers
,
ServerSocket
*
creator
)
void
Server
::
addGame
(
const
QString
description
,
const
QString
password
,
const
int
maxPlayers
,
ServerSocket
*
creator
)
...
@@ -73,7 +85,7 @@ AuthenticationResult Server::checkUserPassword(const QString &user, const QStrin
...
@@ -73,7 +85,7 @@ AuthenticationResult Server::checkUserPassword(const QString &user, const QStrin
}
}
QSqlQuery
query
;
QSqlQuery
query
;
query
.
prepare
(
"select password from
us
ers where name = :name"
);
query
.
prepare
(
"select password from
play
ers where name = :name"
);
query
.
bindValue
(
":name"
,
user
);
query
.
bindValue
(
":name"
,
user
);
if
(
!
query
.
exec
())
{
if
(
!
query
.
exec
())
{
qCritical
(
QString
(
"Database error: %1"
).
arg
(
query
.
lastError
().
text
()).
toLatin1
());
qCritical
(
QString
(
"Database error: %1"
).
arg
(
query
.
lastError
().
text
()).
toLatin1
());
...
...
servatrice/src/servergame.cpp
View file @
08df2645
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include
"servergame.h"
#include
"servergame.h"
#include
"random.h"
#include
"random.h"
#include
"serversocket.h"
#include
"serversocket.h"
#include
<QSqlQuery>
ServerGame
::
ServerGame
(
ServerSocket
*
_creator
,
int
_gameId
,
QString
_description
,
QString
_password
,
int
_maxPlayers
,
QObject
*
parent
)
ServerGame
::
ServerGame
(
ServerSocket
*
_creator
,
int
_gameId
,
QString
_description
,
QString
_password
,
int
_maxPlayers
,
QObject
*
parent
)
:
QObject
(
parent
),
gameStarted
(
false
),
rnd
(
0
),
creator
(
_creator
),
gameId
(
_gameId
),
description
(
_description
),
password
(
_password
),
maxPlayers
(
_maxPlayers
)
:
QObject
(
parent
),
gameStarted
(
false
),
rnd
(
0
),
creator
(
_creator
),
gameId
(
_gameId
),
description
(
_description
),
password
(
_password
),
maxPlayers
(
_maxPlayers
)
...
@@ -88,6 +89,20 @@ void ServerGame::startGameIfReady()
...
@@ -88,6 +89,20 @@ void ServerGame::startGameIfReady()
if
(
players
.
at
(
i
)
->
getStatus
()
!=
StatusReadyStart
)
if
(
players
.
at
(
i
)
->
getStatus
()
!=
StatusReadyStart
)
return
;
return
;
QSqlQuery
query
;
query
.
prepare
(
"insert into games (id, descr, password, time_started) values(:id, :descr, :password, now())"
);
query
.
bindValue
(
":id"
,
gameId
);
query
.
bindValue
(
":descr"
,
description
);
query
.
bindValue
(
":password"
,
!
password
.
isEmpty
());
query
.
exec
();
for
(
int
i
=
0
;
i
<
players
.
size
();
i
++
)
{
query
.
prepare
(
"insert into games_players (id_game, player) values(:id, :player)"
);
query
.
bindValue
(
":id"
,
gameId
);
query
.
bindValue
(
":player"
,
players
.
at
(
i
)
->
PlayerName
);
query
.
exec
();
}
if
(
!
rnd
)
{
if
(
!
rnd
)
{
rnd
=
new
Random
(
this
);
rnd
=
new
Random
(
this
);
rnd
->
init
();
rnd
->
init
();
...
...
servatrice/src/serversocket.cpp
View file @
08df2645
...
@@ -184,6 +184,8 @@ const ServerSocket::CommandProperties ServerSocket::commandList[ServerSocket::nu
...
@@ -184,6 +184,8 @@ const ServerSocket::CommandProperties ServerSocket::commandList[ServerSocket::nu
{
"ready_start"
,
true
,
true
,
false
,
QList
<
QVariant
::
Type
>
(),
&
ServerSocket
::
cmdReadyStart
},
{
"ready_start"
,
true
,
true
,
false
,
QList
<
QVariant
::
Type
>
(),
&
ServerSocket
::
cmdReadyStart
},
{
"shuffle"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
(),
&
ServerSocket
::
cmdShuffle
},
{
"shuffle"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
(),
&
ServerSocket
::
cmdShuffle
},
{
"draw_cards"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
()
<<
QVariant
::
Int
,
&
ServerSocket
::
cmdDrawCards
},
{
"draw_cards"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
()
<<
QVariant
::
Int
,
&
ServerSocket
::
cmdDrawCards
},
{
"reveal_card"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
()
<<
QVariant
::
Int
<<
QVariant
::
String
,
&
ServerSocket
::
cmdRevealCard
},
{
"move_card"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
()
<<
QVariant
::
Int
{
"move_card"
,
true
,
true
,
true
,
QList
<
QVariant
::
Type
>
()
<<
QVariant
::
Int
<<
QVariant
::
String
<<
QVariant
::
String
<<
QVariant
::
String
<<
QVariant
::
String
...
@@ -337,6 +339,20 @@ ReturnMessage::ReturnCode ServerSocket::cmdDrawCards(const QList<QVariant> ¶
...
@@ -337,6 +339,20 @@ ReturnMessage::ReturnCode ServerSocket::cmdDrawCards(const QList<QVariant> ¶
return
ReturnMessage
::
ReturnOk
;
return
ReturnMessage
::
ReturnOk
;
}
}
ReturnMessage
::
ReturnCode
ServerSocket
::
cmdRevealCard
(
const
QList
<
QVariant
>
&
params
)
{
int
cardid
=
params
[
0
].
toInt
();
PlayerZone
*
zone
=
getZone
(
params
[
1
].
toString
());
if
(
!
zone
)
return
ReturnMessage
::
ReturnContextError
;
int
position
=
-
1
;
Card
*
card
=
zone
->
getCard
(
cardid
,
false
,
&
position
);
if
(
!
card
)
return
ReturnMessage
::
ReturnContextError
;
emit
broadcastEvent
(
QString
(
"reveal_card|%1|%2|%3"
).
arg
(
cardid
).
arg
(
zone
->
getName
()).
arg
(
card
->
getName
()),
this
);
return
ReturnMessage
::
ReturnOk
;
}
ReturnMessage
::
ReturnCode
ServerSocket
::
cmdMoveCard
(
const
QList
<
QVariant
>
&
params
)
ReturnMessage
::
ReturnCode
ServerSocket
::
cmdMoveCard
(
const
QList
<
QVariant
>
&
params
)
{
{
// ID Karte, Startzone, Zielzone, Koordinaten X, Y, Facedown
// ID Karte, Startzone, Zielzone, Koordinaten X, Y, Facedown
...
...
servatrice/src/serversocket.h
View file @
08df2645
...
@@ -55,7 +55,7 @@ private:
...
@@ -55,7 +55,7 @@ private:
QList
<
QVariant
::
Type
>
paramTypes
;
QList
<
QVariant
::
Type
>
paramTypes
;
CommandHandler
handler
;
CommandHandler
handler
;
};
};
static
const
int
numberCommands
=
2
5
;
static
const
int
numberCommands
=
2
6
;
static
const
CommandProperties
commandList
[
numberCommands
];
static
const
CommandProperties
commandList
[
numberCommands
];
ReturnMessage
::
ReturnCode
cmdPing
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdPing
(
const
QList
<
QVariant
>
&
params
);
...
@@ -70,6 +70,7 @@ private:
...
@@ -70,6 +70,7 @@ private:
ReturnMessage
::
ReturnCode
cmdReadyStart
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdReadyStart
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdShuffle
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdShuffle
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdDrawCards
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdDrawCards
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdRevealCard
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdMoveCard
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdMoveCard
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdCreateToken
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdCreateToken
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdSetCardAttr
(
const
QList
<
QVariant
>
&
params
);
ReturnMessage
::
ReturnCode
cmdSetCardAttr
(
const
QList
<
QVariant
>
&
params
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment