Example #1
0
    def test_one_line_string_to_34_array(self):
        initial_string = '789m456p555s11222z'
        tiles = TilesConverter.one_line_string_to_34_array(initial_string)
        self.assertEqual(len(tiles), 34)

        tiles = TilesConverter.to_136_array(tiles)
        new_string = TilesConverter.to_one_line_string(tiles)
        self.assertEqual(initial_string, new_string)
Example #2
0
def shanten():
    shanten = Shanten()
    req = flask.request.get_json()

    try:
        tiles = TilesConverter.one_line_string_to_34_array(req["hands"])
    except KeyError:
        return flask.jsonify({"error": "hands required"}), 400

    result = shanten.calculate_shanten(tiles)

    if result == -2:
        return flask.jsonify({"error": "hands over 14 tiles"}), 400

    return flask.jsonify({"shanten": result, "error": None})
Example #3
0
def shanten_calculator(tiles):
    shanten = Shanten()
    tiles = TilesConverter.one_line_string_to_34_array(str(tiles),
                                                       has_aka_dora=True)
    result = shanten.calculate_shanten(tiles)
    return result