সুচিপত্র:

Esp8266: 4 ধাপ সহ Sheepshead কার্ড গেম
Esp8266: 4 ধাপ সহ Sheepshead কার্ড গেম

ভিডিও: Esp8266: 4 ধাপ সহ Sheepshead কার্ড গেম

ভিডিও: Esp8266: 4 ধাপ সহ Sheepshead কার্ড গেম
ভিডিও: #4 Simple Game on Arduino | Esp8266 + OLED + push button 2024, জুলাই
Anonim
Esp8266 সহ Sheepshead কার্ড গেম
Esp8266 সহ Sheepshead কার্ড গেম

Sheepshead একটি কার্ড খেলা আমার চাচী এবং চাচারা পারিবারিক সমাবেশের সময় খেলতেন। এটি একটি কৌশল গ্রহণ কার্ড খেলা ইউরোপে উদ্ভূত। বেশ কয়েকটি সংস্করণ রয়েছে তাই আমার সংস্করণটি আপনি যা খেলেন তার চেয়ে কিছুটা আলাদা হতে পারে। আমি যে সংস্করণটি প্রয়োগ করেছি তাতে আপনি 3, 4 বা 5 খেলোয়াড়ের সাথে খেলতে পারেন, 5 জন খেলোয়াড়ের আদর্শ সংখ্যা। গেমটি একটি স্ট্যান্ডার্ড 52 কার্ড ডেক থেকে 32 টি কার্ড ব্যবহার করে।

প্রাথমিক নিয়মগুলি এখানে পাওয়া যাবে:

একটি 5 খেলোয়াড় খেলার জন্য নিয়ম একটি সংক্ষিপ্ত সারসংক্ষেপ; প্রতিটি খেলোয়াড়কে cards টি কার্ড এবং দুইটি কার্ড অন্ধদেরকে দেওয়া হয়। ডিলারদের ছেড়ে যাওয়া খেলোয়াড়কে প্রথমে অন্ধকে বেছে নেওয়ার সুযোগ দেওয়া হয়, তারপর পরবর্তী খেলোয়াড় ইত্যাদি যতক্ষণ না কেউ অন্ধকে বেছে নেয় বা যতক্ষণ না সমস্ত খেলোয়াড়দের বেছে নেওয়ার পরিবর্তন হয়। যদি কেউ বাছাই না করে খেলা শুরু হয় এবং নতুন কার্ডগুলি মোকাবেলা করা হয়। যে ব্যক্তি অন্ধকে বাছাই করে তাকে পিকার বলা হয়। বাছাইকারী একটি মামলা, হার্টস, ক্লাব বা স্পেডস কল করে একটি অংশীদার নির্বাচন করে কিন্তু তার হাতে একই স্যুটের কার্ড থাকতে হবে। যে খেলোয়াড়টির নাম বলা স্যুটটির Ace আছে সে সঙ্গী। খেলোয়াড়দের অবশ্যই খেলার প্রথম কার্ডের স্যুট অনুসরণ করতে হবে, ট্রাম্প একটি স্যুট। প্রথমবারের মতো যখন স্যুটটি সিসা হয় তখন সঙ্গীকে অবশ্যই এস খেলতে হবে। গেমটি জিততে বাছাইকারী এবং সঙ্গীকে অবশ্যই 61 পয়েন্ট পেতে হবে। যে খেলোয়াড়রা বাছাইকারী বা অংশীদার নয় তারা একটি দল গঠন করে এবং তাদের পয়েন্টগুলি তাদের পরাজিত করার জন্য একত্রিত হয়। স্কোরিং এর জন্য উপরের নিয়ম লিঙ্ক দেখুন।

3 এবং 4 প্লেয়ার গেমের জন্য কোন অংশীদার নেই এবং যথাক্রমে 10 বা 8 কার্ডগুলি মোকাবেলা করা হয়।

