Skip to content

Commit

Permalink
Added setup script.
Browse files Browse the repository at this point in the history
  • Loading branch information
vincentbons committed May 22, 2020
1 parent 8c8bc4f commit da2556c
Show file tree
Hide file tree
Showing 136 changed files with 264 additions and 254 deletions.
11 changes: 5 additions & 6 deletions examples/four_player_game_random_moves.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import random
from typing import Optional

from main.carcassonne_game import CarcassonneGame
from main.carcassonne_game_state import CarcassonneGameState
from main.objects.actions.action import Action
from main.objects.meeple_type import MeepleType
from main.tile_sets.supplementary_rules import SupplementaryRule
from main.tile_sets.tile_sets import TileSet
from wingedsheep.carcassonne.carcassonne_game import CarcassonneGame
from wingedsheep.carcassonne.carcassonne_game_state import CarcassonneGameState
from wingedsheep.carcassonne.objects.actions.action import Action
from wingedsheep.carcassonne.tile_sets.supplementary_rules import SupplementaryRule
from wingedsheep.carcassonne.tile_sets.tile_sets import TileSet


def print_state(carcassonne_game_state: CarcassonneGameState):
Expand Down
13 changes: 6 additions & 7 deletions examples/two_player_game_random_moves.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import random
from typing import Optional

from main.carcassonne_game import CarcassonneGame
from main.carcassonne_game_state import CarcassonneGameState
from main.objects.actions.action import Action
from main.objects.meeple_type import MeepleType
from main.tile_sets.supplementary_rules import SupplementaryRule
from main.tile_sets.tile_sets import TileSet
from wingedsheep.carcassonne.carcassonne_game import CarcassonneGame
from wingedsheep.carcassonne.carcassonne_game_state import CarcassonneGameState
from wingedsheep.carcassonne.objects.actions.action import Action
from wingedsheep.carcassonne.tile_sets.supplementary_rules import SupplementaryRule
from wingedsheep.carcassonne.tile_sets.tile_sets import TileSet


def print_state(carcassonne_game_state: CarcassonneGameState):
Expand Down Expand Up @@ -35,7 +34,7 @@ def print_state(carcassonne_game_state: CarcassonneGameState):
game = CarcassonneGame(
players=2,
tile_sets=[TileSet.BASE, TileSet.THE_RIVER, TileSet.INNS_AND_CATHEDRALS],
supplementary_rules=[SupplementaryRule.ABBOTS]
supplementary_rules=[SupplementaryRule.ABBOTS, SupplementaryRule.FARMERS]
)

while not game.is_finished():
Expand Down
5 changes: 0 additions & 5 deletions main/objects/actions/pass_action.py

This file was deleted.

9 changes: 0 additions & 9 deletions main/objects/actions/tile_action.py

This file was deleted.

Empty file removed resources/__init__.py
Empty file.
13 changes: 13 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from setuptools import setup, find_namespace_packages

setup(name='wingedsheep-carcassonne',
version='1.0.0',
description='Carcassonne implementation',
author='Vincent Bons',
url='https://github.com/wingedsheep/carcassonne',
download_url='https://github.com/wingedsheep/carcassonne',
license='MIT',
install_requires=['numpy>=1.18.1',
'pillow>=7.1.2'],
packages=find_namespace_packages(),
package_data={"": ["*.png", "*.jpg"]})
Empty file removed test/__init__.py
Empty file.
20 changes: 10 additions & 10 deletions test/city_util_test.py → tests/city_util_test.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import unittest

