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
628f58cd
Commit
628f58cd
authored
May 26, 2010
by
Max-Wilhelm Bruker
Browse files
fixed bug #0000012
parent
cb045907
Changes
2
Hide whitespace changes
Inline
Side-by-side
common/server_game.h
View file @
628f58cd
...
...
@@ -54,7 +54,7 @@ public:
bool
getGameStarted
()
const
{
return
gameStarted
;
}
int
getPlayerCount
()
const
;
int
getSpectatorCount
()
const
;
QList
<
Server_Player
*>
getPlayers
()
const
{
return
players
.
values
()
;
}
const
QMap
<
int
,
Server_Player
*>
&
getPlayers
()
const
{
return
players
;
}
Server_Player
*
getPlayer
(
int
playerId
)
const
{
return
players
.
value
(
playerId
,
0
);
}
int
getGameId
()
const
{
return
gameId
;
}
QString
getDescription
()
const
{
return
description
;
}
...
...
common/server_protocolhandler.cpp
View file @
628f58cd
...
...
@@ -208,7 +208,7 @@ ResponseCode Server_ProtocolHandler::cmdLogin(Command_Login *cmd, CommandContain
// This might not scale very well. Use an extra QMap if it becomes a problem.
const
QList
<
Server_Game
*>
&
serverGames
=
server
->
getGames
();
for
(
int
i
=
0
;
i
<
serverGames
.
size
();
++
i
)
{
const
QList
<
Server_Player
*>
&
gamePlayers
=
serverGames
[
i
]
->
getPlayers
();
const
QList
<
Server_Player
*>
&
gamePlayers
=
serverGames
[
i
]
->
getPlayers
()
.
values
()
;
for
(
int
j
=
0
;
j
<
gamePlayers
.
size
();
++
j
)
if
(
gamePlayers
[
j
]
->
getPlayerName
()
==
playerName
)
{
gamePlayers
[
j
]
->
setProtocolHandler
(
this
);
...
...
@@ -530,7 +530,7 @@ ResponseCode Server_ProtocolHandler::moveCard(Server_Game *game, Server_Player *
// If the card was moved to another zone, delete all arrows from and to the card
if
(
startzone
!=
targetzone
)
{
const
QList
<
Server_Player
*>
&
players
=
game
->
getPlayers
();
const
QList
<
Server_Player
*>
&
players
=
game
->
getPlayers
()
.
values
()
;
for
(
int
i
=
0
;
i
<
players
.
size
();
++
i
)
{
QList
<
int
>
arrowsToDelete
;
QMapIterator
<
int
,
Server_Arrow
*>
arrowIterator
(
players
[
i
]
->
getArrows
());
...
...
@@ -709,11 +709,19 @@ ResponseCode Server_ProtocolHandler::cmdNextTurn(Command_NextTurn * /*cmd*/, Com
{
if
(
!
game
->
getGameStarted
())
return
RespGameNotStarted
;
const
QMap
<
int
,
Server_Player
*>
&
players
=
game
->
getPlayers
();
const
QList
<
int
>
keys
=
players
.
keys
();
int
activePlayer
=
game
->
getActivePlayer
();
if
(
++
activePlayer
==
game
->
getPlayerCount
())
activePlayer
=
0
;
game
->
setActivePlayer
(
activePlayer
);
int
listPos
=
keys
.
indexOf
(
activePlayer
);
do
{
++
listPos
;
if
(
listPos
==
keys
.
size
())
listPos
=
0
;
}
while
(
players
.
value
(
keys
[
listPos
])
->
getSpectator
());
game
->
setActivePlayer
(
keys
[
listPos
]);
return
RespOk
;
}
...
...
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