কানেক্ট

কানেক্ট

কঠিন

নির্দেশনা

Hex / Polygon গেমের ফলাফল হিসাব করুন।

Hex / Polygon / CON-TAC-TIX নামে পরিচিত বিমূর্ত বোর্ডগেমটির নিয়ম বেশ সহজ, তবে বাস্তবে এটি জটিল। দুইজন খেলোয়াড় ষড়ভুজাকার ঘরযুক্ত একটি সামান্তরিকের উপর পাথর বসায়। যে খেলোয়াড় সবার আগে নিজের পাথরগুলো বিপরীত দিকের সঙ্গে যুক্ত করতে পারে, সে জিতে যায়। সামান্তরিকের চারটি বাহু দুই খেলোয়াড়ের মধ্যে ভাগ করে দেওয়া হয় (অর্থাৎ একজন খেলোয়াড় একটি বাহু এবং তার ঠিক বিপরীত বাহুটি পায়, আর অন্য খেলোয়াড় পায় বাকি দুই বাহু)।

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

বোর্ডগুলো দেখতে এমন হয়:

. O . X .
 . X X O .
  O O O X .
   . X O X O
    X O O O X

"খেলোয়াড় O" উপরে থেকে নিচে খেলে, "খেলোয়াড় X" বাম থেকে ডানে খেলে। উপরের উদাহরণে O বাম থেকে ডানে একটি সংযোগ তৈরি করেছে, কিন্তু কেউ জেতেনি, কারণ O উপরে ও নিচে সংযোগ করেনি।

ট্র্যাক-নির্দিষ্ট নির্দেশনা

আপনি হয়তো খেয়াল করবেন যে কিছু টেস্ট কেস অন্যায্য মনে হতে পারে। তবে সেগুলো বৈধ কারণেই এমন হতে পারে। উদাহরণস্বরূপ, ছোট বা নতুন খেলোয়াড়দের বোর্ডে নির্দিষ্ট কিছু অবস্থানে অতিরিক্ত n টি গুটি দেওয়া কমন, ফলে বাকি সব দিক থেকে সম্পূর্ণ বৈধ একটি খেলাতেও গুটির সংখ্যা না মেলার ঘটনা ঘটতে পারে।

যাই হোক, এই অনুশীলনীটি কেবল একটি খেলার বিজয়ী নির্ধারণ নিয়েই ভাবে, যে খেলায় বোর্ডের দৈর্ঘ্য ও অতিরিক্ত গুটির মতো নানা রকম প্যারামিটার থাকতে পারে। খেলার অন্য কোনো অবস্থা নিয়ে এটি ভাবে না, যেমন কে কোথায় চাল দিল, কখন দিল, কিংবা এখন কার পালা।

তাই আপাতদৃষ্টিতে অন্যায্য মনে হওয়া এই খেলাগুলো নিয়ে বিভ্রান্ত হবেন না।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Scala Exercism

কানেক্ট শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Scala ট্র্যাকের 95টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।