আমি লেস্টারের খেলা বাস্তবায়ন করিনি। যখন কোন খেলোয়াড় বাছাই করে না খেলোয়াড় লেস্টার দ্বারা খেলা চালিয়ে যেতে পারে। লেস্টার বিজয়ী হলেন সেই খেলোয়াড় যিনি কমপক্ষে একটি কৌশল গ্রহণ করেন এবং সর্বনিম্ন সংখ্যক পয়েন্ট অর্জন করেন।

খেলার প্রোগ্রাম উন্নত করা:

এই প্রকল্পের জন্য আমার অনুপ্রেরণা একটি Sheepshead অ্যাপ্লিকেশন তৈরি এবং jquery শেখার ইচ্ছা থেকে এসেছে। আমি ড্রাগুলা.জেএস ব্যবহার করেছি কার্ডগুলি ড্র্যাগ এবং ড্রপ করতে সাহায্য করার জন্য। Esp8266 এপি মোডে রাখা হয়েছে। সংযোগ করার জন্য, আপনার একটি ওয়াইফাই ডিভাইস প্রয়োজন যা "Sheepshead" নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে পারে এবং https://191.168.1.1 ওয়েব সাইটে যেতে পারে।

এটি আমার প্রথম নির্দেশাবলী তাই আমি কোন প্রতিক্রিয়া প্রশংসা করব। আমি যখন পারব আপনার প্রশ্নের উত্তর দেওয়ার চেষ্টা করবো।

ধাপ 1: হার্ডওয়্যার তৈরি করা

হার্ডওয়্যার নির্মাণ
হার্ডওয়্যার নির্মাণ
হার্ডওয়্যার নির্মাণ
হার্ডওয়্যার নির্মাণ
হার্ডওয়্যার নির্মাণ
হার্ডওয়্যার নির্মাণ

হার্ডওয়্যারের প্রয়োজনীয়তা

এটি একটি Wemos D1 মিনি বা একটি esp8266-esp-07 বা esp-12 দিয়ে তৈরি করা যেতে পারে।

Esp8266 বিল্ড:

  • esp8266 (esp-07 বা esp-12)
  • esp8266 + সংযোগকারীগুলির জন্য সাদা মাউন্ট বোর্ড
  • 6-পিন মহিলা সংযোগকারী (alচ্ছিক)
  • LM317 ভোল্টেজ নিয়ন্ত্রক
  • (2) 10K ওহম প্রতিরোধক
  • 390 ওহম প্রতিরোধক
  • 220 ওহম প্রতিরোধক
  • 20 ওহম প্রতিরোধক
  • (2) ক্ষণস্থায়ী পুশ বোতাম
  • 100n সিরামিক ক্যাপাসিটর
  • 10uF ইলেক্ট্রোলাইটিক ক্যাপাসিটর
  • 220uF ইলেক্ট্রোলাইটিক ক্যাপাসিটর
  • 1N4002 ডায়োড (alচ্ছিক)
  • ব্যারেল সংযোগকারী (আমি একটি সাইড মাউন্ট ব্যবহার করেছি এবং একটি 3 পিন পুরুষ সংযোগকারীকে বিক্রি করেছি)
  • প্রকল্প বাক্স
  • বিদ্যুৎ সরবরাহ

আমি সার্কিট তৈরি করতে ব্যবহৃত ExpressSCH এবং ExpressPCB ফাইলগুলি অন্তর্ভুক্ত করেছি। আপনি ছবি থেকে দেখতে পাচ্ছেন আমি বোতাম যোগ করিনি বা J2 সংযোগকারী ব্যবহার করিনি (যা esp8266 প্রোগ্রাম করার জন্য FTDI232RL মডিউল ব্যবহার করা যেতে পারে)। আপনি যদি এটি একটি esp8266 প্রোগ্রামার হিসাবে ব্যবহার করতে চান তবে আপনার বোতাম এবং J2 সংযোগকারী প্রয়োজন হবে। সফটওয়্যার বা ডেটা ফ্ল্যাশ করার জন্য আপনাকে ডিভাইসটি পুনরায় সেট করতে হবে (SW1) (SW2) বোতাম টিপে এটি টিপুন, তারপর (SW1) বোতামটি ছেড়ে দিলে কোডটি আপলোড করুন।

