Оглавление:

Карточная игра Sheepshead с Esp8266: 4 шага
Карточная игра Sheepshead с Esp8266: 4 шага

Видео: Карточная игра Sheepshead с Esp8266: 4 шага

Видео: Карточная игра Sheepshead с Esp8266: 4 шага
Видео: Карточная игра Partie de cartes ( 1897 год ) 2024, Ноябрь
Anonim
Карточная игра Sheepshead с Esp8266
Карточная игра Sheepshead с Esp8266

Sheepshead - карточная игра, в которую мои тети и дяди играли во время семейных посиделок. Это карточная игра с трюком, зародившаяся в Европе. Есть несколько версий, поэтому моя версия может немного отличаться от той, в которую играете вы. В реализованной мной версии вы можете играть с 3, 4 или 5 игроками, 5 - идеальное количество игроков. В игре используются 32 карты из стандартной колоды из 52 карт.

Основные правила можно найти здесь:

Краткое изложение правил игры на 5 игроков; каждому игроку раздается по 6 карт, и две карты сдаются слепым. Игрок с оставшимися дилерами получает первый шанс выбрать блайнд, затем следующий игрок и т. Д., Пока кто-то не выберет блайнд или пока все игроки не сделают выбор в пользу выбора. Если никто не выбирает, игра начинается заново и раздаются новые карты. Тот, кто выбирает блайнд, называется сборщиком. Сборщик выбирает партнера, называя масть: Червы, Трефы или Пики, но в руке у него должна быть карта той же масти. Партнером является игрок, у которого есть туз названной масти. Игроки должны следовать масти первой сыгранной карты, козырная масть. Партнер должен сыграть тузом, когда коллируемая масть становится первой. Сборщик и партнер должны набрать 61 очко, чтобы выиграть игру. Игроки, которые не являются сборщиками или партнерами, образуют команду, и их очки объединяются, чтобы победить их. См. Ссылку на правила выше для подсчета очков.

При игре втроем и вчетвером нет партнера, и раздаются 10 или 8 карт соответственно.

Я не реализовал игру по меньшей мере. Когда ни один игрок не выбирает, игра может продолжаться младшим игроком. Младший победитель - это игрок, взявший хотя бы одну взятку и набравший наименьшее количество очков.

Разработка игры:

Мое вдохновение для этого проекта пришло из желания создать приложение Sheepshead, а также изучить jquery. Я также использовал dragula.js для перетаскивания карточек. Esp8266 переведен в режим AP. Для подключения вам потребуется устройство Wi-Fi, которое может подключаться к сети Sheepshead и перейти на веб-сайт

Это мои первые инструкции, поэтому я буду признателен за любые отзывы. Я постараюсь ответить на ваши вопросы, когда смогу.

Шаг 1: Сборка оборудования

Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования
Сборка оборудования

Требования к оборудованию

Это можно сделать с помощью Wemos D1 Mini или esp8266 - esp-07 или esp-12.

Сборка Esp8266:

  • esp8266 (esp-07 или esp-12)
  • белая монтажная плата для разъемов esp8266 +
  • 6-контактный гнездовой разъем (опция)
  • Регулятор напряжения LM317
  • (2) резистор 10 кОм
  • Резистор 390 Ом
  • Резистор 220 Ом
  • Резистор 20 Ом
  • (2) кнопки мгновенного действия
  • Керамический конденсатор 100n
  • Электролитический конденсатор 10 мкФ
  • Электролитический конденсатор 220 мкФ
  • Диод 1N4002 (опционально)
  • бочкообразный разъем (я использовал боковое крепление и припаял его к 3-контактному штекерному разъему)
  • Коробка проекта
  • Источник питания

Я включил файлы ExpressSCH и ExpressPCB, которые использовал для построения схемы. Как видно из рисунка, я не добавлял кнопки и не использовал разъем J2 (который можно использовать с модулем FTDI232RL для программирования esp8266). Если вы хотите использовать его в качестве программатора esp8266, вам потребуются кнопки и разъем J2. Чтобы прошить программное обеспечение или данные, вам нужно будет перезагрузить устройство (SW1), удерживая его нажатым, одновременно нажимая кнопку (SW2), затем отпуская кнопку (SW1), затем загружайте код.

Перед размещением каких-либо компонентов проверьте схему, проверив каждое соединение. Убедитесь, что регулятор напряжения выдает 3,3 В, и дважды проверьте все соединения. Если вы не уверены, я рекомендую использовать Wemos D1 mini, так как пайка не требуется.

Шаг 2: загрузка программного обеспечения

Загрузка программного обеспечения
Загрузка программного обеспечения

Программное обеспечение

Я включил программное обеспечение для этого проекта. Я дам краткое объяснение каждого класса и того, для чего он используется, но не буду вдаваться в подробности. Эта игра является доказательством того, что карточную игру можно сделать на esp8266. В игре есть несколько проблем, с которыми я еще не справился. Например, когда пользователь входит в систему и теряет соединение, он не выходит из игры и не может повторно подключиться к игре. Единственный способ обойти это - сбросить игру и начать заново. Игра немного медленная и иногда не обновляет карты. Пользователь может обновить браузер, чтобы карточки отображались правильно. Если пользователь сохраняет ссылку на своем домашнем экране (для iPhone), то кнопка обновления недоступна, что делает его невозможным. Иногда бывает сложно перетащить карты в / из штор на маленьких устройствах.

