[Game/Zones] Simple move refactor to differentiate between logic and graphics for zones (#6903)
Some checks are pending
Build Desktop / Configure (push) Waiting to run
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, 13) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, skip, 12) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, 44) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, skip, 43) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Servatrice_Debian, DEB, yes, skip, 12) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, 26.04) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, skip, 24.04) (push) Blocked by required conditions
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (yes, Arch, skip) (push) Blocked by required conditions
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (7d, Ninja, 1, macOS, -macOS14, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.11.0, macos-14, Apple, 14, Release, 1, … (push) Blocked by required conditions
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (7d, Ninja, 1, macOS, -macOS15, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.11.0, macos-15, Apple, 15, Release, 1, … (push) Blocked by required conditions
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (7d, Ninja, 1, macOS, 13, -macOS13_Intel, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.11.0, macos-15-intel, Intel, … (push) Blocked by required conditions
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (7d, Ninja, macOS, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.11.0, macos-15, Apple, 15, Debug, 1, 16.4) (push) Blocked by required conditions
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Visual Studio 17 2022, x64, 1, Windows, -Win10, win64_msvc2022_64, qtimageformats qtmultimedia qtwebsockets, 6.11.0, windows… (push) Blocked by required conditions
Build Docker Image / amd64 & arm64 (push) Waiting to run

* [Game/Zones] Simple move refactor to differentiate between logic and graphics for zones

Took 21 minutes

* Clean up game/zones/logic folder.

Took 6 minutes

* Adjust tests.

Took 3 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-05-18 06:36:18 +02:00 committed by GitHub
parent bb1a5b33a1
commit cba9ce2b2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
47 changed files with 107 additions and 107 deletions

View File

@ -104,20 +104,20 @@ set(cockatrice_SOURCES
src/game/player/player_manager.cpp
src/game/player/player_target.cpp
src/game/replay.cpp
src/game/zones/card_zone.cpp
src/game/zones/hand_zone.cpp
src/game/zones/logic/card_zone_logic.cpp
src/game/zones/logic/hand_zone_logic.cpp
src/game/zones/logic/pile_zone_logic.cpp
src/game/zones/logic/stack_zone_logic.cpp
src/game/zones/logic/table_zone_logic.cpp
src/game/zones/logic/view_zone_logic.cpp
src/game/zones/pile_zone.cpp
src/game/zones/select_zone.cpp
src/game/zones/stack_zone.cpp
src/game/zones/table_zone.cpp
src/game/zones/view_zone.cpp
src/game/zones/view_zone_widget.cpp
src/game/zones/card_zone_logic.cpp
src/game/zones/hand_zone_logic.cpp
src/game/zones/pile_zone_logic.cpp
src/game/zones/stack_zone_logic.cpp
src/game/zones/table_zone_logic.cpp
src/game/zones/view_zone_logic.cpp
src/game_graphics/zones/card_zone.cpp
src/game_graphics/zones/hand_zone.cpp
src/game_graphics/zones/pile_zone.cpp
src/game_graphics/zones/select_zone.cpp
src/game_graphics/zones/stack_zone.cpp
src/game_graphics/zones/table_zone.cpp
src/game_graphics/zones/view_zone.cpp
src/game_graphics/zones/view_zone_widget.cpp
src/game_graphics/board/abstract_graphics_item.cpp
src/interface/card_picture_loader/card_picture_loader.cpp
src/interface/card_picture_loader/card_picture_loader_local.cpp

View File

@ -2,11 +2,11 @@
#include "arrow_item.h"
#include "../../client/settings/cache_settings.h"
#include "../../game_graphics/zones/card_zone.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "../player/player_target.h"
#include "../z_values.h"
#include "../zones/card_zone.h"
#include "card_item.h"
#include <QDebug>

View File

@ -1,9 +1,9 @@
#include "card_drag_item.h"
#include "../../game_graphics/zones/card_zone.h"
#include "../../game_graphics/zones/table_zone.h"
#include "../../game_graphics/zones/view_zone.h"
#include "../game_scene.h"
#include "../zones/card_zone.h"
#include "../zones/table_zone.h"
#include "../zones/view_zone.h"
#include "card_item.h"
#include <QCursor>

View File

@ -1,14 +1,14 @@
#include "card_item.h"
#include "../../client/settings/cache_settings.h"
#include "../../game_graphics/zones/table_zone.h"
#include "../../game_graphics/zones/view_zone.h"
#include "../../interface/widgets/tabs/tab_game.h"
#include "../game_scene.h"
#include "../phase.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "../zones/logic/view_zone_logic.h"
#include "../zones/table_zone.h"
#include "../zones/view_zone.h"
#include "../zones/view_zone_logic.h"
#include "arrow_item.h"
#include "card_drag_item.h"

View File

@ -7,7 +7,7 @@
#ifndef CARDITEM_H
#define CARDITEM_H
#include "../zones/logic/card_zone_logic.h"
#include "../zones/card_zone_logic.h"
#include "abstract_card_item.h"
#include <libcockatrice/network/server/remote/game/server_card.h>

View File

@ -1,13 +1,13 @@
#include "game_scene.h"
#include "../client/settings/cache_settings.h"
#include "../game_graphics/zones/select_zone.h"
#include "../game_graphics/zones/view_zone.h"
#include "../game_graphics/zones/view_zone_widget.h"
#include "board/card_item.h"
#include "phases_toolbar.h"
#include "player/player.h"
#include "player/player_graphics_item.h"
#include "zones/select_zone.h"
#include "zones/view_zone.h"
#include "zones/view_zone_widget.h"
#include <QBasicTimer>
#include <QDebug>

View File

@ -1,7 +1,7 @@
#ifndef GAMESCENE_H
#define GAMESCENE_H
#include "zones/logic/card_zone_logic.h"
#include "zones/card_zone_logic.h"
#include <QGraphicsScene>
#include <QList>

View File

@ -1,6 +1,6 @@
#include "hand_counter.h"
#include "zones/card_zone.h"
#include "../game_graphics/zones/card_zone.h"
#include <QGraphicsSceneMouseEvent>
#include <QPainter>

View File

@ -8,7 +8,7 @@
#define MESSAGELOGWIDGET_H
#include "../../interface/widgets/server/chat_view/chat_view.h"
#include "../zones/logic/card_zone_logic.h"
#include "../zones/card_zone_logic.h"
class AbstractGame;
class CardItem;

View File

@ -3,7 +3,7 @@
#include "../../../client/settings/card_counter_settings.h"
#include "../../../interface/widgets/tabs/tab_game.h"
#include "../../board/card_item.h"
#include "../../zones/logic/view_zone_logic.h"
#include "../../zones/view_zone_logic.h"
#include "../card_menu_action_type.h"
#include "../player.h"
#include "../player_actions.h"

View File

@ -2,8 +2,8 @@
#include "../../../client/settings/cache_settings.h"
#include "../../../client/settings/shortcuts_settings.h"
#include "../../../game_graphics/zones/hand_zone.h"
#include "../../abstract_game.h"
#include "../../zones/hand_zone.h"
#include "../player.h"
#include "../player_actions.h"

View File

@ -1,10 +1,10 @@
#include "player_menu.h"
#include "../../../game_graphics/zones/hand_zone.h"
#include "../../../game_graphics/zones/pile_zone.h"
#include "../../../game_graphics/zones/table_zone.h"
#include "../../../interface/widgets/tabs/tab_game.h"
#include "../../board/card_item.h"
#include "../../zones/hand_zone.h"
#include "../../zones/pile_zone.h"
#include "../../zones/table_zone.h"
#include "card_menu.h"
#include "hand_menu.h"

View File

@ -1,5 +1,9 @@
#include "player.h"
#include "../../game_graphics/zones/hand_zone.h"
#include "../../game_graphics/zones/pile_zone.h"
#include "../../game_graphics/zones/stack_zone.h"
#include "../../game_graphics/zones/table_zone.h"
#include "../../interface/theme_manager.h"
#include "../../interface/widgets/tabs/tab_game.h"
#include "../board/arrow_item.h"
@ -7,10 +11,6 @@
#include "../board/card_list.h"
#include "../board/counter_general.h"
#include "../game_scene.h"
#include "../zones/hand_zone.h"
#include "../zones/pile_zone.h"
#include "../zones/stack_zone.h"
#include "../zones/table_zone.h"
#include "player_actions.h"
#include "player_target.h"

View File

@ -10,10 +10,10 @@
#include "../../game_graphics/board/abstract_graphics_item.h"
#include "../../interface/widgets/menus/tearoff_menu.h"
#include "../interface/deck_loader/loaded_deck.h"
#include "../zones/logic/hand_zone_logic.h"
#include "../zones/logic/pile_zone_logic.h"
#include "../zones/logic/stack_zone_logic.h"
#include "../zones/logic/table_zone_logic.h"
#include "../zones/hand_zone_logic.h"
#include "../zones/pile_zone_logic.h"
#include "../zones/stack_zone_logic.h"
#include "../zones/table_zone_logic.h"
#include "menu/player_menu.h"
#include "player_area.h"
#include "player_event_handler.h"

View File

@ -1,14 +1,14 @@
#include "player_actions.h"
#include "../../game_graphics/zones/hand_zone.h"
#include "../../game_graphics/zones/table_zone.h"
#include "../../interface/widgets/tabs/tab_game.h"
#include "../../interface/widgets/utility/get_text_with_max.h"
#include "../board/card_item.h"
#include "../client/settings/card_counter_settings.h"
#include "../dialogs/dlg_move_top_cards_until.h"
#include "../dialogs/dlg_roll_dice.h"
#include "../zones/hand_zone.h"
#include "../zones/logic/view_zone_logic.h"
#include "../zones/table_zone.h"
#include "../zones/view_zone_logic.h"
#include "card_menu_action_type.h"
#include <libcockatrice/card/database/card_database_manager.h>

View File

@ -1,10 +1,10 @@
#include "player_event_handler.h"
#include "../../game_graphics/zones/view_zone.h"
#include "../../interface/widgets/tabs/tab_game.h"
#include "../board/arrow_item.h"
#include "../board/card_item.h"
#include "../board/card_list.h"
#include "../zones/view_zone.h"
#include "player.h"
#include "player_actions.h"

View File

@ -1,12 +1,12 @@
#include "player_graphics_item.h"
#include "../../game_graphics/zones/hand_zone.h"
#include "../../game_graphics/zones/pile_zone.h"
#include "../../game_graphics/zones/stack_zone.h"
#include "../../game_graphics/zones/table_zone.h"
#include "../../interface/widgets/tabs/tab_game.h"
#include "../board/abstract_card_item.h"
#include "../hand_counter.h"
#include "../zones/hand_zone.h"
#include "../zones/pile_zone.h"
#include "../zones/stack_zone.h"
#include "../zones/table_zone.h"
PlayerGraphicsItem::PlayerGraphicsItem(Player *_player) : player(_player)
{

View File

@ -1,9 +1,9 @@
#include "card_zone_logic.h"
#include "../../board/card_item.h"
#include "../../player/player.h"
#include "../../player/player_actions.h"
#include "../view_zone.h"
#include "../../game_graphics/zones/view_zone.h"
#include "../board/card_item.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "view_zone_logic.h"
#include <QAction>

View File

@ -7,8 +7,8 @@
#ifndef COCKATRICE_CARD_ZONE_LOGIC_H
#define COCKATRICE_CARD_ZONE_LOGIC_H
#include "../../../client/translation.h"
#include "../../board/card_list.h"
#include "../../client/translation.h"
#include "../board/card_list.h"
#include <QLoggingCategory>
#include <QObject>

View File

@ -1,6 +1,6 @@
#include "hand_zone_logic.h"
#include "../../board/card_item.h"
#include "../board/card_item.h"
#include "card_zone_algorithms.h"
HandZoneLogic::HandZoneLogic(Player *_player,

View File

@ -1,6 +1,6 @@
#include "pile_zone_logic.h"
#include "../../board/card_item.h"
#include "../board/card_item.h"
PileZoneLogic::PileZoneLogic(Player *_player,
const QString &_name,

View File

@ -1,6 +1,6 @@
#include "stack_zone_logic.h"
#include "../../board/card_item.h"
#include "../board/card_item.h"
#include "card_zone_algorithms.h"
StackZoneLogic::StackZoneLogic(Player *_player,

View File

@ -1,6 +1,6 @@
#include "table_zone_logic.h"
#include "../../board/card_item.h"
#include "../board/card_item.h"
TableZoneLogic::TableZoneLogic(Player *_player,
const QString &_name,

View File

@ -1,7 +1,7 @@
#include "view_zone_logic.h"
#include "../../../client/settings/cache_settings.h"
#include "../../board/card_item.h"
#include "../../client/settings/cache_settings.h"
#include "../board/card_item.h"
/**
* @param _player the player that the cards are revealed to.

View File

@ -1,6 +1,6 @@
#include "card_zone.h"
#include "../board/card_item.h"
#include "../../game/board/card_item.h"
#include "view_zone.h"
#include <QGraphicsSceneMouseEvent>

View File

@ -7,9 +7,9 @@
#ifndef CARDZONE_H
#define CARDZONE_H
#include "../../game_graphics/board/abstract_graphics_item.h"
#include "../../game_graphics/board/graphics_item_type.h"
#include "logic/card_zone_logic.h"
#include "../../game/zones/card_zone_logic.h"
#include "../board/abstract_graphics_item.h"
#include "../board/graphics_item_type.h"
#include <QLoggingCategory>
#include <QString>

View File

@ -1,11 +1,11 @@
#include "hand_zone.h"
#include "../../client/settings/cache_settings.h"
#include "../../game/board/card_drag_item.h"
#include "../../game/board/card_item.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../interface/theme_manager.h"
#include "../board/card_drag_item.h"
#include "../board/card_item.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include <QPainter>
#include <libcockatrice/protocol/pb/command_move_card.pb.h>

View File

@ -7,7 +7,7 @@
#ifndef HANDZONE_H
#define HANDZONE_H
#include "logic/hand_zone_logic.h"
#include "../../game/zones/hand_zone_logic.h"
#include "select_zone.h"
class HandZone : public SelectZone

View File

@ -1,10 +1,10 @@
#include "pile_zone.h"
#include "../board/card_drag_item.h"
#include "../board/card_item.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "logic/pile_zone_logic.h"
#include "../../game/board/card_drag_item.h"
#include "../../game/board/card_item.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../game/zones/pile_zone_logic.h"
#include "view_zone.h"
#include <QApplication>

View File

@ -7,8 +7,8 @@
#ifndef PILEZONE_H
#define PILEZONE_H
#include "../../game/zones/pile_zone_logic.h"
#include "card_zone.h"
#include "logic/pile_zone_logic.h"
/**
* A CardZone where the cards are in a single pile instead of being laid out.

View File

@ -1,8 +1,8 @@
#include "select_zone.h"
#include "../../client/settings/cache_settings.h"
#include "../board/card_item.h"
#include "../game_scene.h"
#include "../../game/board/card_item.h"
#include "../../game/game_scene.h"
#include <QGraphicsRectItem>
#include <QGraphicsSceneMouseEvent>

View File

@ -1,12 +1,12 @@
#include "stack_zone.h"
#include "../../game/board/card_drag_item.h"
#include "../../game/board/card_item.h"
#include "../../game/card_dimensions.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../game/zones/stack_zone_logic.h"
#include "../../interface/theme_manager.h"
#include "../board/card_drag_item.h"
#include "../board/card_item.h"
#include "../card_dimensions.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "logic/stack_zone_logic.h"
#include <QPainter>
#include <libcockatrice/protocol/pb/command_move_card.pb.h>

View File

@ -7,7 +7,7 @@
#ifndef STACKZONE_H
#define STACKZONE_H
#include "logic/stack_zone_logic.h"
#include "../../game/zones/stack_zone_logic.h"
#include "select_zone.h"
class StackZone : public SelectZone

View File

@ -1,14 +1,14 @@
#include "table_zone.h"
#include "../../client/settings/cache_settings.h"
#include "../../game/board/arrow_item.h"
#include "../../game/board/card_drag_item.h"
#include "../../game/board/card_item.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../game/z_values.h"
#include "../../game/zones/table_zone_logic.h"
#include "../../interface/theme_manager.h"
#include "../board/arrow_item.h"
#include "../board/card_drag_item.h"
#include "../board/card_item.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "../z_values.h"
#include "logic/table_zone_logic.h"
#include <QGraphicsScene>
#include <QPainter>

View File

@ -7,8 +7,8 @@
#ifndef TABLEZONE_H
#define TABLEZONE_H
#include "../board/abstract_card_item.h"
#include "logic/table_zone_logic.h"
#include "../../game/board/abstract_card_item.h"
#include "../../game/zones/table_zone_logic.h"
#include "select_zone.h"
/*

View File

@ -1,10 +1,10 @@
#include "view_zone.h"
#include "../board/card_drag_item.h"
#include "../board/card_item.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "logic/view_zone_logic.h"
#include "../../game/board/card_drag_item.h"
#include "../../game/board/card_item.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../game/zones/view_zone_logic.h"
#include <QBrush>
#include <QDebug>

View File

@ -7,7 +7,7 @@
#ifndef ZONEVIEWERZONE_H
#define ZONEVIEWERZONE_H
#include "logic/view_zone_logic.h"
#include "../../game/zones/view_zone_logic.h"
#include "select_zone.h"
#include <QGraphicsLayoutItem>

View File

@ -2,12 +2,12 @@
#include "../../client/settings/cache_settings.h"
#include "../../filters/syntax_help.h"
#include "../../game/board/card_item.h"
#include "../../game/game_scene.h"
#include "../../game/player/player.h"
#include "../../game/player/player_actions.h"
#include "../../game/z_values.h"
#include "../../interface/pixel_map_generator.h"
#include "../board/card_item.h"
#include "../game_scene.h"
#include "../player/player.h"
#include "../player/player_actions.h"
#include "../z_values.h"
#include "view_zone.h"
#include <QCheckBox>

View File

@ -6,7 +6,7 @@
#ifndef ZONEVIEWWIDGET_H
#define ZONEVIEWWIDGET_H
#include "logic/card_zone_logic.h"
#include "../../game/zones/card_zone_logic.h"
#include <QCheckBox>
#include <QComboBox>

View File

@ -1,6 +1,6 @@
add_executable(card_zone_algorithms_test card_zone_algorithms_test.cpp)
target_include_directories(card_zone_algorithms_test PRIVATE ${CMAKE_SOURCE_DIR}/cockatrice/src/game/zones/logic)
target_include_directories(card_zone_algorithms_test PRIVATE ${CMAKE_SOURCE_DIR}/cockatrice/src/game/zones)
target_link_libraries(
card_zone_algorithms_test