আমি আমার কার্ড গেমের জন্য কোনও ভাল স্থাপত্য নিয়ে আসতে পারি না। গেমগুলি সাধারণত কীভাবে ডিজাইন করা হয় তা বুঝতে আমার সহায়তা দরকার।
প্রথমে, আমি গেমের বিধিগুলি বর্ণনা করব।
খেলার নিয়ম
সেটআপ- চারজন খেলোয়াড় রয়েছে, প্রতিটি দুজন খেলোয়াড়ই একটি দল গঠন করে।
- প্রতিটি প্লেয়ার 12 টি শিফल्ड কার্ড পায়
- টেবিলে 4 টি অন্ধ কার্ড রয়েছে (নদী)
- খেলোয়াড়দের অর্ডারটি এরকম

- প্রতিটি খেলোয়াড় 100 বা 160 এর মধ্যে বর্তমান বাজির চেয়ে বেশি নম্বর পাস করতে বা নির্বাচন করতে পারে
- প্রথম প্লেয়ার এবং চেনাশোনা থেকে কোনও দল পাস না হওয়া পর্যন্ত বাজি শুরু হয়
- কোনও খেলোয়াড় পাস হলে তারা আর বাজি ধরতে পারে না
- যে দলটি বেটিং রাউন্ডে জয়ী হয় তাদের খেলাটি জিততে কমপক্ষে তাদের বাটের সমান পয়েন্ট সংগ্রহ করা উচিত
যে দলটি বাজি রাউন্ডটি হেরেছে তাদের তাদের দলকে তাদের লক্ষ্য অর্জন করতে দেওয়া উচিত নয়
যে দলটি বাজি রাউন্ডে জিতেছে তারা যদি সমস্ত পয়েন্ট পায় তবে অন্য দলটি তাদের বাটের সমান নেতিবাচক পয়েন্ট পাবে
- বাজি রাউন্ড হারানো দলটি যদি সমস্ত পয়েন্ট সংগ্রহ করে তবে অন্য দল দ্বিগুণ নেতিবাচক পয়েন্ট পাবে
গেম প্রবাহ এবং পয়েন্ট সংগ্রহ
- খেলোয়াড় যে বাজি রাউন্ডে জিতেছে ( রাজা ) টেবিলে বাকি চারটি কার্ড পেয়েছে।
- তারপরে সে / সে এমনকি খেলেনি তাদের টিম কার্ড ব্যাংকে চারটি কার্ডের সেভ করতে পারে।
- রাজা শাসকের মামলা হিসাবে একটি মামলা বাছাই করবে এবং অন্যদের তা জানতে দেবে
- কিং তার হাত থেকে কার্ড টেবিলে রেখে গেমটি শুরু করে। একে অপরের খেলোয়াড়কে এই ক্রমে খেলতে হবে
- যদি তাদের হাতে সেই কার্ডের স্যুট থাকে তবে তাদের সেই কার্ডগুলির মধ্যে একটি খেলতে হবে
- যদি তাদের কাছে এটি না থাকে তবে তারা অন্য কোনও মামলা খেলতে পারে
- অন্য সমস্ত খেলোয়াড়রা তাদের হাত খোলার পরে রাউন্ডের বিজয়ী হবেন:
- সমস্ত কার্ড এক হলে যার সর্বোচ্চ কার্ড রয়েছে cards
- যার যদি সর্বোচ্চ "রুলার" কার্ড থাকে তবে তা যদি থাকে
- রাউন্ডের বিজয়ী কার্ড সংগ্রহ করবেন এবং তাদের ব্যাঙ্কে রাখবেন
- আগের রাউন্ডে জয়ী খেলোয়াড় পরের রাউন্ডটি শুরু করবে
- প্রত্যেকের হাত খালি না হওয়া পর্যন্ত এটি চলতে থাকবে
পয়েন্ট গণনা
- প্রতিটি রাউন্ডে জয়ের 5 পয়েন্ট রয়েছে। এর অর্থ প্রতি 4 টি কার্ডে কমপক্ষে 5 পয়েন্ট রয়েছে।
- এসে, 10 বা 5 ব্যাঙ্কে প্রতিটি পয়েন্ট যুক্ত করে
আমার নকশা
ক্লাস
class Card {
string suit;
string rank
}
class Deck {
List cards = [];
List suits = ['S', 'H', 'D', 'C'];
List ranks = ['1', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'];
private void init(){..}
void shuffle(){...}
}
class Game{
Deck deck = new Deck();
Player player1;
Player player2;
Player player3;
Player player4;
int _isOn = 0;
Game(this.player1, this.player2, this.player3, this.player4){
deck.makeCards();
deck.shuffle();
start();
}
void start(){
player1.cards.addAll( deck.cards.getRange(0, 12) );
player2.cards.addAll( deck.cards.getRange(12, 24) );
player3.cards.addAll( deck.cards.getRange(24, 36) );
player4.cards.addAll( deck.cards.getRange(36, 48) );
deck.cards.removeRange(0, 48);
}
String toJson(){
}
String toString(){
}
}
class Player{
String name;
int points;
List cards = [];
Player(this.name, {this.points});
String toJson(){}
String toString(){}
}
আমার সমস্যা
এখন যেহেতু আমি এই সমস্ত ক্লাসটি সংজ্ঞায়িত করেছি আমি জানি না কীভাবে এই সংজ্ঞাগুলি একটি ডেটাবেজে (মংগোর মতো) আবদ্ধ করতে এবং গেমের প্রবাহকে নিয়ন্ত্রণ করতে হয়।
- কোথায় যে সমস্ত যুক্তি যেতে হবে?
- সার্ভার / ক্লায়েন্টের দৃশ্যে আমার কীভাবে অবস্থা রাখা উচিত?
বিঃদ্রঃ:
আমি এটি প্রোগ্রাম করতে ডার্ট ব্যবহার করছি তবে আমার ডার্টে উত্তরগুলি লেখার দরকার নেই।