কোনো কম্পোনেন্ট রাখার আগে প্রতিটি সংযোগ পরীক্ষা করে সার্কিট যাচাই করুন। যাচাই করুন ভোল্টেজ রেগুলেটর 3.3 ভোল্ট আউটপুট করছে এবং সমস্ত সংযোগ দুবার পরীক্ষা করুন। যদি আপনি নিশ্চিত না হন তবে আমি একটি Wemos D1 মিনি ব্যবহার করার সুপারিশ করি কারণ কোন সোল্ডারিংয়ের প্রয়োজন নেই।

ধাপ 2: সফটওয়্যার লোড হচ্ছে

সফটওয়্যার লোড হচ্ছে
সফটওয়্যার লোড হচ্ছে

সফটওয়্যার

আমি এই প্রকল্পের জন্য সফ্টওয়্যার অন্তর্ভুক্ত করেছি। আমি প্রতিটি শ্রেণীর একটি সংক্ষিপ্ত ব্যাখ্যা দেব এবং এটি কি জন্য ব্যবহার করা হয় কিন্তু আমি বিস্তারিত যেতে যাচ্ছি না। এই গেমটি ধারণার প্রমাণ যে একটি esp8266 এ একটি কার্ড গেম তৈরি করা যায়। গেমটিতে কয়েকটি সমস্যা রয়েছে যা আমি এখনও কাজ করি নি। উদাহরণস্বরূপ যখন একজন ব্যবহারকারী লগইন করে এবং সংযোগ হারায় তখন তারা গেম থেকে মুক্তি পায় না এবং গেমটির সাথে পুনরায় সংযোগ করতে পারে না। এর চারপাশে একমাত্র উপায় হল গেমটি পুনরায় সেট করা এবং আবার শুরু করা। গেমটি কিছুটা ধীর এবং কখনও কখনও কার্ডগুলি রিফ্রেশ করে না। ব্যবহারকারী ব্রাউজারটি রিফ্রেশ করতে পারে যা কার্ডগুলি সঠিকভাবে প্রদর্শন করবে। যদি ব্যবহারকারী তাদের হোম স্ক্রিনে (আইফোনের জন্য) লিঙ্কটি সংরক্ষণ করে তবে রিফ্রেশ বোতামটি পাওয়া যায় না যার ফলে রিফ্রেশ করা অসম্ভব। কখনও কখনও ছোট ডিভাইসে অন্ধদের থেকে কার্ডগুলি টেনে আনতে বা ড্রপ করা কঠিন।

Card.h এবং Card.ino কার্ড ক্লাস

এই ক্লাসে কার্ড স্যুট, র‍্যাঙ্ক, পয়েন্ট এবং কোন কার্ডগুলো ট্রাম্প।

Deck.h এবং Deck.ino ডেক ক্লাস

এই ক্লাসটি কার্ডের ডেকের তথ্য ধরে রেখেছিল। এটিতে ডেকটি এলোমেলো করার এবং ডেক থেকে কার্ড পাওয়ার পদ্ধতি রয়েছে। এটি ডেকটি এলোমেলো করার জন্য একটি এলোমেলো বীজ ব্যবহার করে

Hand.h এবং Hand.ino

এই ক্লাসটি IGame ইন্টারফেস প্রয়োগ করে এবং প্রতিটি খেলোয়াড়ের হাতে তথ্য রাখে। পিকার, পার্টনার এবং ডিলার কারা। এটা ধরে রাখে কার পালা, কি বলা হয় স্যুট, কি ই ই লিড স্যুট, কি হাতের সংখ্যা, খেলোয়াড়দের সংখ্যা, কে বিজয়ী ইত্যাদি।

Player.h এবং Player.ino প্লেয়ার ক্লাস

