Formatting

This commit is contained in:
Lukas Wölfer
2020-02-12 01:04:08 +01:00
parent a8ead54831
commit 8c43ae4eb0
15 changed files with 59 additions and 45 deletions

View File

@@ -1,8 +1,8 @@
"""Contains board class"""
import enum
from typing import Union, List, Dict, Optional, Set, Tuple
from dataclasses import dataclass
import itertools
from dataclasses import dataclass
from typing import Dict, List, Optional, Set, Tuple, Union
class SpecialCard(enum.Enum):

View File

@@ -1,10 +1,11 @@
"""Contains functions to find significant pieces of a solitaire screenshot"""
from typing import Optional, Tuple
from dataclasses import dataclass
import itertools
import numpy
from dataclasses import dataclass
from typing import Optional, Tuple
import cv2
import numpy
@dataclass

View File

@@ -9,7 +9,7 @@ import numpy as np
from ..board import Board, Card, NumberCard, SpecialCard
from . import adjustment, card_finder
from .configuration import Configuration, ButtonState
from .configuration import ButtonState, Configuration
def grouper(

View File

@@ -1,12 +1,14 @@
"""Functions to detect card value"""
from typing import List, Tuple, Optional, Dict
import enum
import itertools
import numpy as np
from typing import Dict, List, Optional, Tuple
import cv2
from .adjustment import Adjustment, get_square
import numpy as np
from ..board import Card, NumberCard, SpecialCard
from .adjustment import Adjustment, get_square
def _extract_squares(

View File

@@ -1,17 +1,18 @@
"""Contains configuration class"""
import zipfile
import json
from typing import List, Tuple, Dict, Union
import io
import dataclasses
from dataclasses import dataclass
import tempfile
import cv2
import enum
import io
import json
import tempfile
import zipfile
from dataclasses import dataclass
from typing import Dict, List, Tuple, Union
import cv2
import numpy as np
from . import adjustment
from . import card_finder
from .. import board
from . import adjustment, card_finder
ADJUSTMENT_FILE_NAME = "adjustment.json"

View File

@@ -1,10 +1,11 @@
import shenzhen_solitaire.solver.board_actions as board_actions
import shenzhen_solitaire.card_detection.configuration as configuration
import shenzhen_solitaire.card_detection.adjustment as adjustment
import shenzhen_solitaire.board as board
from typing import List, Tuple
import pyautogui
import time
from typing import List, Tuple
import pyautogui
import shenzhen_solitaire.board as board
import shenzhen_solitaire.card_detection.adjustment as adjustment
import shenzhen_solitaire.card_detection.configuration as configuration
import shenzhen_solitaire.solver.board_actions as board_actions
def drag(

View File

@@ -1,6 +1,7 @@
"""Contains actions that can be used on the board"""
from typing import List, Tuple, Optional
from dataclasses import dataclass
from typing import List, Optional, Tuple
from .. import board

View File

@@ -1,8 +1,9 @@
"""Contains function to iterate different kinds of possible actions"""
import pdb
from typing import Iterator, List, Tuple
from .. import board
from . import board_actions
import pdb
def possible_huakill_action(
@@ -124,6 +125,7 @@ def possible_goal_move_actions(
]
top_cards = field_cards + bunker_cards
result: List[board_actions.GoalAction] = []
for source, index, card in top_cards:
if not (card.number == search_board.getGoal(card.suit) + 1):
continue
@@ -143,6 +145,9 @@ def possible_goal_move_actions(
)
break
result = sorted(result, key=lambda x: not x.obvious)
yield from iter(result)
def _can_stack(bottom: board.Card, top: board.Card) -> bool:
if not isinstance(bottom, board.NumberCard):

View File

@@ -1,9 +1,12 @@
"""Contains solver for solitaire"""
from typing import List, Iterator, Optional
import typing
from typing import Iterator, List, Optional
from ..board import Board
from . import board_actions
from .board_actions import (DragonKillAction, GoalAction, HuaKillAction,
MoveAction)
from .board_possibilities import possible_actions
from .board_actions import MoveAction, GoalAction, HuaKillAction, DragonKillAction
class ActionStack: