Made it work

This commit is contained in:
Lukas Wölfer
2020-02-12 00:50:31 +01:00
parent 37cb35c90e
commit d752ffb24c
25 changed files with 411 additions and 128 deletions

View File

@@ -2,7 +2,12 @@
import unittest
from shenzhen_solitaire.board import NumberCard, Position
from shenzhen_solitaire.solver.board_actions import MoveAction, BunkerizeAction, GoalAction, HuaKillAction
from shenzhen_solitaire.solver.board_actions import (
MoveAction,
BunkerizeAction,
GoalAction,
HuaKillAction,
)
from shenzhen_solitaire.solver import board_possibilities
from .boards import TEST_BOARD
@@ -17,53 +22,63 @@ class ChainTest(unittest.TestCase):
sequence = [
MoveAction(
cards=[
NumberCard(
suit=NumberCard.Suit.Red,
number=7),
NumberCard(
suit=NumberCard.Suit.Green,
number=6)],
NumberCard(suit=NumberCard.Suit.Red, number=7),
NumberCard(suit=NumberCard.Suit.Green, number=6),
],
source_id=3,
destination_id=7),
source_row_index=3,
destination_id=7,
destination_row_index=5,
),
BunkerizeAction(
card=NumberCard(
suit=NumberCard.Suit.Red,
number=6),
card=NumberCard(suit=NumberCard.Suit.Red, number=6),
bunker_id=0,
field_id=2,
to_bunker=True),
field_row_index=4,
to_bunker=True,
),
GoalAction(
card=NumberCard(
suit=NumberCard.Suit.Green,
number=1),
card=NumberCard(suit=NumberCard.Suit.Green, number=1),
source_id=2,
source_position=Position.Field),
source_row_index=3,
source_position=Position.Field,
obvious=True,
goal_id=0,
),
MoveAction(
cards=[NumberCard(suit=NumberCard.Suit.Red, number=4)],
source_id=2,
source_row_index=2,
destination_id=5,
destination_row_index=5,
),
GoalAction(
card=NumberCard(suit=NumberCard.Suit.Red, number=1),
source_id=2,
source_row_index=1,
source_position=Position.Field,
obvious=True,
goal_id=1,
),
HuaKillAction(source_field_id=2, source_field_row_index=0),
MoveAction(
cards=[
NumberCard(
suit=NumberCard.Suit.Red,
number=4)],
source_id=2,
destination_id=5),
GoalAction(
card=NumberCard(
suit=NumberCard.Suit.Red,
number=1),
source_id=2,
source_position=Position.Field),
HuaKillAction(source_field_id=2),
MoveAction(
cards=[
NumberCard(
suit=NumberCard.Suit.Black, number=9),
NumberCard(suit=NumberCard.Suit.Red, number=8)],
NumberCard(suit=NumberCard.Suit.Black, number=9),
NumberCard(suit=NumberCard.Suit.Red, number=8),
],
source_id=6,
destination_id=2),
source_row_index=3,
destination_id=2,
destination_row_index=0,
),
GoalAction(
card=NumberCard(
suit=NumberCard.Suit.Green, number=2),
card=NumberCard(suit=NumberCard.Suit.Green, number=2),
source_id=6,
source_position=Position.Field)
source_row_index=2,
source_position=Position.Field,
obvious=False,
goal_id=0,
),
]
for action in sequence:
step = list(board_possibilities.possible_actions(TEST_BOARD))