এই শ্রেণীর খেলোয়াড়ের তথ্য, যেমন খেলোয়াড়ের নাম, দলের পয়েন্ট, যদি খেলোয়াড় বাছাই বা পাস করে এবং খেলোয়াড়কে বার্তা প্রদর্শন করে।

IGame.h এবং IGame.ino IGame ইন্টারফেস ক্লাস।

এই ক্লাসটি গেমের প্রবাহ নিয়ন্ত্রণের জন্য ডেক, কার্ড এবং প্লেয়ার ক্লাস ধারণ করে।

Sheepshead.ino

ওয়েব সাইট পরিবেশন করার জন্য সেটআপ এবং লুপ ফাংশন ধরে রাখে।

login.html এবং login.js ফাইল

এই ফাইলগুলি ব্যবহারকারীর লগইন ওয়েব সাইট পৃষ্ঠার জন্য প্রবাহ নিয়ন্ত্রণ করে

sheepshead.html এবং sheepshead.js ফাইল

এই ফাইলগুলি ওয়েব সাইট শেপশেড গেমের প্রবাহ নিয়ন্ত্রণ করে।

কার্ডের ছবি

কার্ডের পিছন সহ প্রতিটি কার্ডের ছবি ধারণ করে।

এখানে esp8266 এ একটি সংক্ষিপ্ত ব্যাখ্যা লোডিং সফ্টওয়্যার রয়েছে। ওয়েবে বেশ কয়েকটি উদাহরণ রয়েছে যা এটিকে আরও বিশদে ব্যাখ্যা করতে পারে। এইভাবে আমি Arduino IDE সফটওয়্যার ব্যবহার করে সফটওয়্যার এবং ডেটা লোড করেছি।

  • Arduino সফটওয়্যার এবং esp8266 বোর্ড ফাইল ইনস্টল করুন, আরও তথ্যের জন্য https://github.com/esp8266/Arduino দেখুন।
  • Wemos D1 মিনি ব্যবহার করলে, ফ্ল্যাশ সাইজ 4M (1M SPIFFS) সেট করুন। যদি জেনেরিক esp8266 esp-07 বা esp-12 ব্যবহার করেন, তাহলে ফ্ল্যাশ সাইজ 1M (512 SPIFFS) সেট করুন।
  • আপনাকে Arduino সফটওয়্যারে কিছু অতিরিক্ত লাইব্রেরি ইনস্টল করতে হতে পারে।
  • SPIFF ডেটা ইনস্টল করতে এই লিঙ্কটি অনুসরণ করুন
  • Sheepshead সফটওয়্যারটি আনজিপ করুন এবং আপনার কম্পিউটারে রাখুন।
  • Arduino IDE সফটওয়্যারটি শুরু করুন এবং Sheepshead প্রকল্পটি খুলুন
  • আপলোড বাটনে ক্লিক করে esp8266 ডিভাইসে Sheepshead কোডটি ইনস্টল করুন। আপনি যদি Wemos D1 Mini ব্যবহার না করে থাকেন তাহলে রিসেট বাটন (SW1) ক্লিক করে ডিভাইসটিকে ফ্ল্যাশ মোডে রাখার প্রয়োজন হতে পারে (SW2) বোতাম টিপে এটিকে চেপে রাখুন, তারপর (SW1) বোতামটি ছেড়ে দিন তারপর কোডটি আপলোড করুন।
  • মেনুতে সরঞ্জামগুলিতে গিয়ে "ESP8266 স্কেচ ডেটা আপলোড" ক্লিক করে esp8266 ডিভাইসে ডেটা ইনস্টল করুন। ডিভাইসটিকে ফ্ল্যাশ মোডে রাখার জন্য আপনাকে উপরের মতো একই ধাপ অনুসরণ করতে হবে।
  • একবার সফ্টওয়্যার এবং ডেটা লোড হয়ে গেলে আপনি গেমটি খেলতে প্রস্তুত।

ধাপ 3: গেমটি বাজানো