from main.carcassonne_game_state import CarcassonneGameState
from main.tile_sets.base_deck import base_tiles
from main.tile_sets.inns_and_cathedrals_deck import inns_and_cathedrals_tiles
from main.objects.city import City
from main.objects.coordinate import Coordinate
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.meeple_position import MeeplePosition
from main.objects.meeple_type import MeepleType
from main.objects.side import Side
from main.utils.city_util import CityUtil
from src.wingedsheep.carcassonne import CarcassonneGameState
from src.wingedsheep.carcassonne import base_tiles
from src.wingedsheep.carcassonne import inns_and_cathedrals_tiles
from src.wingedsheep.carcassonne.objects.city import City
from src.wingedsheep.carcassonne import Coordinate
from src.wingedsheep.carcassonne import CoordinateWithSide
from src.wingedsheep.carcassonne.objects.meeple_position import MeeplePosition
from src.wingedsheep.carcassonne.objects.meeple_type import MeepleType
from src.wingedsheep.carcassonne.objects.side import Side
from src.wingedsheep.carcassonne.utils import CityUtil


class TestCityUtil(unittest.TestCase):
Expand Down
16 changes: 8 additions & 8 deletions test/meeple_util_test.py → tests/meeple_util_test.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import copy
import unittest

from main.carcassonne_game_state import CarcassonneGameState
from main.tile_sets.base_deck import base_tiles
from main.objects.coordinate import Coordinate
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.meeple_position import MeeplePosition
from main.objects.meeple_type import MeepleType
from main.objects.side import Side
from main.utils.meeple_util import MeepleUtil
from src.wingedsheep.carcassonne import CarcassonneGameState
from src.wingedsheep.carcassonne import base_tiles
from src.wingedsheep.carcassonne import Coordinate
from src.wingedsheep.carcassonne import CoordinateWithSide
from src.wingedsheep.carcassonne.objects.meeple_position import MeeplePosition
from src.wingedsheep.carcassonne.objects.meeple_type import MeepleType
from src.wingedsheep.carcassonne.objects.side import Side
from src.wingedsheep.carcassonne.utils import MeepleUtil


class TestMeepleUtil(unittest.TestCase):
Expand Down
18 changes: 9 additions & 9 deletions test/points_collector_test.py → tests/points_collector_test.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import unittest

from main.carcassonne_game_state import CarcassonneGameState
from main.tile_sets.base_deck import base_tiles
from main.tile_sets.inns_and_cathedrals_deck import inns_and_cathedrals_tiles
from main.objects.coordinate import Coordinate
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.meeple_position import MeeplePosition
from main.objects.meeple_type import MeepleType
from main.objects.side import Side
from main.utils.points_collector import PointsCollector
from src.wingedsheep.carcassonne import CarcassonneGameState
from src.wingedsheep.carcassonne import base_tiles
from src.wingedsheep.carcassonne import inns_and_cathedrals_tiles
from src.wingedsheep.carcassonne import Coordinate
from src.wingedsheep.carcassonne import CoordinateWithSide
from src.wingedsheep.carcassonne.objects.meeple_position import MeeplePosition
from src.wingedsheep.carcassonne.objects.meeple_type import MeepleType
from src.wingedsheep.carcassonne.objects.side import Side
from src.wingedsheep.carcassonne.utils import PointsCollector


class TestPointsCollector(unittest.TestCase):
Expand Down
14 changes: 7 additions & 7 deletions test/road_util_test.py → tests/road_util_test.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import unittest

from main.carcassonne_game_state import CarcassonneGameState
from main.tile_sets.base_deck import base_tiles
from main.objects.coordinate import Coordinate
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.road import Road
from main.objects.side import Side
from main.utils.road_util import RoadUtil
from src.wingedsheep.carcassonne import CarcassonneGameState
from src.wingedsheep.carcassonne import base_tiles
from src.wingedsheep.carcassonne import Coordinate
from src.wingedsheep.carcassonne import CoordinateWithSide
from src.wingedsheep.carcassonne.objects.road import Road
from src.wingedsheep.carcassonne.objects.side import Side
from src.wingedsheep.carcassonne.utils import RoadUtil


class TestRoadUtil(unittest.TestCase):
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from main.carcassonne_game_state import CarcassonneGameState
from main.carcassonne_visualiser import CarcassonneVisualiser
from main.objects.actions.action import Action
from main.tile_sets.supplementary_rules import SupplementaryRule
from main.tile_sets.tile_sets import TileSet
from main.utils.action_util import ActionUtil
from main.utils.state_updater import StateUpdater
from wingedsheep.carcassonne.carcassonne_game_state import CarcassonneGameState
from wingedsheep.carcassonne.carcassonne_visualiser import CarcassonneVisualiser
from wingedsheep.carcassonne.objects.actions.action import Action
from wingedsheep.carcassonne.tile_sets.supplementary_rules import SupplementaryRule
from wingedsheep.carcassonne.tile_sets.tile_sets import TileSet
from wingedsheep.carcassonne.utils.action_util import ActionUtil
from wingedsheep.carcassonne.utils.state_updater import StateUpdater


class CarcassonneGame:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import random
from typing import Optional

from main.objects.actions.tile_action import TileAction
from main.objects.coordinate import Coordinate
from main.objects.game_phase import GamePhase
from main.tile_sets.base_deck import base_tile_counts, base_tiles
from main.tile_sets.inns_and_cathedrals_deck import inns_and_cathedrals_tile_counts, inns_and_cathedrals_tiles
from main.tile_sets.supplementary_rules import SupplementaryRule
from main.tile_sets.the_river_deck import the_river_tiles, the_river_tile_counts
from main.objects.rotation import Rotation
from main.objects.tile import Tile
from main.tile_sets.tile_sets import TileSet
from wingedsheep.carcassonne.objects.actions.tile_action import TileAction
from wingedsheep.carcassonne.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.game_phase import GamePhase
from wingedsheep.carcassonne.objects.rotation import Rotation
from wingedsheep.carcassonne.objects.tile import Tile
from wingedsheep.carcassonne.tile_sets.base_deck import base_tile_counts, base_tiles
from wingedsheep.carcassonne.tile_sets.inns_and_cathedrals_deck import inns_and_cathedrals_tiles, \
inns_and_cathedrals_tile_counts
from wingedsheep.carcassonne.tile_sets.supplementary_rules import SupplementaryRule
from wingedsheep.carcassonne.tile_sets.the_river_deck import the_river_tiles, the_river_tile_counts
from wingedsheep.carcassonne.tile_sets.tile_sets import TileSet


class CarcassonneGameState:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import os
from tkinter import *
from PIL import ImageTk, Image
from main.carcassonne_game_state import CarcassonneGameState
from main.objects.meeple_position import MeeplePosition
from main.objects.meeple_type import MeepleType
from main.objects.side import Side
from main.objects.tile import Tile

import wingedsheep
from wingedsheep.carcassonne.carcassonne_game_state import CarcassonneGameState
from wingedsheep.carcassonne.objects.meeple_position import MeeplePosition
from wingedsheep.carcassonne.objects.meeple_type import MeepleType
from wingedsheep.carcassonne.objects.side import Side
from wingedsheep.carcassonne.objects.tile import Tile


class CarcassonneVisualiser:
Expand Down Expand Up @@ -46,7 +48,7 @@ def __init__(self):
root = Tk()
self.canvas = Canvas(root, width=2300, height=1300, bg='white')
self.canvas.pack(fill='both', expand=True)
self.images_path = os.path.join(os.path.dirname(__file__), '../resources/images')
self.images_path = os.path.join(wingedsheep.__path__[0], 'carcassonne', 'resources', 'images')
self.image_ref = []

def draw_game_state(self, game_state: CarcassonneGameState):
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from main.objects.actions.action import Action
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.meeple_type import MeepleType
from wingedsheep.carcassonne.objects.actions.action import Action
from wingedsheep.carcassonne.objects.coordinate_with_side import CoordinateWithSide
from wingedsheep.carcassonne.objects.meeple_type import MeepleType


class MeepleAction(Action):
Expand Down
5 changes: 5 additions & 0 deletions wingedsheep/carcassonne/objects/actions/pass_action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from wingedsheep.carcassonne.objects.actions.action import Action


class PassAction(Action):
pass
9 changes: 9 additions & 0 deletions wingedsheep/carcassonne/objects/actions/tile_action.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from wingedsheep.carcassonne.objects.actions.action import Action
from wingedsheep.carcassonne.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.tile import Tile


class TileAction(Action):
def __init__(self, tile: Tile, coordinate: Coordinate):
self.tile = tile
self.coordinate = coordinate
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from main.objects.coordinate_with_side import CoordinateWithSide
from wingedsheep.carcassonne.objects.coordinate_with_side import CoordinateWithSide


class City:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import json

from main.objects.side import Side
from wingedsheep.carcassonne.objects.side import Side


class Connection:
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from main.objects.coordinate import Coordinate
from main.objects.farmer_side import FarmerSide
from main.objects.side import Side
from wingedsheep.carcassonne.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.farmer_side import FarmerSide


class CoordinateWithFarmerSide:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from main.objects.coordinate import Coordinate
from main.objects.side import Side
from wingedsheep.carcassonne.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.side import Side


class CoordinateWithSide:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from main.objects.farmer_connection_with_coordinate import FarmerConnectionWithCoordinate
from wingedsheep.carcassonne.objects.farmer_connection_with_coordinate import FarmerConnectionWithCoordinate


class Farm:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import json

from main.objects.farmer_side import FarmerSide
from main.objects.side import Side
from wingedsheep.carcassonne.objects.farmer_side import FarmerSide
from wingedsheep.carcassonne.objects.side import Side


class FarmerConnection:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import json

from main.objects.coordinate import Coordinate
from main.objects.farmer_connection import FarmerConnection
from main.objects.farmer_side import FarmerSide
from main.objects.side import Side
from wingedsheep.carcassonne.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.farmer_connection import FarmerConnection


class FarmerConnectionWithCoordinate:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from enum import Enum

from main.objects.side import Side
from wingedsheep.carcassonne.objects.side import Side


class FarmerSide(Enum):
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from main.objects.coordinate_with_side import CoordinateWithSide
from main.objects.meeple_type import MeepleType
from wingedsheep.carcassonne.objects.coordinate_with_side import CoordinateWithSide
from wingedsheep.carcassonne.objects.meeple_type import MeepleType


class MeeplePosition:
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import json

from main.objects.coordinate import Coordinate
from wingedsheep.carcassonne.objects.coordinate import Coordinate


class PlayingPosition:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from main.objects.coordinate_with_side import CoordinateWithSide
from wingedsheep.carcassonne.objects.coordinate_with_side import CoordinateWithSide


class Road:
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 5 additions & 5 deletions main/objects/tile.py → wingedsheep/carcassonne/objects/tile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from typing import Set
import numpy as np

from main.objects.connection import Connection
from main.objects.farmer_connection import FarmerConnection
from main.objects.side import Side
from main.objects.terrain_type import TerrainType
from main.utils.side_modification_util import SideModificationUtil
from wingedsheep.carcassonne.objects.connection import Connection
from wingedsheep.carcassonne.objects.farmer_connection import FarmerConnection
from wingedsheep.carcassonne.objects.side import Side
from wingedsheep.carcassonne.objects.terrain_type import TerrainType
from wingedsheep.carcassonne.utils.side_modification_util import SideModificationUtil

np.set_printoptions(suppress=True, linewidth=np.nan, threshold=sys.maxsize)

Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import os

from main.objects.connection import Connection
from main.objects.farmer_connection import FarmerConnection
from main.objects.side import Side
from main.objects.tile import Tile
from main.objects.farmer_side import FarmerSide
from wingedsheep.carcassonne.objects.connection import Connection
from wingedsheep.carcassonne.objects.farmer_connection import FarmerConnection
from wingedsheep.carcassonne.objects.side import Side
from wingedsheep.carcassonne.objects.tile import Tile
from wingedsheep.carcassonne.objects.farmer_side import FarmerSide

base_tiles = {
"chapel_with_road": Tile(
Expand Down
Loading

0 comments on commit da2556c

Please sign in to comment.