যুদ্ধক্ষেত্রের সমস্ত বট হঠাৎ করেই মস্তিষ্কে পরিণত হয়েছিল এবং এর কারণ কেউ ব্যাখ্যা করতে পারে না। তবে তারা লড়াই করতে সক্ষম হওয়া পর্যন্ত কে তাদের যত্ন করে - যদিও ব্রেনফাক একমাত্র ভাষা যা তারা আর বোঝে।
সর্বশেষ জমা দেওয়ার পরে এটি একটি সময় হয়ে গেছে তাই আমি অবশেষে ব্রেনফুকডবটসফটব্যাটলিংয়ের বিজয়ীকে ঘোষণা করব: নিউরোকি ম্যাজিকাল ফ্যান্টাসির সাথে জয়ের জন্য লিমিয়াআলুসিয়াকে অভিনন্দন!
স্কোরবোর্ড
| Owner | Bot Score |
|--------------------|-------------------------------|
| LymiaAluysia | NyurokiMagicalFantasy - 600 |
| Sylwester | LethalLokeV2.1 - 585 |
| weston | MickeyV4 - 584 |
| Sp3000 | YandereBot - 538 |
| Comintern | CounterPunch - 512 |
| Sylwester | BurlyBalderV3 - 507 |
| LymiaAluysia | NestDarwin - 493 |
| IstvanChung | Bigger - 493 |
| Manu | DecoyMaster - 489 |
| archaephyrryx | Wut - 478 |
| DLosc | LightfootPlodder - 475 |
| archaephyrryx | 99BottlesOfBats - 461 |
| Sylwester | TerribleThorV2 - 458 |
| MikaLammi | WallE2.0 - 443 |
| Mikescher | MultiVAC - 441 |
| archaephyrryx | Twitcher - 439 |
| Timtech | MetalDetector - 438 |
| AndoDaan | BeatYouMate - 433 |
| csarchon | TheWallmaster - 427 |
| Sparr | SeeSawRush - 412 |
| archaephyrryx | Stitcher - 406 |
| PhiNotPi | RandomOscillator - 403 |
| ccarton | AnybodyThere - 398 |
| Comintern | 2BotsOneCup - 392 |
| kaine | SternBot - 387 |
| PhiNotPi | EvoBot2 - 385 |
| PhiNotPi | EvoBot1 - 381 |
| Brilliand | TimedAttack - 373 |
| Sylwester | ReluctantRanV2 - 373 |
| AndoDaan | PrimesAndWonders - 359 |
| Nax | TruthBot - 357 |
| DLosc | Plodder - 356 |
| weston | FastTrapClearBot - 345 |
| MikaLammi | PolarBearMkII - 340 |
| Sp3000 | ParanoidBot - 336 |
| Moop | Alternator - 319 |
| TestBot | FastClearBot - 302 |
| icedvariables | PyBot - 293 |
| TestBot | DecoyBot - 293 |
| kaine | BestOffense - 291 |
| Geobits | Backtracker - 289 |
| bornSwift | ScribeBot - 280 |
| IngoBuerk | Geronimo - 268 |
| flawr | CropCircleBot - 239 |
| plannapus | CleanUpOnAisleSix - 233 |
| frederick | ConBot - 230 |
| frederick | 128Bot - 222 |
| AndoDaan | EndTitled - 219 |
| PhiNotPi | CloakingDeviceBot - 215 |
| AndoDaan | GetOffMate - 206 |
| DLosc | ScaredyBot - 205 |
| isaacg | CleverAndDetermined - 202 |
| PhiNotPi | CantTouchThis - 202 |
| Moop | StubbornBot - 174 |
| Cruncher | StallBot - 168 |
| IngoBuerk | Gambler - 157 |
| BetaDecay | RussianRoulette - 129 |
| flawr | DoNothingBot - 123 |
| SebastianLamerichs | Dumbot - 115 |
| mmphilips | PacifistBot - 112 |
| SeanD | DontUnderstand - 92 |
| proudHaskeller | PatientBot - 83 |
| frederick | Dumberbot - 70 |
| flawr | MetaJSRandomBot - 68 |
| Darkgamma | TheRetard - 61 |
| BetaDecay | Roomba - 61 |
| BetaDecay | PrussianRoulette - 31 |
| frederick | Dumbestbot - 0 |
09.10.2014 থেকে ফাইনাল স্কোর
EDIT6 : চরম আকার এবং রানটাইমের কারণে লগগুলি বাতিল করা। লাইনগুলিকে সংকীর্ণ করে আপনি সেগুলি নিজেই তৈরি করতে পারেন RunThisTournament.py
।
এডিআইটি 5 : নিয়ন্ত্রকের মধ্যে প্রয়োগিত সংক্ষিপ্তসার হ্যান্ডেল, আর কোনও বিশাল রানটাইম নেই। এর পার্শ্ব প্রতিক্রিয়া রয়েছে যে সংখ্যা এবং প্রথম বন্ধনী আর মন্তব্য হিসাবে বিবেচিত হবে না। আপনি যদি কোনও টীকাযুক্ত সংস্করণ সরবরাহ করতে চান তবে আপনি সেগুলি ব্যবহার করতে পারেন, তবে আপনার কোডটির একটি অনিবন্ধিত সংস্করণও যদি পাওয়া যায় তবে এটি খুব সহায়ক হবে , সুতরাং আমাকে ম্যানুয়ালি মন্তব্যগুলি সরানোর দরকার নেই। ধন্যবাদ!
সম্পাদনা 4 : শিরোনাম পরিবর্তন হয়েছে, কারণ টুর্নামেন্টটি হট নেটওয়ার্কের প্রশ্নগুলি থেকে সরানো হয়েছে। এটি নির্দেশ করার জন্য @ জিওবিটসকে ধন্যবাদ!
সম্পাদনা 3 : অপ্রত্যাশিত ফলাফলের কারণে বিএফ প্রোগ্রামগুলিতে সরানো মন্তব্যগুলি এখনই ঠিক করা উচিত। কারও মন্তব্য মুছে ফেলার ক্ষেত্রে যদি সমস্যা হয় তবে দয়া করে রিপোর্ট করুন।
সম্পাদনা 2 : যেহেতু এটি আমার বেশ ধীর কম্পিউটারে একটি আরকেন রানটাইম সৃষ্টি করেছে, তাই আমি টাইম আউট সীমাটি 100000 চক্র থেকে 10000 চক্রের মধ্যে কমিয়ে দিয়েছি। এমন নয় যে যে কোনওভাবে চলমান গেমের ফলাফলটিকে এই পয়েন্টের বাইরে ফেলেছে।
EDIT1 : মন্তব্যকারী প্রোগ্রামগুলিতে সংখ্যাকে উপেক্ষা করার কারণে দোভাষী দের কারণ হিসাবে রূপান্তর স্ক্রিপ্টে একটি বাগ সংশোধন করেছে।
বিবরণ
এটি বিএফ জাস্ট দ্বারা অনুপ্রাণিত একটি ব্রেনফাক টুর্নামেন্ট । দুটি বট (ব্রেনফাক প্রোগ্রাম) একটি অঙ্গনে একে অপরের সাথে লড়াই করছে যা মেমরি টেপ দ্বারা প্রতিনিধিত্ব করা হয়। প্রতিটি কক্ষটি -127 থেকে 128 অবধি মান ধরে রাখতে পারে এবং তাদের সীমাতে মোড়ানো করতে পারে (সুতরাং 128 + 1 = -127)।
বৈধ নির্দেশাবলী নিয়মিত ব্রেনফাকের সাথে সমান, যার অর্থ:
+ : Increment cell at your pointer's location by 1
- : Decrement cell at your pointer's location by 1
> : Move your memory pointer by 1 cell towards the enemy flag
< : Move your memory pointer by 1 cell away from the enemy flag
[ : Jump behind the matching ']'-bracket if the cell at your pointer's location equals 0
] : Jump behind the matching '['-bracket if the cell at your pointer's location is not 0
. : Do nothing
অঙ্গনটির আকার 10 থেকে 30 টি কোষ রয়েছে যা প্রতিটি যুদ্ধকে ছদ্মবেশীভাবে বেছে নেওয়া হয়েছে। উভয় প্রান্তে একটি 'পতাকা' অবস্থিত এটির প্রাথমিক মান আছে 128, অন্য সমস্ত ঘর শূন্য করা হয়েছে। আপনার বটটির লক্ষ্য তিনি আপনার নিজের পতাকাটি শিরোনাম করার আগে টানা 2 চক্রের জন্য শত্রুর পতাকা শূন্য করা।
প্রতিটি বট তার নিজস্ব পতাকা থেকে শুরু হয় যা তার নিজস্ব দৃষ্টিকোণ থেকে ঘর [0]। প্রতিপক্ষ টেপের অন্য দিকে অবস্থিত।
[ 128 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 ]
^ ^
my bot other bot
উভয় বট একই সাথে তাদের ক্রিয়াকলাপ চালায়, এটি একটি চক্র হিসাবে বিবেচিত হয়। গেমটি 10000 চক্রের পরে বা বিজয়ী শর্তগুলির একটির সাথে সাথেই শেষ হয়। প্রোগ্রামগুলির মধ্যে একটি যদি শেষ অবধি পৌঁছে যায় তবে এটি খেলা শেষ হওয়া অবধি অ্যানথিং করা বন্ধ করে দেয়, তবে এখনও জিততে পারে।
জয়ের শর্ত
আপনার বটটি নিম্নলিখিত শর্তগুলির একটিতে জিতে:
- আপনার শত্রুদের পতাকাটি আপনার আগে শূন্য
- আপনার শত্রু তার পয়েন্টারটিকে টেপ থেকে সরিয়ে নিয়েছে (
>
আপনার পতাকা বা<
তার নিজের হাতে চালায় ) - আপনার পতাকার মান 10000 চক্রের পরে আপনার প্রতিপক্ষের পতাকাটির মান থেকে 0 থেকে অনেক দূরে
বিধি
আপনার পোস্টে আপনার বট এবং এর কোডের জন্য একটি নাম থাকা উচিত।
- আপনার কোডটি আরও পঠনযোগ্য করতে আপনি নীচের সংক্ষিপ্ত বিবরণটি ব্যবহার করতে পারেন:
- উদাহরণস্বরূপ
(+)*4
একই++++
, লুপ লজিক সংক্ষেপণ যুক্তির সাথে সংঘর্ষের পর থেকে বন্ধনীগুলির সাথে তুলনামূলকভাবে বন্ধনী ব্যতীত অন্য যে কোনও নির্দেশাবলীর জন্য এটি বৈধ ।[-[-[-
পরিবর্তে ব্যবহার করুন([-)*3
- উদাহরণস্বরূপ
- সংক্ষিপ্ত বিবরণ
+-><[].
ব্যতীত অন্য প্রতিটি চরিত্র একটি মন্তব্য এবং তাই উপেক্ষা করা হয়()*
যে সমস্ত বুটগুলি বিধি অনুসরণ করে না তাদের টুর্নামেন্ট থেকে বাদ দেওয়া হবে।
- কেবলমাত্র ব্রেইনফাকের অনুমতি রয়েছে, পদ্ধতি বা পাটিগণিতের ক্রিয়াকলাপ সমর্থন করে এমন কোনও বৈকল্পিক নেই
- আপনার বটের উত্স কোডটিতে তুলনামূলক বন্ধনী থাকা উচিত নয়
আপনি প্রাথমিক কৌশল সম্পর্কে নিজেকে অবহিত করতে পারেন তবে নিজের বোটের জন্য অন্যের কোড ব্যবহার করবেন না ।
স্কোরিং
অন্যান্য বটগুলির বিরুদ্ধে জয়ের সংখ্যা দ্বারা একটি বটের স্কোর নির্ধারিত হয়। 2 বটের মধ্যে একটি মুখোমুখি বিভিন্ন মেমরি টেপ দৈর্ঘ্যের সাথে 10 টি ম্যাচ থাকে, যার ফলে প্রতি ম্যাচটিতে সর্বোচ্চ 10 পয়েন্ট হয়। এই ম্যাচের কোনও পয়েন্টে ড্রয়ের ফলাফল নেই।
নিয়ন্ত্রণ প্রোগ্রাম
যুদ্ধগুলি থেকে সম্পূর্ণ লগ সহ আপনি গিথুব এ নিয়ন্ত্রণ প্রোগ্রামটি পেতে পারেন । লিডারবোর্ড তৈরি হয়ে গেলে এটি এখানে পোস্ট করা হবে।
ভান্ডারটি ক্লোন করতে নির্দ্বিধায় এবং নিজেরাই অন্যের বিরুদ্ধে নিজের বট চেষ্টা করুন। python Arena.py yourbot.bf otherbot.bf
ম্যাচ চালাতে ব্যবহার করুন । কমান্ড-লাইন পতাকা -m
এবং দিয়ে আপনি শর্তগুলি পরিবর্তন করতে পারেন -t
। যদি আপনার টার্মিনাল এএনএসআই অব্যাহতি ক্রমগুলি সমর্থন করে না, --no-color
রঙিন আউটপুট অক্ষম করতে পতাকাটি ব্যবহার করুন ।
উদাহরণস্বরূপ বট
FastClearBot.bf
(>)*9 Since the tape length is at least 10, the first 9 cells can be easily ignored
([ Find a non-zero cell
+++ Increment at first, since it could be a decoy
[-] Set the cell to zero
]> Move on to the next cell
)*21 Repeat this 21 times
DecoyBot.bf
>(+)*10 Set up a large defense in front of your flag
>(-)*10 Set up another one with different polarity
(>+>-)*3 Create some small decoys
(>[-] Move on and set the next cell to zero
. Wait one round, in case it is the enemy's flag
)*21 Repeat this 21 times
ডেকয়বট প্রতি ম্যাচটি দশজনের চেয়ে বেশি টেপের দৈর্ঘ্যের সাথে জিতবে, যেহেতু ফাস্ট ক্লেয়ারবোট ছোট ডিকোগুলি এড়াতে পারে তবে বড়টি নয়। একমাত্র পরিস্থিতি যেখানে ফাস্টক্লেয়ারবট ডিকোয়বটের বিরুদ্ধে জয়লাভ করতে পারে, তা যখন তার প্রতিপক্ষের বড় বড় ডিকোগুলি তৈরি করার আগে শত্রুর পতাকা পৌঁছানোর পক্ষে যথেষ্ট দ্রুতগতি হয়।