BlackJack
আসল KOTH চ্যালেঞ্জ নিয়ে কাজ করার সাথে সাথে আমার একটি বিস্ফোরণ ঘটেছিল, তাই আমি আরও একটির সাথে আসতে চাইছিলাম। আমার জন্য, এই এআই চ্যালেঞ্জগুলির মজাদার তুলনামূলকভাবে সহজ বটকে পরিমার্জন করা যা সূক্ষ্মভাবে খুব সাধারণ গেম খেলে। কার্ড গেমগুলির সম্ভাব্য প্রকৃতির কারণে, আমি মনে করি যে ব্ল্যাকজ্যাক টিপিডির মতোই একটি আকর্ষণীয় KOTH গেম হতে পারে।
সমস্ত ওয়েবসাইটের জুতা সহ ব্ল্যাকজ্যাকের বিবরণ থেকে সমস্ত নিয়ম উত্পন্ন
কার্ড এবং ডেক সংক্রান্ত বিধি
- চার (4) প্রতিযোগী এবং একজন (1) ব্যবসায়ীর টেবিলে বট খেল play
- এক (১) জুতো (একটি বদলানো ডেক) সমস্ত খেলোয়াড় এবং ডিলার দ্বারা ক্লান্ত না হওয়া অবধি ভাগ করে নেওয়া হয় , যার পর্যায়ে একটি নতুন এলোমেলোভাবে বদলানো ডেক যুক্ত হবে এবং খেলতে থাকবে। বটগুলি এই নতুন ডেকে যুক্ত করার জন্য বিজ্ঞপ্তিপ্রাপ্ত নয় (বর্তমানে)। এই বৈশিষ্ট্যটির অভাবের কারণে পর্যাপ্ত ঝামেলা / ঝামেলা হয় তবে এই জাতীয় বিজ্ঞপ্তি যুক্ত করা যেতে পারে।
- প্রতি রাউন্ডে 10-এর ক্রয় রয়েছে এবং কার্ডগুলি বিনামূল্যে cards
- পারফেক্ট / আদর্শ হাতে স্কোর 21 আছে
- সমস্ত ফেস কার্ডের মান 10 হয়
- সমস্ত সংখ্যা কার্ড তাদের সংখ্যা মূল্য
- টেকসই 11 বা 1 এর মূল্যবান this
- অনুযায়ী নিয়ম , সব খেলোয়াড়দের কার্ড উপরদিকে মুখ করে তুলে মোকাবিলা এবং দৃশ্যমান। ডিলারের কার্ডগুলির একটির মুখোমুখি এবং অন্যটি মুখোমুখি।
স্কোরিং
- 21 এর বেশি সংখ্যক স্কোর যা এসকে 11 হিসাবে ব্যবহার করে তা এসকে 1 এর মান হ্রাস করতে বাধ্য করে
- 21 এর বেশি সংখ্যক স্কোর যা 21 "বস্ট" বট এর দোরের নীচে জোর করা যায় না
সরবারহকারী
- ডিলার যতক্ষণ না তাকে স্টাফ করে, বা স্কোরকে 17 ছাড়িয়ে যায় ততক্ষণ টানতে পারে যেখানে তাকে দাঁড়াতে বাধ্য করা হয়
বাজি এবং চিপস
- প্রতিটি রাউন্ডে শুরু হওয়ার সময়ে একটি কিনতে-ইন 10 অভিযুক্ত করা হয়, তাই কমপক্ষে হয় পণ 10, এবং একটি সর্বনিম্ন বাজি 1. উল্লেখ্য - বাজি, বাজি যুক্তি পরম মান, তাই বিরক্ত করবেন না নেতিবাচক বেট চেষ্টা করছি।
- যে সমস্ত বট ক্রয় করতে পারে না তাদের প্রতিযোগিতা থেকে সরানো হয়
- বেটস তৈরি করার সময়, বটগুলি তাদের কাছে থাকা চিপগুলির চেয়ে বেশি বাজি ধরতে পারে না
- যদি বাজিটি সম্ভব হয় তবে চিপস বেটটি বট থেকে স্বেচ্ছায় সরানো হয় এবং তা স্টেলে যুক্ত করা হয়
- একটি বাজি জয় বট 2x চিপস বাজি দেয়। তবে বটের বুকের চিপগুলি থেকে বাজিটি বিয়োগ করা হয়েছে বলে, বটটি এমনকি ব্রেক হয় এবং তারপরে 1x বাজিটি জিততে পারে।
- বোট কেবল তখনই বেট জিতবে যদি তাদের স্কোর ডিলারের চেয়ে বেশি হয়
গেমপ্লে ব্রেকডাউন
এক হাত
- গেমটি শুরু হওয়ার সাথে সাথে প্রতিটি খেলোয়াড়কে পুনরায় এক কার্ডের জন্য ডিল করা হয় এবং তাদের চিপস থেকে buy 10 বাই-ইন ফি / সর্বনিম্ন বেট বিয়োগ করা হয়।
- ব্যাপারী আঁকেন
- একটি দ্বিতীয় পাস তৈরি করা হয়, এবং অন্য কার্ডটি সমস্ত খেলোয়াড়ের সাথে ডিল করা হয়।
- ব্যাপারী আঁকেন
- তারপরে (তাদের সাথে যেমন আচরণ করা হয়েছিল একই ক্রমে) প্রতিটি বটকে "প্রোগ্রামার ইন্টারফেস" বিভাগে বর্ণিত হিসাবে কার্যকর করা হয় এবং অবশ্যই একটি পদক্ষেপ বা স্ট্যান্ড তৈরি করতে হবে । বাজি ধরা চলা হিসাবে বিবেচিত হয়। নোট করুন যে বেটিং আরও অগ্রগতি তৈরি করতে বটসের দক্ষতা প্রভাবিত করে না। বাজি দেওয়া এবং তারপরে একটি কার্ড আঁকানো খুব সম্ভব এবং একাধিক কার্ড আঁকানো সম্ভব এবং তারা দাঁড়ানোর আগে বাজি ধরে।
- সমস্ত বট ফেটে বা দাঁড়ালে, ডিলার 17 এর দোরগোড়ায় খেলবে
- বটগুলির স্কোরগুলি তখন ডিলারের সাথে তুলনা করা হয়, বেটগুলি জিতে যায় এবং হারিয়ে যায়
এক রাউন্ড
পাঁচ (5) হাত গঠন বলে গণ্য করা হয়। হাতের মধ্যে, প্রতিযোগীদের তালিকা খেলোয়াড়দের সরানোর জন্য বাছাই করা হয় এবং তারপরে সমস্ত বটগুলি একই সংখ্যক হাতের খেলতে পারে তা নিশ্চিত করার জন্য প্রক্রিয়া করা হয় (প্রবেশের সংখ্যাটি চার-বটের টেবিলের মধ্যে সমানভাবে বিভক্ত হবে না এমন বিধান) )।
প্রোগ্রামারের ইন্টারফেস এবং আইনী পদক্ষেপ
কার্ডশার্ক ফাইলটিতে নথি হিসাবে:
# DOCUMENTATION
# INPUT SPECIFICATION
# $ ./foo.bar <hand-score> <hand> <visible cards> <stake> <chips>
# <hand-score> is the present integer value of the player's hand.
# <hand> is a space-free string of the characters [1-9],A,J,Q,K
# <visible cards> every dealt card on the table. when new shoes are brought
# into play, cards drawn therefrom are simply added to this list
# NOTE: the first TWO (2) cards in this list belong to the dealer.
# one however will be "hidden" by a "#". the other is visible.
# !!! THE LIST IS CLEARED AT THE END OF HANDS, NOT SHOES !!!
# <stake> the number of chips which the bot has bet this hand
# <chips> the number of chips which the bot has
# SAMPLE INPUT
# $ ./foo.bar 21 KJA KQKJA3592A 25 145
#
# OUTPUT SPECIFICATION
# "H"|"S"|"D"|"B" (no quotes in output)
# "H" HIT - deal a card
# "S" STAND - the dealer's turn
# "D" DOUBLEDOWN - double the bet, take one card. FIRST MOVE ONLY
# "B 15" BET - raises the bot's stakes by $15.
(এখন) কার্ড কার্ডে নথিভুক্ত হিসাবে:
# class CARD
# card is a container for representing paper playing cards in
# otherwise fairly functional programming.
# letter()
# gets the letter used to identify the card in a string
# LETTER MAPPINGS
# Ace : 'A'
# Two : '2'
# Three : '3'
# Four : '4'
# Five : '5'
# Six : '6'
# Seven : '7'
# Eight : '8'
# Nine : '9'
# Ten : 'T'
# Jack : 'J'
# Queen : 'Q'
# King : 'K'
# "Hidden": '#'
স্কোরিং সিস্টেমের উত্স কোডটি এখানে
নমুনা বট
লিম 17
#!/usr/bin/env python
import sys
s = sys.argv
if int(s[1]) < 17:
print "H"
else:
print "S"
প্রবেশের ভাষা
বর্তমানে জাভা, সি / সি ++, পাইথন এবং লিস্প সমর্থিত। অন্যান্য ভাষায় জমা দেওয়ার অন্তর্ভুক্ত করার জন্য একটি যুক্তিসঙ্গত প্রচেষ্টা করা হবে, তবে মনে রাখবেন চূড়ান্ত প্রতিযোগিতাটি একটি লিনাক্স বাক্সে পরিচালিত হবে।
বিজয়ী নির্বাচন
বিজয়ী হবেন এমন বট লেখক যা ধারাবাহিকভাবে সর্বাধিক চিপগুলি সুনির্দিষ্টভাবে নির্ধারিত সংখ্যক টেবিল এবং রাউন্ডের উপরে জমা করেছিল। বিজয়ীর ২ রা জুন ঘোষণা করা হবে, তবে এখনও সাবমিশনগুলি এলে ঘোষণা বিলম্ব হতে পারে। অনির্দিষ্টকালের জন্য প্রতিযোগিতা বাড়ানো হয়েছে।