#!/bin/bash

# 运行Number Wall游戏生成器
# 参数说明:
# --num_of_data: 要生成的拼图数量
# --n_min: 最小网格大小
# --n_max: 最大网格大小
# --number_rate_min: 最小数字填充率 (0.0-1.0)
# --number_rate_max: 最大数字填充率 (0.0-1.0)
# --max_attempts: 每个拼图的最大尝试次数

# 默认参数值
NUM_OF_DATA=1000
N_MIN=3
N_MAX=5
NUMBER_RATE_MIN=0.15
NUMBER_RATE_MAX=0.25
MAX_ATTEMPTS=50000

# 解析命令行参数
while [[ $# -gt 0 ]]; do
  case $1 in
    --num_of_data)
      NUM_OF_DATA="$2"
      shift 2
      ;;
    --n_min)
      N_MIN="$2"
      shift 2
      ;;
    --n_max)
      N_MAX="$2"
      shift 2
      ;;
    --number_rate_min)
      NUMBER_RATE_MIN="$2"
      shift 2
      ;;
    --number_rate_max)
      NUMBER_RATE_MAX="$2"
      shift 2
      ;;
    --max_attempts)
      MAX_ATTEMPTS="$2"
      shift 2
      ;;
    *)
      echo "未知参数: $1"
      exit 1
      ;;
  esac
done

echo "生成 Number Wall 拼图，参数："
echo "数量: $NUM_OF_DATA"
echo "网格大小范围: $N_MIN-$N_MAX"
echo "数字填充率范围: $NUMBER_RATE_MIN-$NUMBER_RATE_MAX"
echo "最大尝试次数: $MAX_ATTEMPTS"

# 运行生成器
python3 -m games.tasks.number_wall.scripts.number_wall \
  --num_of_data $NUM_OF_DATA \
  --n_min $N_MIN \
  --n_max $N_MAX \
  --number_rate_min $NUMBER_RATE_MIN \
  --number_rate_max $NUMBER_RATE_MAX \
  --max_attempts $MAX_ATTEMPTS