উট আপ কাপ 2k18
এই চ্যালেঞ্জের মধ্যে আমরা আধা-জনপ্রিয় বোর্ড গেম উট আপ খেলব।
উট আপ! এমন একটি বোর্ড গেম যার মধ্যে খেলোয়াড়েরা উটের উপরে চক্রের জয় পেতে, খেলাটি জিততে বা খেলাটি হারাতে, আন্দোলনকে প্রভাবিত করতে বা একটি উটকে সরানোর জন্য ফাঁদ তৈরি করে। এই প্রতিটি সিদ্ধান্তই আপনাকে কিছু অর্থ পাওয়ার সম্ভাবনা দিয়ে পুরস্কৃত করে যা বিজয়ীকে নির্ধারণ করে। খেলোয়াড়দের তাদের সিদ্ধান্ত নিতে সম্ভাবনা, গেম-স্টেট বিবেচনা এবং প্রতিপক্ষের ভাড়াটে ব্যবহার করা উচিত। খেলোয়াড়দের কীভাবে খেলতে হবে সে সম্পর্কে এখানে একটি ছোট্ট ভিডিও দেওয়া আছে ।
কিভাবে খেলতে হবে
এখানে কীভাবে খেলবেন সে সম্পর্কে মোটামুটি ধারণা দেওয়া হল। ভিডিওগুলির মধ্যে একটি দেখা আরও সহায়ক হতে পারে কারণ তাদের ভিজ্যুয়াল রয়েছে :)
আপনার পালা আপনি 4 বিকল্প আছে।
- একটি উট সরান। এটি তাদের কাছ থেকে একটি উট বেছে নেয় যারা স্থানান্তর করেনি এবং এটি 1-3 টি স্পেসের মধ্যে নিয়ে যায়। আপনি 1 মুদ্রা পেতে। পাঁচটি উট সরে গেলে রাউন্ডগুলি শেষ হয়, তারা তখন সমস্ত স্থানান্তর করতে পারে
- একটি ফাঁদ রাখুন। এটি রাউন্ডের শেষ অবধি বোর্ডে যায়। আপনি + 1 / -1 ফাঁদ চয়ন করেন। যদি এটিতে একটি উট বা উটের স্তুপ অবতরণ করে তবে তারা + 1 / -1 সরবে এবং আপনি একটি মুদ্রা পাবেন। আপনি 0 স্কোয়ারে ফাঁদ রাখতে পারবেন না যেখানে আপনি উটগুলি সেখানে একটি ফাঁদ রাখতে পারেন, যদিও এটি কেবল তার পরে অবতরণকারী উটগুলিকেই প্রভাবিত করবে।
- রাউন্ড বিজয়ী বাজি। আপনি একটি রাউন্ড বিজয়ীর উপর একটি বাজি নিতে। আপনি যদি উটের উপরে বাজি ধরতে আপনি প্রথম / ২ য় / তৃতীয় হন তবে তার উপর নির্ভর করে তারা আপনাকে 5/3/2/1 পান
- গেম বিজয়ী / পরাজিত খেলা শেষে কে প্রথম বা শেষের দিকে যাবে সে বিষয়ে আপনি বাজি ধরুন। আপনি এই উটের উপর বাজি ধরতে যদি আপনি প্রথম / ২ য় / তৃতীয় / ইত্যাদি ছিলেন তার উপর ভিত্তি করে আপনি 8/5/3/1/1 (আমার মনে হয়) পান
মন্তব্য:
- 5 টি উট আছে। তারা 0-2 থেকে এলোমেলোভাবে কোনও অবস্থানে শুরু করে।
- যখন একটি উট সরানো হয় (এটি কী ঘটায় তার উপরে উপরে দেখুন) তারা 1-3 স্কোয়ার সরায়। যদি এগুলিকে অন্য একটি উট সহ একটি স্কোয়ারে স্থাপন করা হয় তবে তাদের অন্যটির উপরে "উপরে" রাখা হয় এবং একটি উটের স্তূপ তৈরি করা হয়। যদি একটি উট সরিয়ে নিয়ে যায় তবে এটি উটের স্ট্যাকের উপরে সমস্ত উটকে সরায়। স্ট্যাকের শীর্ষে উটটি সীসা হিসাবে বিবেচনা করা হয়
- যদি আপনি একটি +1 ফাঁদে অবতরণ করেন (এটি কী ঘটায় তার উপরে উপরে দেখুন) আপনি এক বর্গক্ষেত্রকে আরও এগিয়ে নিয়ে যান। স্ট্যান্ডার্ড স্ট্যাকিং বিধি প্রয়োগ।
- তবে আপনি যদি কোনও -1 ফাঁদে আঘাত করেন তবে আপনি এক বর্গ পিছন দিকে চলে যান। আপনি যদি সেই স্কোয়ারে থাকা উটগুলির স্তূপের নিচে যান ।
- একটি উট যখন স্কোয়ার 16 এ আঘাত করে তখন খেলাটি শেষ হয় This
- গেম বিজয়ী / হেরে যাওয়া বাজি একবার উট প্রতি একবার করা যেতে পারে। অর্থাৎ আপনি খেলাটি হারাতে এবং হারাতে উটের উপর বাজি রাখতে পারবেন না
চ্যালেঞ্জ
এই চ্যালেঞ্জে আপনি চারজন খেলোয়াড় খেলতে পাইথন 3 প্রোগ্রাম লিখবেন, বিজয়ী উট আপের সমস্ত গৌরব খেলা গ্রহণ করবে
আপনার প্রোগ্রামটি গেমস্টেটটি গ্রহণ করবে, যার মধ্যে রয়েছে:
- উট_ট্র্যাক : উটের অবস্থান সহ
- ট্র্যাপ_ট্র্যাক : ফাঁদগুলির অবস্থানের সাথে (ফর্মের প্রবেশ [ট্র্যাপ_ টাইপ (-1,1), প্লেয়ার])
- প্লেয়ার_হাস_প্লেড_ট্র্যাপ : একটি অ্যারে আপনাকে বলছে যে খেলোয়াড়রা এই রাউন্ডটি কোনও ফাঁদ ফেলেছে কিনা
- round_bets : বেটের একটি অ্যারে এই রাউন্ডটি রেখেছিল। ফর্মটির মধ্যে [উট, প্লেয়ার]
- গেম_উইনার_বেটস / গেম_লজার_বেটস : উটকে গেমটি জিততে বা হারাতে বাজি ধরে বেট প্লেয়ারদের অ্যারে। আপনি কেবল সেই খেলোয়াড়ের মান দেখতে সক্ষম হবেন যারা বাজি তৈরি করেছে, তারা কারা বাজি ধরেছে তা নয় । আপনি কারা বাজি ধরতে পারেন তা জানতে পারবেন। ফর্মের মধ্যে [উট, প্লেয়ার]
- প্লেয়ার_গেম_বিটস : গেম_উইনার_বেটস / গেম_লজার_বেটসের আরেকটি উপস্থাপনা। আবার, আপনার বটটি যে বেট বানিয়েছে তা কেবল দেখুন।
- প্লেয়ার_মনি_ভ্যালু : প্রতিটি খেলোয়াড়ের অর্থের পরিমাণ দেখাচ্ছে এমন একটি অ্যারে।
- উট_ইয়েট_ টো_মোভ : একটি উঁচু দেখায় যে একটি উট এই গোলটিকে সরানো হয়েছে কিনা।
গেমস্টেটের শীর্ষে আপনিও পাবেন:
- প্লেয়ার : একটি পূর্ণসংখ্যা আপনাকে বলছে আপনি কোন প্লেয়ারের নম্বর (0-3)।
খেলোয়াড়দের কী ফেরা উচিত তার সিনট্যাক্স হ'ল:
- [0]: উটটি সরান
- [1, ফাঁদ_প্রকার, ফাঁদ_স্থান]: স্থান ফাঁদ
- [২, প্রজেক্টেড_উইন্ড_উইনার]: রাউন্ড উইনারকে বেট করুন
- [3, প্রস্তাবিত_গেম_উইনার]: গেম উইনারকে বেট করুন
- [4, প্রজেক্টড_গেম_লজার]: গেমটি হারানো বাজি তৈরি করুন
এটি একটি চলন (প্লেয়ার, গেমস্টেট) পদ্ধতিতে আবৃত করা উচিত
উদাহরণস্বরূপ, এখানে এমন একজন প্লেয়ার রয়েছে যে তারা যদি শেষ স্থানে থাকে তবে তারা রাউন্ড উইনারকে বাজি তুলবে। যদি তা না হয় তবে তারা এলোমেলো স্কোয়ারে একটি ফাঁদ রাখবে।
class Player1(PlayerInterface):
def move(player,g):
if min(g.player_money_values) == g.player_money_values[player]:
return [2,random.randint(0,len(g.camels)-1)]
return [1,math.floor(2*random.random())*2-1,random.randint(1,10)]
গেমটি বিভিন্ন কারণে বেছে নেওয়া হয়েছিল: এটি থেকে অপশন তুলনামূলকভাবে একটি ছোট পুল রয়েছে (মোড়ের প্রায় 20 টি পছন্দ, সহজেই প্রায় প্রায় 3-4- এ সংকীর্ণ হয়), গেমগুলি সংক্ষিপ্ত এবং ভাগ্যের একটি উপাদান রয়েছে (এটি তৈরি করে) এমনকি "খারাপ" বটগুলিও জিততে পারে)।
গেমপ্লের
টুর্নামেন্টের রানারটি এখানে পাওয়া যাবে: উটের আপ-কাপ । চালান camelup.py
একটি টুর্নামেন্ট বা ফাংশন PlayGame গেম চালানোর জন্য চালানোর জন্য। আমি নতুন জমাগুলি দিয়ে সেই সংগ্রহস্থলটিকে আপডেট রাখব। উদাহরণস্বরূপ প্রোগ্রামগুলি পাওয়া যাবে players.py
।
একটি টুর্নামেন্টে প্রতি 10 খেলোয়াড়ের 100 টি গেম থাকে (গোল হয়ে যায়, তাই 14 খেলোয়াড় মানে 200 গেমস)। প্রতিটি খেলা চারটি পদ পূরণের জন্য খেলোয়াড়দের পুল থেকে নির্বাচিত চারটি এলোমেলো খেলোয়াড় হবে। খেলোয়াড়রা দুবার গেমটিতে থাকতে পারবে না।
স্কোরিং
প্রতিটি গেমের বিজয়ী গেমের শেষে সবচেয়ে বেশি অর্থের খেলোয়াড়। কোনও খেলা শেষে টাইয়ের ক্ষেত্রে সর্বাধিক অর্থের পরিমাণযুক্ত সমস্ত খেলোয়াড়কে একটি পয়েন্ট দেওয়া হয়। টুর্নামেন্ট শেষে সর্বাধিক পয়েন্ট পাওয়া খেলোয়াড় জিতল। গেমগুলি চালানোর সাথে সাথে আমি স্কোরগুলি পোস্ট করব।
জমা দেওয়া খেলোয়াড়দের পুলে যোগ করা হবে। আমি সত্যিই তিনটি বোবা বট এবং একটি শুরু করেছি যা শুরু করার জন্য করেছি।
আদেশ সহকারে
ইনপুটগুলি সংশোধন করবেন না। সহযোগিতা বা ত্রুটিযুক্ত ব্যতীত অন্য কোনও প্রোগ্রামের সম্পাদনকে প্রভাবিত করার চেষ্টা করবেন না। বলিদান জমা দেওয়ার জন্য যা অন্য জমা দেওয়ার স্বীকৃতি দেয় এবং সেই প্রতিপক্ষকে তার নিজস্ব ব্যয়ে উপকৃত করার চেষ্টা করে না। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে।
আপনার বট দ্বারা নেওয়া সময়কে সর্বাধিক 10 ডলার হিসাবে সীমাবদ্ধ করুন।
জমাগুলি পূর্বের জমাগুলিকে সদৃশ করতে পারে না।
দয়া করে অন্যান্য খেলোয়াড়দের গেম_উইনার বা গেম_লজার বাজিটি দেখুন না। এটি করা বেশ সহজ তবে এখনও প্রতারণা করছে।
আপনার যদি কোনও প্রশ্ন থাকে তবে নির্দ্বিধায় জিজ্ঞাসা করুন।
জয়লাভ
নতুন প্রতিবেদন পোস্ট হওয়ার সাথে সাথে প্রতিযোগিতা অনির্দিষ্টকালের জন্য উন্মুক্ত থাকবে। তবে, এই প্রশ্নটি পোস্ট হওয়ার (20 জুলাই) এক মাস পরে ফলাফলের ভিত্তিতে আমি বিজয়ী (একটি উত্তর গ্রহণ করুন) ঘোষণা করব।
ফলাফল
Player0: 12
Player1: 0
Player2: 1
Sir_Humpfree_Bogart: 87