Formatting
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""Contains the SolverTest class"""
|
||||
import unittest
|
||||
import copy
|
||||
import unittest
|
||||
|
||||
from shenzhen_solitaire.solver import solver
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import numpy as np
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
import shenzhen_solitaire.card_detection.configuration as configuration
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user