{
  "format": "rubrick-lesson",
  "formatVersion": 1,
  "exportedAt": "2026-11-06T20:21:11.672Z",
  "source": {
    "lessonId": "00000000-0000-4000-8001-2a556a211cb2",
    "courseId": "00000000-0000-4000-8000-1193e3f22a29",
    "courseTitle": "Первые шаги",
    "ordering": 6,
    "updatedAt": "2026-09-27T10:47:11.667886+00:00"
  },
  "lessonTask": null,
  "lessonTaskSchemaVersion": null,
  "lesson": {
    "schemaVersion": 3,
    "id": "first-steps-06-sumo",
    "courseId": "first-steps",
    "order": 6,
    "title": "Робосумо",
    "summary": "Создадим робота-бойца и узнаем, чей робот получился сильнее",
    "duration": 45,
    "mode": "blocks",
    "attachments": [],
    "sections": [
      {
        "kind": "intro",
        "body": "Создадим робота-бойца и узнаем, чей робот получился сильнее\n\n### Чему научишься\n- Доработать платформу под задачу\n- Написать программу поиска и толкания\n- Провести поединок и разобрать, что решило исход\n\n### Новое\n- Механика решает не меньше программы: масса, сцепление, форма отвала\n- Стратегия — это тоже программа: искать, толкать, не выехать самому\n- Испытание проверяет и сборку, и код сразу",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "task",
        "body": "Собрать по инструкции базовую платформу и дооснастить её необходимыми деталями для того, чтобы перебороть соперника на поле.\n\n### Результат\n- Робот сам находит соперника и толкает его\n- Робот не выезжает за круг первым\n- Ты можешь объяснить, что в твоей сборке сделано ради победы",
        "attachments": [],
        "steps": [
          {
            "id": "s1",
            "title": "Дооснасти платформу",
            "body": "Добавь отвал спереди и опусти вес пониже.",
            "attachments": []
          },
          {
            "id": "s2",
            "title": "Поиск",
            "body": "Робот крутится на месте, пока не окажется лицом к сопернику.",
            "attachments": []
          },
          {
            "id": "s3",
            "title": "Толчок",
            "body": "Едет вперёд на полной скорости, пока соперник не вытолкнут.",
            "attachments": []
          },
          {
            "id": "s4",
            "title": "Поединок",
            "body": "Проведи бой. После него разбери с командой, что решило исход — сборка или программа.",
            "attachments": []
          }
        ],
        "hints": [
          "Проигрываешь? Смотри не на код, а на сцепление и высоту центра тяжести — в сумо чаще выигрывает механика."
        ]
      },
      {
        "kind": "assembly",
        "body": "### Понадобится\n- Ноутбук с приложением ученика\n- Два настоящих робота — свой и соперника\n- Круглое поле: круг диаметром около метра\n\nБазовая платформа из прошлых уроков. Дооснасти её: отвал спереди, чтобы поддевать соперника, и вес пониже — высокий робот легко опрокинуть. Колёса должны хорошо держать пол.",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "connection",
        "body": "",
        "attachments": [],
        "steps": []
      },
      {
        "kind": "example",
        "body": "### Что должно получиться\n- Поединок проводится на настоящих роботах: столкновение виртуальный робот не моделирует",
        "attachments": [],
        "steps": [],
        "program": {
          "mode": "blocks",
          "python": "# Левое колесо — разъём D (1), правое — C (2).\nrobot.configure_drive(wheel_diameter_mm=43.2, track_width_mm=120, left_motor=1, right_motor=2)\n\nrobot.screen_text(\"Сумо\")\nrobot.face(\"wow\")\n\n# Поиск: крутимся понемногу, пока не увидим соперника.\nfor попытка in range(12):\n    robot.turn_right(30)\n    robot.wait(0.2)\n\n# Толчок: вперёд и держим.\nrobot.forward_cm(40, speed=100)\nrobot.stop()\n"
        }
      },
      {
        "kind": "next",
        "body": "",
        "attachments": [],
        "steps": []
      }
    ],
    "category": "Проект",
    "colour": "#FFF200"
  }
}