খেলাটি খেলিতেছি
খেলাটি খেলিতেছি
খেলাটি খেলিতেছি
খেলাটি খেলিতেছি
খেলাটি খেলিতেছি
খেলাটি খেলিতেছি

সংযোগের জন্য আপনার একটি ওয়াইফাই ডিভাইস প্রয়োজন যা "শেপশেড" নেটওয়ার্কের সাথে সংযুক্ত হতে পারে তারপর https://191.168.1.1 ওয়েব সাইটে যান।

  • খেলোয়াড়রা তাদের নাম লিখে যোগদান ক্লিক করে যোগদান করে। গেমটি ধরে নেয় যে আপনার 5 জন খেলোয়াড় থাকবে, যদি না হয় তবে একজন খেলোয়াড়কে খেলোয়াড়ের সংখ্যা নির্বাচন করতে হবে শেষ খেলোয়াড়টি গেমটিতে যোগ দেওয়ার আগে।
  • একবার শেষ খেলোয়াড় যোগদান করলে কার্ডগুলি শেষ হয়ে যায় এবং খেলোয়াড় স্টার্ট বোতামে ক্লিক করলে খেলা শুরু হয়।
  • গেমটি কোনো খেলোয়াড়কে অবৈধ কার্ড খেলতে দেবে না বা আউট অফ টার্ন খেলতে দেবে না।
  • যখন একটি কার্ড ক্লিক করা হয় তখন এটি আকারে বৃদ্ধি পাবে যাতে আরো দৃশ্যমান হয়। দ্বিতীয়বার ক্লিক করলে কার্ড খেলা হবে।
  • খেলোয়াড়দের নাম সাদা অক্ষর দিয়ে হাইলাইট করা হয়।
  • যে খেলোয়াড়টি পরবর্তী খেলতে হবে তার নাম এবং কার্ডের চারপাশে একটি লাল বাক্স থাকবে।
  • একজন খেলোয়াড়কে অন্ধ বা পাস করার অনুমতি দিয়ে খেলাটি শুরু হয়। যখন একজন খেলোয়াড় অন্ধকে বেছে নেয় তখন তারা অন্ধদের থেকে/সেখানে থেকে কার্ডগুলি টেনে আনতে এবং ফেলে দিতে পারে। একবার বাছাইকারীর হাতে কার্ড থাকলে তাদের অবশ্যই ড্রপ ডাউন থেকে একটি নামক মামলা বেছে নিতে হবে।
  • গেমটি যাচাই করবে যে তাদের কাছে স্যুটের জন্য উপযুক্ত কার্ড রয়েছে।
  • প্রথম খেলোয়াড় প্রথম কার্ড খেলে খেলা শুরু হয়, প্রতিটি খেলোয়াড় একটি কার্ড খেলে এবং হাতের বিজয়ী প্রদর্শিত হয়। পয়েন্ট গণনা করা হয় এবং প্রতিটি খেলোয়াড়/দলের জন্য প্রদর্শিত হয়।
  • হাতের বিজয়ী প্রথম কার্ড খেলে এবং প্রতিটি খেলোয়াড় একটি কার্ড খেলে।
  • যতক্ষণ না সব কার্ড খেলা হয় ততক্ষণ খেলা চলতে থাকে
  • একজন বিজয়ী নির্ধারিত হয়।
  • পরবর্তী ব্যক্তি ডিলার হয় এবং একটি নতুন খেলা শুরু হয়।

ধাপ 4: উপসংহার

এটি আমার প্রথম নির্দেশযোগ্য এবং আমি আপনার মতামতকে স্বাগত জানাই। যেমনটি আমি বলেছি এটি ধারণার প্রমাণ যে একটি esp8266 ডিভাইসে একটি কার্ড গেম তৈরি করা যেতে পারে। এটিতে কয়েকটি সমস্যা রয়েছে তবে এটি বাজানো যায়। আমি আপনার মন্তব্য এবং পরামর্শের জন্য উন্মুখ।

প্রস্তাবিত: