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:

View File

@@ -1,5 +1,5 @@
"""Contains an example board to run tests on"""
from shenzhen_solitaire.board import NumberCard, SpecialCard, Board
from shenzhen_solitaire.board import Board, NumberCard, SpecialCard
Suit = NumberCard.Suit

View File

@@ -2,13 +2,11 @@
import unittest
from shenzhen_solitaire.board import NumberCard, Position
from shenzhen_solitaire.solver.board_actions import (
MoveAction,
BunkerizeAction,
GoalAction,
HuaKillAction,
)
from shenzhen_solitaire.solver import board_possibilities
from shenzhen_solitaire.solver.board_actions import (BunkerizeAction,
GoalAction, HuaKillAction,
MoveAction)
from .boards import TEST_BOARD

View File

@@ -2,7 +2,7 @@
import copy
import unittest
from typing import List, Tuple, Union, Optional
from typing import List, Optional, Tuple, Union
import cv2
import numpy as np

View File

@@ -1,6 +1,6 @@
"""Contains the SolverTest class"""
import unittest
import copy
import unittest
from shenzhen_solitaire.solver import solver

View File

@@ -1,14 +1,15 @@
import pyautogui
import cv2
import numpy as np
import tempfile
import time
from pathlib import Path
from shenzhen_solitaire.card_detection.board_parser import parse_board
import cv2
import numpy as np
import pyautogui
import shenzhen_solitaire.card_detection.configuration as configuration
import shenzhen_solitaire.solver.solver as solver
import tempfile
import shenzhen_solitaire.clicker.main as clicker
import time
import shenzhen_solitaire.solver.solver as solver
from shenzhen_solitaire.card_detection.board_parser import parse_board
OFFSET = (0, 0)
SIZE = (2560, 1440)

View File

@@ -1,5 +1,6 @@
import numpy as np
import cv2
import numpy as np
import shenzhen_solitaire.card_detection.configuration as configuration