চূড়ান্ত ফলাফল উপলব্ধ
ভূমিকা
ভারী থিমগুলি ( ফ্যান্টাসি ওয়ার , বিশ্বব্যাপী মহামারী ...) নিয়ে আমার আগের কোথার পরে , আমি আবার একটি নতুন আলোকিত খেলা নিয়ে এসেছি। এবার, আপনি "বোর্ড গেমের মতো" পরিস্থিতিতে পড়ছেন। উল্টোদিকে কয়েনের একটি গাদা সত্যিই বড় টেবিলের কেন্দ্রে স্থাপন করা হয়েছে, এবং আপনি লুটপাটের অংশটি পেতে দৃ determined়প্রতিজ্ঞ!
টিপ্পনি
কয়েন : টোকেনগুলি যেগুলি হয় ফ্লিপড বা উল্টানো যায়।
আনপ্লিপড : কয়েনগুলি টেবিলে তাদের মানটি নীচে রেখে দেওয়া হয়। এটি মুদ্রার ডিফল্ট অবস্থা state
উল্টানো : কয়েনগুলি টেবিলে তাদের মান পয়েন্ট আপ করে রাখে।
স্থানীয় : আপনার মুদ্রার গাদা বোঝায়।
গ্লোবাল : কেন্দ্রে মুদ্রার গাদা বোঝায়।
নীতি
শুরুতে খেলার, প্রতিটি খেলোয়াড় দিয়ে শুরু হয় 0 পয়েন্ট এবং 0 কয়েন (ফ্লিপ বা unflipped)। গেমটি টার্ন ভিত্তিক। তাদের পালা চলাকালীন, খেলোয়াড়রা টেবিলের কেন্দ্রে কয়েনের গাদা, তাদের নিজস্ব মুদ্রার গাদা বা অন্যান্য খেলোয়াড়দের সাথে আলাপচারিত 3 টি পদক্ষেপ নিতে পারে।
গেমের শুরুতে প্লে অর্ডার এলোমেলোভাবে সংজ্ঞায়িত করা হয়। যুক্তি তালিকার খেলোয়াড়দের ক্রমটি টার্ন ক্রমের প্রতিনিধিত্ব করে এবং এটি তালিকার বাম থেকে ডানে চলে যায় goes "পরবর্তী" এবং "পূর্ববর্তী" যথাক্রমে "সেই তালিকার ডানদিকে" এবং "সেই তালিকার বাম দিকে" রেফার করুন যদি আপনি উভয় পক্ষের শেষ হন।
খেলোয়াড়টি 50 টি রাউন্ড বা কোনও প্লেয়ার টার্নের শেষে কেন্দ্রে 0 টি কয়েন না হওয়া পর্যন্ত স্থায়ী হয় (এর অর্থ আপনি আপনার প্রথম ক্রিয়াকলাপের পরে গাদাটি খালি থাকলেও আপনি আপনার 3 টি ক্রিয়া শেষ করবেন এবং আপনি মুদ্রা পিছনে রাখতে পারবেন গেমটি চালিয়ে যান)। এই সূত্রের সাথে বৈশ্বিক মুদ্রার শুরুর সংখ্যা এলোমেলোভাবে সংজ্ঞায়িত করা হয়েছে:
(2 ^ nb_players) + (nb_players * 10) - random(1 + (nb_players ^ 2))`
প্রতিটি ক্রিয়া আপনাকে পয়েন্ট দেবে (বা আপনাকে কিছুটা হারাতে সক্ষম করবে) এবং গেমের শেষে আপনার প্রতিটি কয়েন আপনার পয়েন্টগুলিতে যুক্ত করা হবে ( আনলিপডের জন্য -1, উল্টানো জন্য +2 )। সর্বোচ্চ স্কোর প্লেয়ার জিতেছে।
কন্ট্রোলার আপনাকে কমান্ড আর্গুমেন্টগুলির মাধ্যমে ইনপুট সরবরাহ করে এবং আপনার প্রোগ্রামটি স্টাডআউটের মাধ্যমে আউটপুট দিতে হয়।
বাক্য গঠন
ইনপুট
আপনার প্রোগ্রামটি যতবার ডাকা হবে, ততক্ষণ এই ফর্ম্যাটে আর্গুমেন্টগুলি পাবেন:
Round;YourPlayerId;Coins;PlayerId_Points_Flipped_Unflipped;PlayerId_Points_Flipped_Unflipped;...
রাউন্ডগুলি 1-ইনডেক্সড।
উদাহরণ ইনপুট
6;2;52;1_20_3_12;0_-2_0_1;2_12_1_0
এখানে, আপনি দেখুন এটি 6th ষ্ঠ রাউন্ড এবং আপনি খেলোয়াড় ২। কেন্দ্রীয় স্তূপে 52 টি কয়েন রয়েছে। আপনার 12 টি পয়েন্ট রয়েছে, 1 টি উল্টানো মুদ্রা এবং 0 টি উল্লিখিত মুদ্রা। পয়েন্টগুলি নেতিবাচক হতে পারে।
আউটপুট
আপনাকে তিনটি অক্ষর আউটপুট করতে হবে (কোনও স্থান নেই, কোনও বিভাজক নেই), যা প্রতিটি এই ক্রমের সাথে মিল রেখে আপনি এই পালাটি নেবেন। অক্ষরের ক্রম ক্রমের ক্রম নির্ধারণ করে। আপনি একই ক্রিয়াকে একাধিকবার আউটপুট করতে পারেন। আপনার ক্রিয়াটি সম্পন্ন করার জন্য পর্যাপ্ত কয়েন না থাকলে, এটি কেবলমাত্র ব্যবহৃত কয়েনগুলির জন্য সর্বাধিক উপলব্ধ কয়েন এবং গণনা পয়েন্ট ব্যবহার করবে।
N
: কিছুই করবেন না
1
: কেন্দ্রীয় স্তূপ থেকে 1 টি মুদ্রা নিন [প্রভাবগুলি: +1 স্থানীয় আনপ্লিপড / -1 পয়েন্ট / -১ গ্লোবাল আনপ্লিপড]
2
: কেন্দ্রীয় স্তূপ থেকে 2 কয়েন নিন [প্রভাব: +2 স্থানীয় আনপ্লিপড / -2 পয়েন্ট / -2 গ্লোবাল আনপ্লিপড]
3
: কেন্দ্রীয় স্তূপ থেকে 3 টি কয়েন নিন [প্রভাব: +3 স্থানীয় আনপ্লিপড / -3 পয়েন্ট / -3 গ্লোবাল আনপ্লিপড]
A
: আপনার স্তূপ থেকে 1 মুদ্রা পিছনে রাখুন [প্রভাব: -1 স্থানীয় অনাবৃত / +1 পয়েন্ট / +1 গ্লোবাল আনপ্লিপড]
B
: আপনার গাদা থেকে ২ টি কয়েন পিছনে রাখুন [প্রভাব: -২ স্থানীয় আনপ্লিপড / +২ পয়েন্ট / + গ্লোবাল আনপ্লিপড]
C
: আপনার স্তূপ থেকে 3 টি কয়েন পিছনে রাখুন [প্রভাব: -3 স্থানীয় অনাবৃত / +3 পয়েন্ট / +3 গ্লোবাল আনপ্লিপড]
X
: আপনার গাদা থেকে 1 মুদ্রা সরান[ইফেক্টস: -১ স্থানীয় আনপ্লিপড / ০ পয়েন্ট]
Y
: আপনার স্তূপ থেকে ২ টি কয়েন সরান [প্রভাব: -২ স্থানীয় আনপ্লিপড / ০ পয়েন্ট]
Z
: আপনার গাদা থেকে 3 টি কয়েন সরান [প্রভাব: -3 স্থানীয় অনাবৃত / 0 পয়েন্ট]
R
: কয়েন ঘোরান পূর্ববর্তী খেলোয়াড়ের কাছে [প্রভাব: -১২ পয়েন্ট উল্টাপাল্টিতে প্রাপ্ত, +২ পয়েন্ট উল্টানো প্রতি প্রাপ্ত / সকল খেলোয়াড়ের জন্য প্রযোজ্য]
T
: পরবর্তী খেলোয়াড়ের কাছে কয়েনগুলি ঘোরান [প্রভাব: -প্লিপ্লিপিত প্রাপ্ত প্রতি +1 পয়েন্ট, উল্লিখিত প্রতি + 2 পয়েন্ট / প্রযোজ্য সমস্ত খেলোয়াড়]
F
: 1 মুদ্রা ফ্লিপ করুন [প্রভাব: -1 স্থানীয় অনাবৃত / +1 স্থানীয় ফ্লিপড / +2 পয়েন্ট]
U
: আনফ্লিপ 1 মুদ্রা [প্রভাব: +1 স্থানীয় অনাবৃত / -1 স্থানীয় উল্টানো / -2 পয়েন্ট]
উদাহরণ আউটপুট
2FF
: দুটি মুদ্রা নেয় এবং দুটি কয়েন ফ্লিপ করে, স্কোর করে -2 + 2 + 2 = 2 points
যদি আপনার আউটপুটটি ভুল হয় তবে নিয়ামক ধরে নিবে NNN
।
নিয়ামক
আপনি গিটহাবের নিয়ামকটি খুঁজে পেতে পারেন । এটিতে জাভাতে লেখা দুটি স্যাম্পলবট রয়েছে। এটি চালানোর জন্য, প্রকল্পটি দেখুন এবং এটি আপনার জাভা আইডিইতে খুলুন। main
ক্লাসের পদ্ধতিতে প্রবেশের পয়েন্ট Game
। জাভা 8 প্রয়োজনীয়।
বট যোগ করার জন্য প্রথমে আপনার জাভা (.class ফাইল) এর সংকলিত সংস্করণ বা ব্যাখ্যামূলক ভাষার উত্সগুলির প্রয়োজন। এগুলি প্রকল্পের মূল ফোল্ডারে রাখুন। তারপরে, players
প্যাকেজে একটি নতুন জাভা ক্লাস তৈরি করুন (আপনি ইতিমধ্যে বিদ্যমান বটগুলির উদাহরণ নিতে পারেন)। এই শ্রেণিকে Player
পদ্ধতিটি ওভাররাইড করার জন্য অবশ্যই প্রয়োগ করতে হবে String getCmd()
। স্ট্রিংটি ফেরত হ'ল আপনার বটগুলি চালানোর শেল কমান্ড। আপনি উদাহরণস্বরূপ এই কমান্ড দিয়ে একটি রুবি বট কাজ করতে পারে: return "C:\Ruby\bin\ruby.exe MyBot.rb";
। অবশেষে, Game
ক্লাসের শীর্ষে প্লেয়ার অ্যারেতে বট যুক্ত করুন ।
বিধি
- নির্দিষ্ট অন্যান্য বটগুলিকে বীট বা সমর্থন করতে বটগুলি লেখা উচিত নয়।
- ফাইলগুলিতে লেখার অনুমতি রয়েছে। দয়া করে "Yourubmissionname.txt" এ লিখুন, গেম শুরু হওয়ার আগে ফোল্ডারটি খালি হয়ে যাবে। অন্যান্য বাহ্যিক সংস্থানগুলি অনুমোদিত নয়।
- আপনার জমা দেওয়ার প্রতিক্রিয়া জানাতে এক সেকেন্ড রয়েছে।
- আপনার সাবমিশনগুলি সংকলন এবং চালনার জন্য আদেশগুলি সরবরাহ করুন।
সমর্থিত ভাষা
আমি প্রতিটি ভাষা চেষ্টা করব এবং সমর্থন করব, তবে এটি অনলাইনে বিনামূল্যে পাওয়া দরকার। আপনি যদি "মূলধারার" ভাষা ব্যবহার না করেন তবে দয়া করে ইনস্টলেশনের জন্য নির্দেশাবলী সরবরাহ করুন।
এখনই, আমি চালাতে পারি: জাভা 6-7-8, পিএইচপি, রুবি, পার্ল, পাইথন 2-3, লুয়া, আর, নোড.জেএস, হাস্কেল, কোটলিন, সি ++ 11 +
চূড়ান্ত ফলাফল
এটি 100 গেমের ফলাফল (পয়েন্টগুলি যোগ করা হয়):
1. BirdInTheHand: 1017790
2. Balance: 851428
3. SecondBest: 802316
4. Crook: 739080
5. Jim: 723440
6. Flipper: 613290
7. Wheeler: 585516
8. Oracle: 574916
9. SimpleBot: 543665
10. TraderBot: 538160
11. EgoisticalBot: 529567
12. RememberMe: 497513
13. PassiveBot: 494441
14. TheJanitor: 474069
15. GreedyRotation: 447057
16. Devil: 79212
17. Saboteur: 62240
গেমগুলির স্বতন্ত্র ফলাফলগুলি এখানে উপলভ্য: http://pasted.co/63f1e924 (প্রতি খেলায় প্রচলিত কয়েন এবং রাউন্ডের সংখ্যা সহ)।
: 50 সুনাম একটি খয়রাত বিজয়ী পুরস্কার প্রদান করা হয় Bird in দ্য হ্যান্ড দ্বারা মার্টিন Büttner ।
আপনার অংশগ্রহণের জন্য আপনাকে সকলকে ধন্যবাদ, পরের KOTH see এ দেখতে পাবেন ~