গুহ্যমান পাগল। অন্যান্য গুহাচালক লাঠি নিতে কিন্তু লাঠি আমার জন্য ছিল। গুহামানের লড়াই !
বিবরণ
গুহামাত্রীর অন্যান্য গুহ্যবাহীকে ছুরিকাঘাত করতে তীক্ষ্ণ লাঠি লাগানো দরকার। অন্যান্য গুহাচালকরাও ধারালো লাঠি দিয়ে ছুরিকাঘাত করার চেষ্টা করে। গুহামানী লাঠিটি তীক্ষ্ণ করতে পারে, লাঠি দিয়ে পোঁকতে পারে বা পোকার লাঠিগুলি ব্লক করতে পারে।
ক্যাভম্যান যদি অন্য গুহামানিকে তীক্ষ্ণ লাঠি দিয়ে খোঁচা দেয়, তবে অন্যান্য গুহাচালক পালিয়ে যায় এবং আমার বিজয় হয়। কিন্তু যখন অন্য পোকার লোক আমাকে পোকার সময় স্মার্টলি ব্লক করে, আমার লাঠিটি ভোঁতা হয়ে যায় এবং আমাকে আবার তীক্ষ্ণ করা দরকার।
অলস গুহায়। এছাড়াও, গুহ্য বোবা। গুহামান কি করতে জানেন না, তাই গুহামানীর কী করা উচিত তা জানানোর জন্য অভিনব প্রযুক্তি প্রযুক্তি কম্পিউটার প্রোগ্রাম প্রয়োজন।
ইনপুট
আপনার প্রোগ্রামের ইনপুটটি ঘটেছে এমন ঘটনাগুলির ইতিহাস হবে, যেখানে S
দাঁড়ানোর জন্য দাঁড়ানো (অর্থাত্ ক্যাভম্যান তার লাঠিটি তীক্ষ্ণ করে তোলে), P
পোকার B
জন্য দাঁড়ায় এবং ব্লক দাঁড়ায়। ইনপুট উভয় পক্ষের (আপনি এবং প্রতিপক্ষের) ইতিহাস হবে, সুতরাং আপনার এবং প্রতিপক্ষের পদক্ষেপগুলি কমা ( ,
) দিয়ে পৃথক করা হবে ।
উদাহরণ ইনপুট:
SPB,SBB
এর অর্থ এই যে প্লেয়ারটি তার লাঠিটি তীক্ষ্ণ করেছে, তারপরে হাঁস মেরেছে, তারপর অবরুদ্ধ করবে এবং প্রতিপক্ষকে তীক্ষ্ণ করা হবে, তারপরে অবরুদ্ধ করা হবে, তারপরে আবার ব্লক করা হয়েছে।
আপনি পরিবর্তন 1 এ কোনও ইনপুট পাবেন না।
আউটপুট
আউটপুটটি ইনপুটটির সাথে খুব মিল (কারণ ক্যাভম্যান খুব স্মার্ট নয়)। আপনার প্রোগ্রামটি S
তীক্ষ্ণ হওয়ার P
জন্য, আটকানো এবং B
ব্লকের জন্য আউটপুট হওয়া উচিত । আউটপুট শুধুমাত্র প্রথম অক্ষর বিবেচনা করা হবে, এবং অন্য কোনও ইনপুট একটি B
(ব্লক) কমান্ড হিসাবে বিবেচনা করা হবে ।
S
: তীক্ষ্ণতীক্ষ্ণ করার সময়, ক্যাভম্যানের স্টিকের তীক্ষ্ণতা 1 দ্বারা উঠে যায় এবং লাঠিটি 1 টি অতিরিক্ত পোকে পায়। প্রতিটি পোক স্টিকের তীক্ষ্ণতা 1 দ্বারা হ্রাস করে এবং লাঠিটির তীক্ষ্ণতা 0 হয় তবে এটি ঝাঁকুনির মতো খুব নিস্তেজ। তীক্ষ্ণতা 0 থেকে শুরু হয় যদি তীক্ষ্ণতা 5 এ যায় তবে লাঠিটি একটি তরোয়াল! (নিচে দেখ.)
আপনি যখন তীক্ষ্ণ হওয়ার সময় যদি প্রতিপক্ষ পোকা তোলে (এবং তাদের তীক্ষ্ণতা> 0) থাকে তবে প্রতিপক্ষ জিততে পারে!
P
: ঝুঁকুনিযখন পোঁকে ফেলা হয়, তখন ক্যাভম্যানের স্টিকের তীক্ষ্ণতা 1 কেটে যায় এবং আপনি আপনার প্রতিপক্ষকে ঠোকাচ্ছেন! যদি আপনার প্রতিপক্ষ তীক্ষ্ণ হয়, আপনি জিতুন! প্রতিপক্ষ যদি পোঁকতে থাকে তবে আপনার লাঠিটি আপনার প্রতিপক্ষের লাঠিটিকে আঘাত করে এবং তারা উভয়ই ডুলার হয়ে যায় (1 "তীক্ষ্ণতা ইউনিট" দ্বারা)। প্রতিপক্ষ যদি অবরুদ্ধ করে থাকে তবে আপনার লাঠিটি ঘন হয়ে যাওয়া ছাড়া কিছুই ঘটবে না।
আপনার লাঠিটির তীক্ষ্ণতা 5 বা ততোধিক হয় যখন আপনি প্রসারণ করেন, আপনার লাঠিটি তরোয়াল হয়ে যায় এবং আপনি সর্বদা জয়ী হন! (যদি না আপনার প্রতিপক্ষের কাছেও তরোয়াল থাকে এবং এটিও বেছে না নেয়
P
; সেক্ষেত্রে এরা দু'জনেই হালকা হয়ে যায় এবং যদি তাদের তীক্ষ্ণতা 5 এর নিচে নেমে আসে তবে লাঠিগুলিতে ফিরে যেতে পারে)আপনি 0 এর তীক্ষ্ণতা দিয়ে পোঁকতে পারবেন না যদি আপনি এটি করেন তবে কিছুই হবে না।
B
: ব্লকআপনি যখন অবরুদ্ধ করবেন তখন আপনার প্রতিপক্ষ যখন ডেকে আনে তখন কিছুই হয় না। যদি আপনার প্রতিপক্ষ পোক না করে তবে ব্লক কিছুই করে না।
ব্লক করা তরোয়াল থেকে রক্ষা করে না, এমনকি যদি আপনার কাছে থাকেও!
বিধি ও সীমাবদ্ধতা
অতিরিক্ত বিধিগুলি হ'ল:
- আপনি যদি ডেটা সংরক্ষণ করতে চান তবে আপনার প্রোগ্রামটি তার নিজস্ব ফোল্ডারে ফাইলগুলি পড়তে এবং লিখতে পারে (কোনও চুরি নয়!) তবে আপনি এর বাইরে কোনও কিছুতে অ্যাক্সেস করতে পারবেন না (এবং গুহামানদের প্রান্তরে ইন্টারনেট সংযোগ নেই)।
- ফাইলগুলিতে গুরুত্বপূর্ণ নোট : আপনি যদি ফাইলগুলি সংরক্ষণ করেন তবে সেগুলি ডিরেক্টরিতে সংরক্ষণ করতে ভুলবেন না
players/YourBotsName/somefile.foo
! আপনার প্রোগ্রামের বর্তমান ওয়ার্কিং ডিরেক্টরিটি আপনার প্রোগ্রামের হবে না!
- ফাইলগুলিতে গুরুত্বপূর্ণ নোট : আপনি যদি ফাইলগুলি সংরক্ষণ করেন তবে সেগুলি ডিরেক্টরিতে সংরক্ষণ করতে ভুলবেন না
- ক্যাভম্যানগুলি ন্যায্য: একটি প্রোগ্রামে অন্য প্রোগ্রামের জন্য কোড নির্দিষ্ট থাকতে পারে না এবং প্রোগ্রামগুলি একে অপরকে সহায়তা করতে পারে না। (আপনার একাধিক প্রোগ্রাম থাকতে পারে তবে তারা কোনওভাবেই একে অপরের সাথে ইন্টারঅ্যাক্ট করতে পারবেন না))
- গুহাধ্যক্ষ বিচারক ধৈর্যশীল নয়। যদি কেভম্যানরা বিজয়ী সিদ্ধান্ত নেওয়ার জন্য 100 টিরও বেশি পালা করে, বিচারক বিরক্ত হয়ে যায় এবং উভয় ক্যাভম্যানরা হেরে যায়।
যদি আপনার প্রোগ্রামটি কোনও নিয়ম ভঙ্গ করে বা স্পেসিফিকেশন অনুসরণ না করে তবে প্রোগ্রামটি অযোগ্য ঘোষণা করা হবে, এখান থেকে সরানো playerlist.txt
হবে এবং সমস্ত দ্বৈত শুরু থেকে পুনরায় চালু হবে। যদি আপনার প্রোগ্রামটি অযোগ্য ঘোষণা করা হয়, তবে ক্যাভম্যান নেতা (আমাকে!) আপনার প্রোগ্রামের পোস্টে মন্তব্য করবে এবং কেন তা ব্যাখ্যা করবে। আপনি যদি কোনও নিয়ম ভঙ্গ না করেন তবে আপনার প্রোগ্রামটি লিডারবোর্ডে যুক্ত হবে। (যদি আপনার প্রোগ্রামটি লিডারবোর্ডে না থাকে, তবে আপনার পোস্টে কোনও ব্যাখ্যামূলক মন্তব্য নেই, এবং আপনি নীচে "শেষ আপডেট" সময়ের আগে আপনার প্রোগ্রামটি পোস্ট করেছেন, গুহাচালক নেতাকে বলুন! সম্ভবত সে এটি ভুলে গিয়েছিল))
আপনার পোস্টে, দয়া করে অন্তর্ভুক্ত করুন:
- একটি নাম.
- শেল কমান্ড আপনার প্রোগ্রাম চালানোর জন্য (উদা।
java MyBot.java
,ruby MyBot.rb
,python3 MyBot.py
, ইত্যাদি)।- দ্রষ্টব্য: ইনপুটটি এতে একটি কমান্ড লাইনের যুক্তি হিসাবে যুক্ত করা হবে।
- ক্যাভম্যানরা উবুন্টু 14.04 ব্যবহার করে, সুতরাং আপনার কোডটি এতে (অবাধে) কাজ করে তা নিশ্চিত করুন।
- একটি সংস্করণ নম্বর, যদি আপনার কোড আপনার নির্বাচিত ভাষার বিভিন্ন সংস্করণে আলাদাভাবে কাজ করে।
- আপনার কোড (স্পষ্টতই)
- কীভাবে কোডটি সংকলন করবেন, প্রয়োজনে।
নিয়ামক কোড / পরীক্ষা, উদাহরণ বট
গুহামান নেতা সি ++ এ নিয়ন্ত্রণ কোডটি লিখেছেন এবং এটি একটি গিথুব রেপোতে পোস্ট করেছেন । আপনি আপনার প্রোগ্রামটি চালাতে এবং পরীক্ষা করতে পারেন।
নীচের উত্তরগুলিতে একটি খুব, খুব সাধারণ প্রোগ্রাম (1 লাইন!) পোস্ট করা হয়েছে ।
স্কোরিং এবং লিডারবোর্ড
স্কোর করা সহজ। যাঁর ক্যাভেম্যান জিতে পয়েন্ট পায়। প্রতিটি অন্যান্য ক্যাভম্যানের বিপরীতে 3 টি দ্বৈতসের পরে সর্বাধিক পয়েন্টের সাথে থাকা ক্যাভম্যানটি নতুন ক্যাভম্যান নেতা হয়ে যায়!
150 Watson
147 SpeculativeSylwester
146 Gruntt
141 BashMagnon
126 ChargerMan
125 PrisonRules
124 ViceLeader
122 MultiMarkov
122 CaveDoctor
120 RegExMan
120 Hodor
117 FancyTechnoAlgorithm
116 Semipatient
113 Watcher
108 BobCaves
105 MinimaxMan
104 Oracle
102 MaybeMarkov
97 Nash
95 Sicillian
95 Feint
95 Basilisk
94 SharpMan
93 Darwin
91 Nigel
91 JavaMan
88 Entertainer
88 CarefulBot
85 CaveMonkey
84 SSBBP
82 SirPokealot
79 MasterPoker
77 Unpredictable
76 IllogicalCaveman
75 SharpenBlockPoke
75 HuddleWolfWithStick
72 WoodenShield
68 PokeBackBot
68 PatientBlacksmith
66 PatientWolf
58 MonteCarloMan
58 BlindFury
56 BinaryCaveman
55 PokeBot
55 CavekidBlocks
53 Swordmaster
53 Blocker
52 NakedEarlyNerd
52 ModestCaveman
50 LatePokeBot
40 Trickster
39 SwordLover
38 ForeignCaveman
36 Swordsmith *
28 Touche
27 WantASword
27 FoolMeOnce
24 PeriodicalCavemanCicada
11 Aichmophobic
(এই লিডারবোর্ডটি স্বয়ং-যাদুযুক্ত উত্পন্ন হয়েছিল)
খেলোয়াড়রা *
কিছু সময়ে ত্রুটি বা ব্যতিক্রম কিছু ছুঁড়ে দিয়ে চিহ্নিত করেছে ; এই খেলোয়াড়দের তাদের পোস্টে একটি মন্তব্য আছে।
খেলোয়াড় যারা কোন কারণে পরীক্ষা অন্তর্ভুক্ত করা যায়নি (এই খেলোয়াড়দের তাদের পোস্টে সমস্যা ব্যাখ্যা করা একটি মন্তব্যে থাকবে): Monkey
, Elephant
, FacileFibonacci
, StudiousSylwester
।
শেষ আপডেট: 3 আগস্ট 00:15 (ইউটিসি)।