এটি ডটস এবং বক্সস (ওরফে পেন দ্য পিগ) এর জন্য পার্বত্য চ্যালেঞ্জের একজন রাজা। গেমটি সহজ, আপনার পালাটি খালি বেড়াতে কেবল একটি লাইন আঁকুন। প্রতিবার আপনি একটি বর্গ সম্পূর্ণ যখন আপনি একটি পয়েন্ট পাবেন। এছাড়াও, যেহেতু আমরা চ্যাম্পিয়নশিপ বিধি দ্বারা খেলছি , আপনি যদি আপনার টার্নে কমপক্ষে একটি বর্গক্ষেত্রটি সম্পন্ন করেন তবে আপনি অতিরিক্ত পালা পেতে পারেন। এটি একটি রাউন্ড রবিন টুর্নামেন্ট, যেখানে প্রতিটি বট একটি 9x9 গ্রিডে বার বার 12 বার খেলে । দুটি হেভিওয়েট শিরোনামের মধ্যে এই ম্যাচটি দেখুন, যেখানে চেইনক্ল্যাক্টরর কো-চ্যাম্পিয়ন এএসডিএফের শাসনকালের মাংস তৈরি করে:
বিধি
- চলাচল প্রতি 0.5 দ্বিতীয় সময় সীমা।
- অন্যান্য বটগুলিতে হস্তক্ষেপ করা হচ্ছে না।
- এলোমেলোতার জন্য PigPen.random () এবং PigPen.random (int) ব্যবহার করুন।
- ফাইলগুলিতে কোনও লেখা নেই।
- প্রতিবার প্রতিপক্ষের পরিবর্তনগুলি (প্রতি 12 টি রাউন্ড) বট এবং তার সমস্ত অবিরাম ডেটা পুনরায় সেট করা হবে।
বট
প্রতিটি বট প্লেয়ার.জভা প্রসারিত করে:
package pigpen;
public abstract class Player {
public abstract int[] pick(Board board, int id, int round);
}
Board
গেম বোর্ড, যা মূলত আপনাকে Pen
ক্লাসে অ্যাক্সেস দেওয়ার জন্য পরিবেশন করে , এবং id
এটি আপনার প্লেয়ারআইডি (আপনি প্রথম বা দ্বিতীয় হন কিনা তা আপনাকে round
জানায় ), একই প্রতিপক্ষের বিরুদ্ধে আপনার খেলাকে (1 বা 2) গোল করে বলে tells রিটার্ন মান হ'ল একটি int[]
, যেখানে প্রথম উপাদানটি পেনআইডিডিড (1-ইনডেক্সড), এবং দ্বিতীয় উপাদানটি হ'ল ফেনসআইডি (0-সূচকযুক্ত)। Pen.pick(int)
এই রিটার্ন মানটি উত্পন্ন করার জন্য একটি সহজ উপায় দেখুন । উদাহরণস্বরূপ খেলোয়াড় এবং জাভাডকের জন্য গিথুব পৃষ্ঠাটি দেখুন । যেহেতু আমরা কেবল একটি স্কোয়ার গ্রিড ব্যবহার করছি হেক্সাগন সম্পর্কিত কোনও ফাংশন এবং ক্ষেত্র উপেক্ষা করুন।
কিভাবে চালানো যায়
- গিথুব থেকে উত্স ডাউনলোড করুন।
- আপনার নিয়ামক বট লিখুন (অন্তর্ভুক্ত
package pigpen.players
করা নিশ্চিত করুন ) এবং এটিsrc/
ফোল্ডারে রেখে দিন; - সঙ্গে সংকলন
javac -cp src/* -d . src/*.java
। দিয়ে চালানjava pigpen.Tournament 4 9 9 false
(সর্বশেষ দুটি সংখ্যা গ্রিডের আকার সমন্বয় করতে পরিবর্তন করা যেতে পারে The আপনিtrue
যদি পিপি_রেকর্ড সফ্টওয়্যার ব্যবহার করতে চান তবে সর্বশেষ ভেরিয়েবলটি সেট করা উচিত ))
স্কোর
- চেইন সংগ্রাহক: 72
- Asdf: 57
- অলসবোন: 51
- ফিনিশার: 36
- = লিনিয়ারপ্লেয়ার: 18
- = পিছনের প্লেয়ার: 18
- র্যান্ডমপ্লেয়ার: 0
আরো দেখুন:
দ্রষ্টব্য : এই গেমটি প্রতিযোগিতামূলক চ্যালেঞ্জ এবং সহজেই দ্রবণযোগ্য নয়, খেলোয়াড়দের একটি বাক্স শেষ করার জন্য অতিরিক্ত মোড় দেওয়ার কারণে।
এই চ্যালেঞ্জের বিষয়ে পরামর্শের জন্য নাথান মেরিল এবং ড্যারেল হফম্যানকে ধন্যবাদ!
আপডেটগুলি :
moves(int player)
কোনও খেলোয়াড়ের করা প্রতিটি পদক্ষেপের একটি তালিকা পাওয়ার জন্য বোর্ড ক্লাসে একটি পদ্ধতি যুক্ত করা হয়েছে।
অনির্দিষ্ট অনুগ্রহ (100 টি উত্তর) :
প্রথম ব্যক্তি যিনি প্রতিটি রাউন্ডে জয়যুক্ত একটি সমাধান পোস্ট করেন এবং কৌশল ব্যবহার করেন (প্রতিপক্ষ কীভাবে খেলেন তা পর্যবেক্ষণের ভিত্তিতে প্লে সামঞ্জস্য করে)।