Card.h и Card.ino Класс карты

Этот класс содержит масть карт, ранг, очки и то, какие карты являются козырными.

Deck.h и Deck.ino Класс колоды

Этот класс хранил информацию о колоде карт. У него есть способ перетасовать колоду и получить карты из колоды. Он использует случайное семя для перетасовки колоды.

Hand.h и Hand.ino

Этот класс реализует интерфейс IGame и содержит информацию о руке каждого игрока. Кто такие сборщики, партнеры и дилеры. Здесь указывается, кто сейчас ходит, какова названная масть, какая масть ведущая, какой номер руки, количество игроков, победитель и т. Д.

Player.h и Player.ino Класс игрока

Этот класс содержит информацию об игроке, такую как имя игрока, очки команды, если игрок выбрал или отдал пас, и отображает сообщение для игрока.

IGame.h и IGame.ino Интерфейсный класс IGame

Этот класс содержит классы Deck, Card и Player для управления ходом игры.

Sheepshead.ino

Удерживает функцию настройки и цикла для обслуживания веб-сайта.

файлы login.html и login.js

Эти файлы управляют потоком для страницы входа пользователя на веб-сайт.

файлы sheepshead.html и sheepshead.js

Эти файлы контролируют ход игры овчарки веб-сайта.

Карточные изображения

содержит изображение каждой карты, включая обратную сторону карты.

Вот краткое объяснение загрузки программного обеспечения на esp8266. В сети есть несколько примеров, которые могут объяснить это более подробно. Вот как я загрузил программное обеспечение и данные с помощью программного обеспечения Arduino IDE.

  • Установите программное обеспечение Arduino и файлы плат esp8266, дополнительную информацию см. На
  • При использовании Wemos D1 mini установите размер флэш-памяти 4 МБ (1 МБ SPIFFS). Если вы используете общий esp8266 esp-07 или esp-12, установите размер флэш-памяти на 1 МБ (512 SPIFFS).
  • Возможно, вам потребуется установить некоторые дополнительные библиотеки в программное обеспечение Arduino.
  • Чтобы установить данные SPIFF, перейдите по этой ссылке
  • разархивируйте программное обеспечение Sheepshead и поместите на свой компьютер.
  • Запустите программу Arduino IDE и откройте проект Sheepshead.
  • Установите код Sheepshead на устройство esp8266, нажав кнопку загрузки. Если вы не используете Wemos D1 Mini, вам может потребоваться перевести устройство в режим вспышки, нажав кнопку сброса (SW1), удерживая ее нажатой, одновременно нажимая кнопку (SW2), затем отпустив кнопку (SW1) и загрузив код.
  • Установите данные на устройство esp8266, перейдя в меню инструментов и нажав «ESP8266 Sketch Data Upload». Вам нужно будет выполнить те же действия, что и выше, чтобы перевести устройство в режим вспышки.
  • После загрузки программного обеспечения и данных вы готовы к игре.

Шаг 3. Игра в игру

Игра в игру
Игра в игру
Игра в игру
Игра в игру
Игра в игру
Игра в игру

Для подключения вам потребуется устройство Wi-Fi, которое может подключаться к сети Sheepshead, затем перейдите на веб-сайт

  • Игроки присоединяются, вводя свое имя и нажимая «Присоединиться». Игра предполагает, что у вас будет 5 игроков, в противном случае игрок должен выбрать количество игроков, прежде чем последний игрок присоединится к игре.
  • Когда присоединяется последний игрок, карты раздаются, и игра начинается, когда игрок нажимает кнопку «Старт».
  • Игра не позволяет игроку разыграть недействительную карту или сыграть вне очереди.
  • При щелчке по карточке она увеличивается в размере и становится более заметной. Если щелкнуть второй раз, карта будет разыграна.
  • Имя игрока выделено белыми буквами.
  • У игрока, который будет играть следующим, будет красное поле вокруг его имени и карты.
  • Игра начинается с того, что игрок может выбрать блайнд или пас. Когда игрок выбирает блайнд, он может перетащить карты из блайнда в / из руки. Как только сборщик получит нужные ему карты, он должен выбрать названную масть из выпадающего списка.
  • Игра проверит, что у них есть карта, соответствующая названной масти.
  • Игра начинается, когда первый игрок играет первую карту, каждый игрок играет по одной карте, и отображается победитель руки. Очки подсчитываются и отображаются для каждого игрока / команды.
  • Победитель руки разыгрывает первую карту, и каждый игрок играет по одной карте.
  • Игра продолжается, пока не будут разыграны все карты
  • Определен победитель.
  • Следующий человек становится дилером, и начинается новая игра.

Шаг 4: Заключение

Это моя первая инструкция, и я приветствую ваши отзывы. Как я уже сказал, это доказательство того, что карточную игру можно сделать на устройстве esp8266. У него есть несколько проблем, но в него можно играть. Жду ваших комментариев и предложений.

Рекомендуемые: