পাবলিক ভেরিয়েবলের সাথে কী ভুল?


33

কোড বটস

আমি ব্যক্তিগত এবং সুরক্ষিত ভেরিয়েবলগুলি ঘৃণা করি। আমি কেবল কিছু এবং সমস্ত কিছু অ্যাক্সেস করতে চাই!

আপনি যদি আমার মতো হন তবে এই চ্যালেঞ্জটি আপনার পক্ষে!

এমন একটি বট লিখুন যা অন্য বটের সাথে একত্রে কাজ করে অন্য বটগুলি যা চান তা করতে দেয়। আপনি একজন প্রোগ্রামার এবং আপনি কীভাবে কাজ করার কথা বলে তা আপনি জানেন। আপনার কাজ হ'ল আরও অনেকগুলি বটকে যতটা সম্ভব আপনার উপায়ে রূপান্তর করা।

কোড

আপনার বট লিখতে আপনার কাছে 24 লাইন কোড থাকবে have প্রতিটি পালা, প্রতিটি বট ক্রমান্বয়ে 1 লাইন চালায়।

প্রতিটি বট 5 টি ভেরিয়েবলের Aমাধ্যমে সঞ্চয় করে EAএবং Bব্যক্তিগত ব্যবহারের জন্য, Cকার্যকর করার জন্য পরবর্তী লাইনটি Dসঞ্চয় করে, বর্তমান দিকটি সঞ্চয় করে এবং Eএলোমেলো সংখ্যা। চলকগুলি 0 থেকে শুরু হয়, ব্যতীত D, যা এলোমেলো মান থেকে শুরু হবে। সমস্ত ভেরিয়েবলের কেবল 0-23 স্টোর রয়েছে। বৃহত্তর বা ছোট সংখ্যা 24 দ্বারা সংশোধন করা হবে।

এই পোস্টে, আমি আপনার মুখোমুখি সংলগ্ন বট হিসাবে প্রতিপক্ষকে ব্যবহার করব

প্রতিটি লাইনে নিম্নলিখিত 5 টি কমান্ডের মধ্যে একটি থাকতে হবে:

  1. Flagকিছুই করে না আপনি কিভাবে জিতবেন তা বাদে
  2. Moveআপনার বটটি Dতম দিকে নিয়ে যায়। যদি কোনও বট ইতিমধ্যে স্থানটি দখল করে থাকে তবে কোনও পদক্ষেপ ঘটবে না
  3. Copy Var1 Var2 Var1 এর বিষয়বস্তুগুলিকে Var2 এ অনুলিপি করে
  4. If Condition Line1 Line2 যদি শর্তটি সত্য হয় তবে লাইন 1 চালায়, অন্যথায় লাইন 2
  5. Block Var1 একটি ভেরিয়েবল উপর পরবর্তী লেখার অবরুদ্ধ

একটি পরিবর্তনশীল নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে:

#Varভেরিয়েবলটি লাইন নম্বর হিসাবে ব্যবহার করবে। যদি A17 Copy #8 #Aহয় তবে লাইন 8 এর সামগ্রীগুলি লাইন 17 এ অনুলিপি করবে your *Varআপনার প্রতিপক্ষের পরিবর্তনশীলটি ব্যবহার করবে will দুটি ভেরিয়েবল যুক্ত করতে Copy 5 *Cপ্রতিপক্ষের Cভেরিয়েবল সেট 5 Var+Varকরবে। Copy D+1 Dবটটি ডানদিকে ঘোরান

যখন Dদিক হিসাবে ব্যবহৃত হয় তখন ব্যবহৃত [North, East, South, West][D%4]হবে

এই সংশোধনকারীদের বেঁধে রাখা যেতে পারে: Copy *#*C #9আপনার প্রতিপক্ষের পরবর্তী লাইনটি অনুলিপি করবে 9 **Dনং লাইনে আপনার নিজের কোডে কার্যকর করা আপনার প্রতিপক্ষের প্রতিপক্ষকে বোঝায়D পরিবর্তনশীলকে ।

একটি শর্ত নিম্নরূপ মূল্যায়ন করা হবে:

  1. যদি Var:
    1. ভার যদি Aহয় Cতবে এটি ভার্স ননজারো হলে সত্য হবে, অন্যথায় মিথ্যা।
    2. ভার Dযদি হয় তবে Dতৃতীয় দিকের বট থাকলে এটি সত্য হবে will
    3. যদি ভার হয় E এটি সত্যই ফিরে আসবে যদি ই বিজোড় হয়, অন্যথায় মিথ্যা
    4. ভার যদি একটি লাইন হয় তবে এটি একটি পতাকা রেখা হলে এটি সত্য হবে
  2. যদি Var1=Var2:
    1. উভয় হলে সত্য হয় A-E এবং একই সংখ্যার সমান হয়
    2. উভয়ই লাইন হলে লাইন টাইপ সমান হলে সত্যটি ফেরত দেয়
  3. যদি Var1==Var2:
    1. উভয় হলে সত্য হয় A-E এবং একই সংখ্যার সমান হয়
    2. উভয়ই লাইন হলে এবং একইরূপে সত্য হয় (বিভিন্ন বট থেকে পতাকা সমান হবে না)

প্রতিটি ধরণের 50 টি বট নীচের প্যাটার্নে টরয়েডিয়াল বিশ্বে স্থাপন করা হবে:

B...B...B...B...
..B...B...B...B.
B...B...B...B...
..B...B...B...B.

পাঁচ হাজার টার্নের প্রতিটি গেমের পরে, প্রতিটি বটের পতাকা গণনা করা হবে। অন্য কোনও ধরণের পতাকার চেয়ে বটটিতে আপনার পতাকা বেশি থাকলে আপনি একটি পয়েন্ট পাবেন। যদি বটের মধ্যে টাই হওয়ার ক্ষেত্রে Nকোনও পয়েন্ট দেওয়া হয় না।

10 টি গেম থাকবে এবং স্কোরগুলি শেষে জমা হবে।

পার্শ্ব নোটস

লাইনের মন্তব্যগুলির শেষে অনুমোদিত, এবং এর সাথে চিহ্নিত করা হয়েছে //

এমন কিছু করার চেষ্টা করা যা বোঝা যায় না, যেমন একটি লাইনে যুক্ত করা কিছুই করবে না

অস্তিত্বহীন বটটিতে কিছু করার চেষ্টা করা কিছুই করবে না

কোনও অনির্দিষ্ট পুনরাবৃত্তি Ifশেষ হবে কোনও লাইন কার্যকর না করে

If এর মান পরিবর্তন করে না C

একজন Block এটা লিখতে কারো প্রচেষ্টা পর্যন্ত মেয়াদ উত্তীর্ণ হয় না

একাধিক ভেরিয়েবল এবং লাইনগুলি একবারে অবরুদ্ধ করা যেতে পারে

Blockভেরিয়েবল একাধিক বার আইএনএন করা একাধিক বার অবরুদ্ধ হবে যতক্ষণ না দ্বিতীয় ব্লকের স্টেটমেন্টটি আপনার প্রথমটির চেয়ে আলাদা কোডের কোডে থাকে

আর্গুমেন্টের (এবং কমান্ডের পরে) মধ্যে ফাঁকা স্থানগুলি কেবলমাত্র অনুমোদিত

যদি কোনও বট 24 টি লাইনের চেয়ে কম হয় তবে পতাকাটি অন্যান্য রেখাগুলি হবে।

নমুনা প্রোগ্রাম

Copy 2 C        //Skip to the If line
Flag            //Where I'm storing my flag
Move            //Move in the D'th direction
If D #5 #2      //If there's a bot, copy code, otherwise, move!
Copy #1 *#E     //Copy my flag onto a random spot in my bot's code
Copy 2 C        //Skip back to the If line

প্রোগ্রামটি এখানে আমার পাইথন নিয়ামক দ্বারা পরিচালিত হবে ।

জাভা নিয়ামকটি এখানে রয়েছে এটি দ্রুত এবং অজগরটির চেয়ে অনেক ভাল দেখাচ্ছে।

স্কোরবোর্ড:

  1. 6837 $ অনুলিপি
  2. 3355 লকহিড
  3. 1695 মাইন্ডকন্ট্রোল
  4. 967 বাইজেন্টাইন
  5. 959 অ্যাটাকআরএলসে
  6. 743 ক্যাডমিলিয়ন
  7. 367 ইনফ্লুয়েঞ্জা
  8. 251 TheCommonCold
  9. 226 মাগাস
  10. 137 হাইডব্লকঅ্যাটাক
  11. 129 রোবট
  12. 123 ফাস্টমোভক্লোনডজ
  13. 112 ফাস্টফোর্ডক্লোন
  14. 96 QuickFreeze
  15. 71 মেরামতএন্ডপ্রোটেক্ট
  16. 96 সুপারফ্রিজে
  17. 93 রিভিংভাইরাস
  18. 80 ফরোয়ার্ডক্লোন
  19. 77 হিমশীতল
  20. 68 পলিম্পস্টে
  21. 62 ব্লকফ্রিজেট্যাক
  22. 51 রাশআটাকডজ
  23. 46 ব্লকার
  24. 40 ট্যুরেটমেকার
  25. 37 কপির্যাট
  26. 37 কামিকাজে
  27. 35 ফ্ল্যাগইনজেক্টর
  28. 33 র্যান্ডমকপিয়ার
  29. 31 কুখ্যাত
  30. 29 হ্যাপিএসএ্যাক্লাম
  31. 25 ন্যানোভাইরাস
  32. 21 নুলিফায়ার
  33. 19 Nanoviris
  34. 17 বোরিংকপিবোট
  35. 16 মুভবোট
  36. 14 ফ্ল্যাগবোট
  37. 13 নিউট্রালাইজার
  38. 12 ক্যান্সার
  39. 9 ডিএনএবোট
  40. 9 পরজীবী
  41. 8 মেটাআইন্সিডিয়াস
  42. 8 রিব্র্যান্ডিং
  43. 8 অ্যাডাপটিভোট
  44. 8 পুনরুত্পাদনবোট
  45. 8 কুংফুবোট
  46. 5 কুইকফ্রিজারবট
  47. 4 আক্রমণকারী

1
একবার জাভা আমার পরীক্ষার জন্য উপলব্ধ হয়ে উঠলে আমি এই সমস্ত কিছু করব।
ওয়াসমু

2
আমি ধরে নিচ্ছি আপনি কখনও কোর যুদ্ধ করেন নি। en.wikipedia.org/wiki/Core_War
matt_black

আমি এটি খেলিনি, তবে এই চ্যালেঞ্জটি লেখার সময় আমি এটিতে বেশ কিছুটা পড়েছি।
নাথান মেরিল

পাইথন কন্ট্রোলারের জন্য আমার একটি প্যাচ রয়েছে এবং এটি গিথুবকে আপনার কাছে ফিরিয়ে দেওয়ার চেষ্টা করেছি ... তবে আমার অনুমতি নেই / সত্যিই গিট জানেন না। প্যাচ সর্বশেষ "16" গুলি "নং_লাইনস" এর সাথে প্রতিস্থাপন করে সর্বশেষ 8 টি নির্দেশিকায় লিখন / জাম্প অ্যাক্সেসের অনুমতি দেয়; ঘোষিত_ফ্লেগস () -এ টাই কন্ডিশন থেকে "সর্বোচ্চ_ফ্লেগ_কাউন্ট = 0" কে সরিয়ে দেয়, যা কখনও কখনও তৃতীয় বটকে দ্বিমুখী টাই প্রদান করে।
অ্যাডিপি

1
কোন ইটিএ পরের যুদ্ধের রাউন্ডটি কবে চলছে? মোটেও হুড়োহুড়ি নেই। আমি উৎসুক. ধন্যবাদ।
COTO

উত্তর:


13

Flagbot

Flag

যখন অন্য বটগুলি আমাকে তাদের কোড দেওয়ার জন্য যথেষ্ট সুন্দর হতে চলেছে তখন কেন কিছু করতে বিরক্ত করবেন?


8

জমাট বাঁধা ট্যাগ

Move
If D #3 #2
Copy 23 C
Copy 3 C
Copy #23 *#*C
Copy #21 *#*C+1
Copy #22 *#*C+2
Copy #21 *#*C+3
Copy #22 *#*C+4
Copy #21 *#*C+5
Copy #22 *#*C+6
Copy #21 *#*C+7
Copy #22 *#*C+8
Copy #21 *#*C+9
Copy #22 *#*C+10
Copy #21 *#*C+11
Copy #22 *#*C+12
Copy #21 *#*C+13
Copy #22 *#*C+14
Copy D+1 D
Copy 0 C
Flag
Flag
Copy C+23 C

একটি লুপে প্রতিপক্ষকে ফাঁদে ফেলুন, তাকে পতাকা দিয়ে পূর্ণ করুন, পরবর্তী প্রতিপক্ষের দিকে যান।


Copy C+23 Cএটি কোড xD এর সবচেয়ে দূষিত লাইন হতে হবে।
ক্রંચার

আমি আগ্রহী. এটি অসম্পূর্ণ হতে পারে। পতাকাগুলি পূর্ণ করার পরিবর্তে, আপনি কী তাদের মধ্যে কোনও লুপ রাখতে পারেন যা পতাকাগুলি দিয়ে নিজেকে পূর্ণ করে? বা এটি কি আপনার পতাকা হিসাবে গণনা করবে না?
ক্রাঙ্কার

এটি একটি ঝরঝরে এবং व्यवहार्य ধারণা, তবে আরও জটিল। আপনার ব্যবহার করতে এমন একটি বট লিখতে হবে :)
স্পার

2
আপনি কি শেষ প্রশ্নের উত্তর জানেন? Or would that not count as your flags?। কারণ যদি তারা আপনার নিজস্ব পতাকা হিসাবে গণনা না করে তবে এটি অবশ্যই ভাল সমাধান নয়
ক্রাঙ্কার

@ ক্র্যাঞ্চার আপনি তাদের আপনার পতাকাগুলির মধ্যে একটি দিতে এবং এটিকে অনুলিপি করতে পারেন, যা আপনার একটি হিসাবে গণ্য হবে।
স্পার

8

পরজীবী

কেন অন্য বট হত্যা? এই বটটি প্রতিপক্ষের কোডের মাধ্যমে দেখে এবং কেবল পতাকাগুলি প্রতিস্থাপন করে।

Copy 1 A
Copy E D
Block #A
If *#A #C+3 #C
Copy A+A+A+A+A A
Copy C+19 C
Copy #C+4 *#A
Flag
Copy 1 A
Copy E D
Block #A
If *#A #C+3 #C
Copy A+A+A+A+A A
Copy C+19 C
Copy #C+4 *#A
Flag
Copy 1 A
Copy E D
Block #A
If *#A #C+3 #C
Copy A+A+A+A+A A
Copy C+19 C
Copy #C+4 *#A
Flag

8

$ অনুলিপি

এই বটটি সিটিও-র লকহিডের মতো একই কৌশল ব্যবহার করে, তাই আমি নির্লজ্জভাবে ঘৃণা ও বর্ধন করব।

এটি Cব্লকগুলি ভাঙার জন্য একটি দুর্বলতা কাজে লাগায় এবং এমনকি নিউট্রালাইজারকে বিপরীত করে দেয়। এটি কারণেই এটি বিস্মৃত লেখা হয়। আমি মনে করি এটি যদি ভেঙে যেতে পারেC শিফটটি পুনর্বহাল করা , তবে যতক্ষণ না শিফট স্থির থাকে ততক্ষণ এটিকে লড়াই করার জন্য এটি আবারও লেখা যেতে পারে।

যে কারণেই হোক না কেন, শেষে লুপের অভাব এই বটটিকে খুব ভাল করে তুলেছে।

Block #C+A 
If D #7 #13        //If [enemy] Copy 0 ELSE block
If D #8 #0         //If [enemy] Freeze 0 ELSE block
If D #9 #6         //If [enemy] FreezeCheck ELSE Inc
Move
Copy 0 C
Copy A+5 A          //Inc
Copy 23 *C          //Copy 0
Copy #10 *#*C+23    //FreezeAttack
If *#*C==#10 #11 #5 //FreezeCheck: If [frozen] GOTO Copy Attack ELSE GOTO [1]
Copy C+23 C         //FREEZE
Copy 13 C           //GOTO Copy Attack
Copy 15 C           //Loop Copy Attack
Block #C+A
Copy D+3 *D             //Copy Attack: Spin Enemy
Copy 0 *B               //Set enemy counter (a la COTO)
Copy #*B+0 *#*C+*B+1    //Copy my lines
Copy #*B+1 *#*C+*B+2    //Copy my lines
Copy #*B+2 *#*C+*B+3    //Copy my lines
Copy *B+3 *B            //Inc counter
If *B==0 #19 #12        //Loop check
Copy D+1 D              //Turn myself

1
আমি আপনার উন্নত নকশাকে প্রণাম জানাব এবং বটস বনাম 3 প্রতিযোগিতায় আপনাকে আবার মুখোমুখি করব। ;)
কোতো

আমি সত্যই বিশ্বাস করি এটি সবার পক্ষ থেকে একটি গ্রুপ প্রচেষ্টা ছিল। এটির মডেল অফ করার জন্য যদি সেখানে বেশ কয়েকটি বট না থাকত তবে এটির অস্তিত্ব থাকবে না। মজার বিষয় হল, এই বটটি যুক্ত হওয়ার ফলে স্কোরবোর্ডটি পুরোপুরি পুনর্গঠিত হয়েছিল কারণ যেগুলি বটগুলি ব্লক করার উপর নির্ভর করে সেগুলি ভেঙে দেওয়া হয়েছিল এবং অন্যরা পতাকা-প্রতিস্থাপনের উপর নির্ভর করে আরোহণ করেছিল।
ওয়াসমু

কেউ সংক্ষিপ্ত বিবরণ দিতে পারে, কোথাও, ব্লকের আসল আচরণ এবং এই বট এবং লকহিড কীভাবে এর সদ্ব্যবহার করবে?
স্পার

হ্যাপিএএএসএলএএম দ্বারা বর্ণিত হিসাবে প্রতিটি লাইন ব্লকগুলি অর্জন করতে পারে । সর্বাধিক গুরুত্বপূর্ণ, এটি একই মানগুলির সাথে ডাকা ব্লকগুলির জন্য স্ট্যাক করে নাC । সুতরাং, কোনও Ifবিবৃতি থেকে কল পেলে একটি ব্লক স্ট্যাক করা যেতে পারে , যা এখানে ব্যবহৃত শোষণ। $ অনুলিপি ব্লকগুলি (ক্ল্যামের মতো) Copyএকই লাইনে চালনা করে সফল হওয়া অবধি সফল হয়, যা এটি লকহিডের থেকে একটি সুবিধা দেয়।
ওয়াসমু

7

লকহীড

আমার তৃতীয় (এবং সম্ভবত চূড়ান্ত) এই বিশেষ বোট যুদ্ধের জমা: লকহিড চুল্লী, বা সংক্ষেপে "লকহিড"।

Block #C+A
If D #C+7 #C+1
Block #C+A
Move
Copy A+5 A
If A==0 #C+12 #C+21
Copy C+17 C
Copy D+3 *D
Copy C+9 C
Copy C+21 C
Copy C+23 C
Copy #C+23 *#*C+2
Copy #C+22 *#*C+1
Copy 0 *A
Copy #*A+C+9 *#*C+*A+1
Copy *A+1 *A
If *A==0 #C+15 #C+17
Copy D+1 D
Copy C+5 C

@ ওয়াসমু কে বিশেষ ধন্যবাদ জানায়, যিনি তার আবিষ্কার ভাগ করে নিয়েছেন "" একাধিক বার পরিবর্তনশীলকে ব্লক করা ততক্ষণ আপনার ব্লকের কোডের প্রথম লাইনের চেয়ে আলাদা ব্লকের বিবরণ হিসাবে একাধিক বার অবরুদ্ধ হবে। ' কেবল সত্য "শোষণ নয়। আমি এর ব্যাপক ব্যবহার করি।

এছাড়াও, প্রতিযোগিতা পরিচালনা করার জন্য এবং সিমুলেটার প্রকাশের জন্য ধন্যবাদ নাথান মেরিলকে। সিমুলেটরটি বটগুলি সুরের ক্ষেত্রে একেবারে অমূল্য। আমি যদি এটি নিজের চোখ দিয়ে অনুকরণ না করি তবে আমি এটি বিশ্বাস করতাম না, তবে সর্বাধিক ধারণামূলকভাবে ছোটখাটো বট বৈশিষ্ট্য যুক্ত করা বা অপসারণের অর্থ দুর্দান্ত সাফল্য এবং অবসন্ন ব্যর্থতার মধ্যে পার্থক্য হতে পারে। আমি খুব ছিঁড়ে আছি যে এটি ভাল জিনিস কিনা।


একাধিক বার ভেরিয়েবল ব্লক করা ব্যর্থ হয়। তবে এটি কেবলমাত্র যদি ব্লক করতে ব্যর্থ হয়: আপনি একই লাইনটি চালাচ্ছেন (সেই লাইনের Ifদিকে নির্দেশক ব্যর্থ হবে না), আপনি একই মানটি ব্লক করছেন (একটি একক লাইন 1-24 ইনক্রিমেন্টিং ভেরিয়েবলের সাহায্যে ব্লক করতে পারে), এবং ব্লকটি ইতিমধ্যে প্রকাশিত হয়নি (কেউ কেউ এই পরিবর্তনশীলটি সংশোধন করার চেষ্টা করেছিল)
নাথান মেরিল

আমি ওপিতে বিবৃতিটি প্রতিদ্বন্দ্বিতা করি কারণ ব্লক নির্দেশনা আইপি-র সাথে সম্পর্কিত, না ব্লক বিবৃতি। সুতরাং একটি একক ব্লক বিবৃতি সমস্ত নির্দেশাবলীতে 24 টি হিসাবে পৃথক ব্লক প্রতিষ্ঠা করতে পারে। আমি জমা দিচ্ছি যে ওপি-র ধারাটি "আপনার ব্লকের প্রথম ব্লকের বিবৃতি যতক্ষণ না আপনার প্রথম" কোডের জোড় ( C, <block target>) ইতিমধ্যে কার্যকর না হয়ে থাকবে "ততক্ষণ" সংশোধন করে "করা উচিত code অর্থাৎ ব্লক স্টেটমেন্টটি যে রেখায় রয়েছে তাতে স্ট্যাকিংয়ের সাথে কোনও প্রাসঙ্গিকতা নেই, কেবলমাত্র যদি ব্লকটি কার্যকর করা হয়, C= ব্লক নির্দেশিকার ঠিকানা।
COTO

1
এই বট আশ্চর্যজনক! এটি সর্বোত্তম ধারণাগুলির একটিতে একত্রিত করে। এটি কোনও শত্রু না পাওয়া পর্যন্ত এটি নিজেকে রক্ষা করে, তারপরে এটি শত্রুকে ডাবল-ফ্রিজ করে এবং বিপরীত দিকে মুক্ত করার আগে লক্ষ্যটিতে নিজের একটি অনুলিপি আপলোড করে। সিমুলেশনগুলিতে, আমি এর একটি অনুলিপি দেখেছি যে কোনও ক্ষতি হয়েছে repair কি দারুন! দুর্দান্ত কাজ, সিটিও!
ওয়াসমু

6

আক্রমণ বা অন্যথায়

বাইজানটাইনদের মতো ডিফেন্সিভ রোবটগুলি এত ভালভাবে কাজ করছে দেখে, আমি পাশাপাশি একটি প্রতিরক্ষামূলক রোবট তৈরি করার সিদ্ধান্ত নিয়েছি।

শত্রু উপস্থিত রয়েছে কি না তার উপর নির্ভর করে এটিতে দুটি সেট নিদর্শন রয়েছে।

  • শত্রু উপস্থিত না থাকলে, এটি 3 টি টার্নের জন্য এটির রেখাগুলি আটকে দেয় এবং তারপরে সরে যায়।
  • শত্রু যদি উপস্থিত থাকে তবে এটি তার পতাকাটি অনুলিপি করার সাথে সাথে কোডটি অনুলিপি করার মধ্যে বিকল্প হয়েছে যা শত্রুকে সেই পতাকাটি অনুলিপি করতে বাধ্য করবে (একটি দুর্বল প্রতিলিপি) এটি তার পতাকাটি অনুলিপি করেছে
  • লুপের শেষে, এটি এলোমেলো দিকে পরিবর্তিত হয় এবং অবিরত থাকে
  • এর কোডটির বেশিরভাগ দিকগুলি সদৃশ

আরও পরীক্ষায় কয়েকটি গুরুত্বপূর্ণ ধারণাটি প্রদর্শিত হয়েছিল:

  • "ডানদিকে ঘুরুন" (বিকল্পের চেয়ে +2700) এর চেয়ে নাটকীয়ভাবে "টার্ন এলোমেলো" সঞ্চালিত হয়েছে
  • এর ব্লক ইনক্রিমেন্ট A+7অন্য যে কোনও ইনক্রিমেন্টের তুলনায় আরও কার্যকর বলে দেখানো হয়েছে (পরবর্তী সেরাের চেয়ে আরও বেশি +200)
  • "দুর্বল প্রতিলিপি" (বিকল্পের চেয়ে +900) এর চেয়ে ভাল বলে "সরাসরি আক্রমণ" দেখানো হয়েছে
  • অন্যান্য সংমিশ্রণের তুলনায় "3-1-2-1" এর প্রতিরক্ষা (পরবর্তী সেরাগুলির তুলনায় +200)
  • সদৃশ আক্রমণ, ব্লক, এবং লুপ কোড এর স্কোর উন্নত করে (+300 নন-ডুপ্লিকেট ছাড়াই)
  • সদৃশ ব্লক ইনক্রিমেন্ট তার স্কোর উন্নতি করে না (+400 ওভার নকল)

জাভা ইউআই এর মাধ্যমে গ্রাফিকালি সিমুলেশনটি পর্যবেক্ষণ করা অনেক সহায়তা করেছিল। ধন্যবাদ! নীচে নতুন এবং উন্নত কোড রয়েছে। আমি মনে করি না যে আমি আরও কিছু করতে পারি।

Block #C+A          //Dynamic block for If statements
If D #20 #0
If D #19 #8
If D #20 #23
If D #19 #0
If D #20 #8
If D #19 #23
Copy A+7 A          //Increment dynamic block
Block #C+A          //Dynamic block for If statements
If D #19 #8
If D #20 #0
If D #19 #8
If D #20 #23
If D #19 #8
If D #20 #0
If D #19 #23
Copy E D            //Turn Random
Copy 23 C           //Loop to beginning
Copy 23 C           //Loop to beginning
Copy #22 *#*C+1     //Copy my flag to the enemy's next
Copy #21 *#*C+1     //Copy my flag to the enemy's next
Flag
Flag
Move

এই বটটি মারাত্মকভাবে দুর্দান্ত করেছে। এবং আপনি জিইউআইয়ের জন্য স্বাগত।
নাথান মেরিল

আমি এটি দ্বিতীয় লুপ অন্তর্ভুক্ত করার জন্য আপডেট করেছি, যা নাটকীয়ভাবে এর কার্য সম্পাদনাকে উন্নত করেছে। আমি আরও লক্ষ্য করেছি যে জাভাতে ব্লক করা তার অবরুদ্ধের উপর ভিত্তি করে C। কারণ এই বটটির উপর ভিত্তি করে একটি ঘূর্ণমান ব্লক রয়েছে C, এটি এর প্রতিটি কমান্ডে একাধিক ব্লক অর্জন করবে। এটি এই বটকে অতিরিক্ত প্রতিরক্ষামূলক করে তোলে।
ওয়াসমু

আমার বোধগম্যতা হল যে উত্স প্রতি নির্দেশের ভিত্তিতে কেবলমাত্র একটি ব্লক প্রতিষ্ঠিত হতে পারে, সুতরাং আপনার উপরের কোডটি কোনও নির্দেশিকায় কেবলমাত্র একটি ব্লক প্রতিষ্ঠা করতে পারে (এবং প্রতিটি নির্দেশে একটি ব্লক স্থাপনে এটি পুরো 24 * 17 বার লাগবে)। যদি আমার বোঝাপড়াটি ভুল হয়, তবে দ্বিতীয় ব্লকের স্টেটমেন্টটি আপনার প্রথমের চেয়ে আলাদা কোডের কোডের যতক্ষণ না আপনার ব্লকের একাধিকবার ব্লক করা একাধিকবার ব্লক হয়ে যাবে। ওপিতে সংশোধন করা দরকার, কারণ ওয়াসমুর কোড কোনও নির্দেশে একাধিক ব্লক স্থাপন করতে সক্ষম হলে এই বিবৃতিটি (স্পষ্টতই) মিথ্যা।
COTO

@ কোটো: জাভা সিমুলেটর Ifএকটি তালিকায় প্রতি লাইনে একটি ব্লক যুক্ত করে, Cভেরিয়েবলটিকে ডাকে যা এটি বলে। সুতরাং 1 টি ব্লক এবং 9 যদি এটি ব্লক বিবৃতিটি কার্যকর করে, বট প্রতিটি লাইনের জন্য 10 টি ব্লক পেতে পারে, (কমপক্ষে 24 * 10 * 10 পালা নিয়ে) সম্ভবত ওপি অনুকরণটি সঠিকভাবে প্রকাশ করে নি vey
ওয়াসমু

মূল ধারণাটি ধরে রেখে পুনরায় উন্নত পুনরাবৃত্তিগুলি প্রতিবিম্বিত করতে আমি আবার কোড আপডেট করেছি। আমি ভেবেছিলাম প্রতিটি পুনরাবৃত্তির সাথে ফোরাম প্লাবিত করার চেয়ে এটি আরও ভাল হবে, যেমন দুর্বল প্রতিরূপকরণ থেকে সরাসরি আক্রমণে স্যুইচ এবং নকল-অনুলিপিযুক্ত। আপনি যদি আমার আসলটি পুনরায় পোস্ট করতে চান তবে আমি এটি করতে পারি।
ওয়াসমু

5

সারি বট

Move
If D #7 #0
If D #7 #0
If D #7 #0
If D #7 #0
If D #7 #0
Copy 0 C
If D=*D #9 #8     //If they point in a different direction
Copy *D D           //fix that
If #A==*#A #10 #11  //Did we copy line A already?
Copy A+1 A          //If so, A++
Copy #A *#A         //else, copy it!

এটি একটি রোবট না পাওয়া পর্যন্ত সরানো হবে।
সেই রোবটটিকে নিজের মতো করে একই দিকে সেট করবে।
এরপরে এর কোডটি রোবটে অনুলিপি করবে।
এটি "রো বট" রোবটগুলির একটি সারি তৈরি করা উচিত। :)


দুটি (সহজেই স্থিরযোগ্য) সমস্যা রয়েছে। প্রথমত, Ifবিবৃতি অবশ্যই মূলধন করা উচিত। দ্বিতীয়ত, সেখানে উভয় দিকে শূণ্যস্থান করা উচিত হবে না =, মত D=*D
PhiNotPi

এটা একটি অসাধারণ চিন্তা.
স্পার

পতাকা ছাড়া আপনি জিততে পারবেন না।
পাওলো ইবারম্যান

3
@ পাওলোবার্মান বটগুলি 24 লাইন পর্যন্ত পতাকা দ্বারা পূর্ণ, তাই এই বটটির শেষে 12 টি অন্তর্ভুক্ত পতাকা রয়েছে।
স্পার

5

সুপার নিশ্চল

Move                    // start moving!
Block #E
If D #12 #0             // 8 turns of attack or move
If D #12 #0
If D #12 #0
If D #12 #0
If D #12 #0
If D #12 #0
If D #12 #0
If D #12 #0
Copy D+1 D              // change direction
Copy 0 C                // start over
If *#*C==#23 #13 #14    // if opponent is frozen, give them a flag, otherwise freeze them
Copy #C+13 *#E          // give a flag to opponent
Copy #23 *#*C           // copy freeze line to opponent
Flag                    // 8 flags, one per If above
Flag
Flag
Flag
Flag
Flag
Flag
Flag                    
Copy C+23 C             // this line freezes any bot that executes it

এই বটটি কাজ না হওয়া অবধি সামনে বটকে জমাট বাঁধার চেষ্টা করে, তারপরে এলোমেলো লাইনে একগুচ্ছ পতাকা লিখেছে এবং এর 8 টি টার্ন পরে এটি ঘোরানো এবং অন্য প্রতিপক্ষের দিকে এগিয়ে যায়।


5

কনস্ট্যাণ্টিনোপলের

একটি অত্যন্ত প্রতিরক্ষামূলক বট যা তার পতাকাগুলিতে একাধিক ব্লক এবং মেটা-ব্লক সহ (যেমন সমালোচনামূলক ব্লকের নির্দেশাবলীতে ব্লক) সর্বাধিক সংবেদনশীল নির্দেশাবলী প্রতিষ্ঠিত করে।

এটি অনাকাঙ্ক্ষিত উপায়ে অবিচ্ছিন্নভাবে অগ্রসর হয়, এবং সেরা-প্রচেষ্টার ভিত্তিতে বিরোধীদের অসংখ্য স্থানে পতাকা লাগায়।

Block #A
Block #A+1
Block #A+2
Copy E D
Move
Block #A+3
Block #A+4
Move
Copy #22 *#*C+1
Copy E D
Move
Block #A+5
Block #A+6
Block #A+7
Move
Copy #22 *#23
Block #A+8
Block #A+9
Block #A+10
Copy #22 *#2
Copy A+14 A
Move
Flag
Copy #22 *#*C+12

এটি কীভাবে সম্পাদন করবে তা নিশ্চিত নয়, যেহেতু আমি অনুকরণ করতে পারি না। তবে আমরা এটিকে শট দেব। ;)


দাবি পরিত্যাগী

আমি ফিলোপটপিকে দয়া করে জানানোর আগে এটি লিখেছিলাম শর্তাধীন যুক্তি ব্যয় মুক্ত। যাইহোক, আমি সিদ্ধান্ত নিয়েছি যেহেতু কারও কাছে কখনও বেশি পরিমাণে বট করা যায় না।


এই বট জিতছে!
জাস্টহেল্ফ

4

Cadmyllion

"আমি যুদ্ধের রোয়েলে সবেমাত্র একটি বট প্রবেশ করেছি," আমি বলি। "ধীর বোট দ্বারা আক্রমণ প্রতিরোধে এটি প্রতি কয়েকটি মোড় ঘুরিয়ে দেয়" "

"ধীর বট বলতে কী বোঝ?" ফিনোটপি জিজ্ঞাসা করে।

"শর্তসাপেক্ষ যুক্তিযুক্ত দীর্ঘ শৃঙ্খলা মূল্যায়ন করতে যে বাক্স আটকে আছে," আমি উত্তর দিই।

"" যদি "বিবৃতিগুলি অন্য বিবৃতিগুলিতে পুনঃনির্দেশ করে --- অন্যান্য 'যদি' বিবৃতি সহ --- একই পালা দিয়ে কার্যকর করা হয়," ফিনটপি বলেছেন।

"সমাবেশ কোডের মিষ্টি গণহত্যার নিয়ম!" আমি কাঁদি. "এই ধারণাটি নিয়ে কে এলো?"

... এবং এভাবেই ক্যাডমিলিয়ন কীভাবে এসেছে তার গল্প।

ক্যাডমিলিয়ন: যে বটটি আনন্দের সাথে একক নির্দেশায় অসীম বহু শর্তসাপেক্ষ অভিব্যক্তি মূল্যায়নের পরাবাস্তব ক্ষমতাটি কাজে লাগায় ... শর্তসাপেক্ষে প্রতিটি জিনিস তৈরি করে।

কোড

If D #15 #19
Move
If D #16 #20
Copy D+3 D
Block #A
If D #15 #20
Copy A+1 A
If D #16 #1
Move
If D #15 #19
If D #16 #4
Copy E D
Block #A+12
Copy C+10 C
Flag
If *#0==#14 #17 #21
If *#0==#14 #18 #21
If *#*C+1==#14 #18 #22
Copy *C+11 *C
Block #A+6
Block #A+18
Copy #14 *#0
Copy #23 *#*C+1
Flag

4

মেটা ইনসিডিয়াস

এই বটটি হিমশীতল হয়ে যায় এবং তারপরে বিরোধীদের স্পার'স ইনসিডিয়াসের কম কার্যকরী সংস্করণে রূপান্তরিত করে , যা তাদের পরিবর্তে, বিরোধীদেরকে আমার পক্ষে স্প্যামের পতাকাগুলিতে পরিণত করবে that এটি সম্ভবত সবচেয়ে জটিল বট যা আমি লিখেছি এবং তাই আমি এটিটি ভয়াবহ করার প্রত্যাশা করি, ব্লক করার কোনও জায়গা ছিল না এবং কোডে কেবল একটি পতাকা লাগানো ছিল। একটি বুদ্ধিমান ক্লোন হিসাবে বট বাঁক খুব দীর্ঘ সময় লাগে।

সবচেয়ে বড় চ্যালেঞ্জটি ছিল कपटी ক্লোনগুলির কোড কোডটি এমনভাবে লেখা যাতে এটি বটের অবস্থান নির্বিশেষে কার্যকর হয়। স্থিতিটি সরিয়ে ফেলা হয় যখন আমি দ্বিতীয়টি শেষ কোডটি ঠিক যেখানে জমাটবদ্ধ অবস্থিত সেখানে পেস্ট করি, এটি ঠিক সময়ে প্রতিপক্ষকে শুরু করে।

If D #2 #1
Copy 23 C
Copy #8 *#*C // freeze the opponent
Copy 9 A
Copy #A *#A+*C // copy the next line at the appropriate  line
Copy A+1 A
If A==0 #7 #23
Copy 23 C
Copy C+23 C
If D #C+2 #C+23 // the code for the Insidious clone starts here
Copy C+21 C
Copy C+2 C
If D #C+6 #C+22
If D #C+5 #C+22
If D #C+4 #C+20
If D #C+3 #C+19
If D #C+2 #C+18
Copy E D
Copy #C+7 *#*C
Flag
Copy C+3 A
Copy #C+22 #A
Copy A+1 A
Copy C+21 C // And ends here

এটি একটি চতুর ধারণা। তবে আমি কোনও মুভ কমান্ড দেখতে পাচ্ছি না। তার অর্থ কি আপনার বট বা আপনার স্প্যাম বটটি সরবে না?
ওয়াসমু

ছদ্মবেশী ক্লোনগুলি বটস মূল কোডটিতে যা আছে তার উপর নির্ভর করে সরে যেতে পারে, সীমিত জায়গার কারণে 24 লাইন দিয়ে এটি এমনকি সম্ভব করার জন্য কার্যক্ষমতার বেশিরভাগ বিট ফেলে দেওয়া হয়েছিল। এটি সত্যিকারের যে কোনও কিছুর চেয়ে মানসিক অংশ ছিল বেশি।
ওভাররেেক্টর ২১ আগস্ট'১২ '

3

মেরামত এবং সুরক্ষা

এই বটটি নতুন মেরামত করা লাইনগুলিকে সুরক্ষিত করার সময় তার নিজস্ব কোড মেরামত করে।

If #A==#A+16 #C+1 #C
Copy #A #A+8
Block #A+8
Copy A+1 A
Copy E D
Move
Copy #C+1 *#*C
Flag
If #A==#A+16 #C+1 #C
Copy #A #A+8
Block #A+8
Copy A+1 A
Copy E D
Move
Copy #C+1 *#*C
Flag
If #A==#A+16 #C+1 #C
Copy #A #A+8
Block #A+8
Copy A+1 A
Copy E D
Move
Copy #C+1 *#*C
Flag

ব্যাখ্যা:

প্রাথমিক মান Aহয় 0, এবং লাইন 0-23 গণিত আছে। যদি Ifবিবৃতি কার্যকর করা হয় এবং এটি মিথ্যা হয় তবে এটি একই লাইনটিকে আবার কার্যকর করার চেষ্টা করে। নিয়ামক একটি বটকে একই লাইন দু'বার চালানোর অনুমতি দেয় না, সুতরাং Cমোড়টি শেষ হয়ে যায় এবং এতে বাড়ানো হয়1

পরবর্তী লাইনটি বিবৃতিটির Copy #A #A+8মান নির্বিশেষে সম্পাদিত হয় If। পার্থক্যটি হ'ল এটি যদি সত্য হয় তবে দুবার কার্যকর হয় এবং একবার যদি মিথ্যা হয়। যদি লাইনটি #A+8অবরুদ্ধ থাকে (যা শেষ পর্যন্ত হয়), তবে এটির অনুলিপি সহ দু'বার সম্পাদন করা যখন এটি একবার সম্পাদন করা হবে কেবল এটি অবরোধ মুক্ত করবে। তারপরে, নতুন অনুলিপি করা লাইনটি এটি সংরক্ষণ করতে অবরুদ্ধ করা হয়েছে।


আমি আপনাদের সবাইকে বট বোঝার চেষ্টা করছি কিন্তু আমি আটকে আছি এর প্রাথমিক মান কী A? তাই না 0? যদি তাই হয় তবে আপনার প্রথম লাইনটি লাইন 0 থেকে লাইন 16 এর সাথে তুলনা করুন, তবে আমি যেমন ওপি উদাহরণ বট থেকে বুঝতে পেরেছি, প্রথম লাইনটি লাইন 1, তাই না? অ্যাডিশালি, এখনও আপনার প্রথম লাইনে, #Cএই খুব লাইনটিকে বোঝায়, সুতরাং এর অর্থ কি এই যে Ifবিবৃতিটি মিথ্যা ফিরিয়ে দিলে আপনি একটি অন্তহীন লুপে আটকে আছেন?
প্ল্যানাপাস

@ প্ল্যানাপাস আমি কিছু ব্যাখ্যা যুক্ত করেছি।
PhiNotPi

3

Neutralizer

এই বটটি এর ক্ষতিগ্রস্থকে এটির পুরো 0 টি পয়েন্টের মূল্যায়ন করে এটি পুরো প্রোগ্রামটি নতুন করে লিখবে। ভাইরাসটি একবার স্থির হয়ে গেলে, এটি এগিয়ে যায়। এটি বিজয়ের দিকে জ্বলন্ত পৃথিবী পদ্ধতির।

If D #C+2 #C+3          // A: If [enemy exists] B else C
Copy C+22 C             // GOTO A
If *#*C==#7 #C+4 #C+5   // B: If [enemy was neutralized] D else E
Move                    // C: Move
Copy E D                // D: Turn Randomly
Copy #7 *#*C            // E: Neutralize enemy
Copy C+1 C              // Skip the next line
Copy #C #C+1            // Neutralizing Code [Copy this line to next line]

তুলনা *#*C==#7 প্রতিপক্ষের শিফটটি সঠিকভাবে সামঞ্জস্য করবে বলে মনে হয় না, তবে শেষ পর্যন্ত বটটি এগিয়ে যায়।


Copy C+1 Cএকটি লাইন এড়ানোর জন্য প্রয়োজনীয় সমস্ত কিছুই।
নাথান মেরিল

2
'পরের লাইনটি এড়িয়ে যান' এর অর্থ আপনার বটটি চালিয়ে যাওয়ার আগে পতাকা নির্দেশাবলী সম্পাদন করে 16 টার্ন ব্যয় করতে চলেছে। Copy 23 Cপরিবর্তে আপনি সেখানে যেতে চান , প্রথম লাইনে ফিরে লাফাতে।
স্পার

'পরের লাইনটি এড়িয়ে যান' কেবল তখনই ঘটবে যদি 'গোটো এ' ওভাররাইট করা হয়। আমি এই বোটকে আরও আপত্তিকর ও প্রতিরক্ষামূলক করার মতো অন্যান্য উপায় আছে যেমন 'এ' পুনরাবৃত্তি করা, কোডটিকে নকল করা এবং 'গোটো এ' ব্লক করা। তবে, যদি এই বোটটি একেবারে আঘাত করা হয় তবে যাইহোক এটি বেশ মারা গেছে।
ওয়াসমু

3

প্রতারণাপূর্ণ

Move
If D #4 #0
If D #4 #0
Copy 0 C
Copy 4 C
If D #12 #11
If D #12 #11
If D #12 #11
If D #12 #11
If D #12 #11
Copy D+1 D
If D #4 #3
Copy #C+8 *#*C
Flag
Copy C A
Copy #C+22 #A
Copy A+23 A
Copy C+21 C

@ ক্রঞ্চার দ্বারা অনুপ্রাণিত হয়ে, এই বটটি অন্য বটগুলিকে একটি ছোট কোডের সংক্রামিত করে, অন্য বটকে এই বটের পতাকা দিয়ে পূর্ণ করে। এই বটগুলি তারপরে আরও আক্রমণ করার জন্য হাঁস বসে আছে, তবে তারা অন্য কারও দ্বারা সংক্রামিত হয়ে উঠলে তারা বেশিরভাগ আমার পতাকায় পূর্ণ থাকবে।

সম্পাদনা করুন: গল্ফ সহায়তার জন্য @ ফিলিপটপিকে ধন্যবাদ, দক্ষতার পরামর্শের জন্য @ প্রেমিক


২ কে মারতে অভিনন্দন!
bjb568

3

হ্যাপি আস এ ক্ল্যাম

এটি ব্লক করার একটি অনুশীলন। $Copyআশেপাশে না আসা পর্যন্ত এটি দুর্দান্তভাবে অভিনয় করেছিল ।

ক্ল্যামে 22 টি ব্লক কমান্ড রয়েছে। কারণ Aপ্রতিটি লুপ স্থানান্তরিত হয়, তারা লুপের মাধ্যমে প্রতিবার বিভিন্ন লাইন উল্লেখ করবে। এটি প্রতিটি কমান্ডের সাহায্যে প্রতিটি লাইনে 22 টি ব্লককে সর্বাধিক সীমাবদ্ধ করে প্রতিটি অন্যান্য লাইনে ব্লকগুলি স্ট্যাক করার অনুমতি দেয়। সুতরাং, সম্পূর্ণভাবে সাঁজোয়া ক্ল্যাম ভাঙতে, একটি লাইনে 22 বার লিখতে হবে।

উদাহরণস্বরূপ, #10নীচের লাইনগুলির মাধ্যমে লুপের মাধ্যমে প্রতিবার সুরক্ষিত হইবে:

  • লুপ 0, এ = 0 #10লাইন 7 ( 7+0+3= 10) দ্বারা সুরক্ষিত
  • লুপ 1, এ = 7 #10লাইন 0 দ্বারা সুরক্ষিত (0+7+3 = 10)
  • লুপ 2, এ = 14 #10লাইন 17 দ্বারা সুরক্ষিত ( 17+14+3= 34 = 10)
  • লুপ 3, এ = 21 #10লাইন 10 দ্বারা সুরক্ষিত ( 10+21+3= 34 = 10)

লুপ 3 এর 10 লাইন পরে, #10 4 বার অবরুদ্ধ করা হয়েছে, #10ব্লকগুলি ভাঙ্গতে 4 টি লেখার প্রয়োজন হয়, 5 তম লাইনের সাথে লাইনটি ওভাররাইট করার জন্য to

মনে রাখবেন যে ব্লকগুলি তাদের Cমান দ্বারা কীড করা হয় এবং সুরক্ষিত লাইনটি ইতিমধ্যে একই মান দ্বারা অবরুদ্ধ থাকলে স্ট্যাক করবে নাC । সুতরাং প্রতিটি লাইনের জন্য 22 টি ব্লক প্রতিষ্ঠিত হওয়ার পরে, ব্লকগুলি আর স্ট্যাক করবে না।

Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Block #C+A+3
Copy A+7 A
Flag

3

মন নিয়ন্ত্রণ

আমার ধারণা খুব বেশি দেরি হয় না কখন?

Block #C+D
If D #2 #0        // Scan for enemy
If *#E==#E #0 #5  // Attack if necessary
Copy D+5 D        // Turn
Copy 22+1 C       // Repeat
Copy 4+1 C        // ATTACK:
Copy #22+1 *#*C   //   Freeze
Copy #17 *#17     //   Upload the DOWNLOADER
Copy #18 *#18     //
Copy #21 *#19     //
Copy D+2 *D       //   FACE ME!!
Copy 17 *C        //   Start download
If E #0 #13
If E #0 #13
Copy 22+1 C
Flag
Flag
Copy *#B+20 #B+20         // DOWNLOADER
If *#B+20==#B+20 *#20 #19 //
Copy 22+1 C               //
Copy 1+B B                //
Copy 16 C                 //
Flag
Copy 23+C C        // FREEZE

মাইন্ডকন্ট্রোল আমার ধারণা থেকে আসে যে আমার পুরো প্রোগ্রামটি প্রতিপক্ষের কাছে অনুলিপি করতে কিছুটা সময় লাগবে, এই সময়ে আমার বটটি অন্য দিক থেকে আক্রমণে ঝুঁকির মধ্যে রয়েছে। তাহলে আমি শত্রুদের জন্য স্ক্যান করার সময় কেন প্রতিপক্ষকে আমার প্রোগ্রামটির অনুলিপি তৈরি করবেন না?

এটি একবার কোনও শত্রুকে খুঁজে পেলে, মাইন্ডকন্ট্রোল অবিলম্বে শত্রুকে নিস্তার থেকে বাঁচাতে হিমশীতল করে দেয়। তারপরে এটি ডাউনলোডকারকে প্রতিপক্ষের কাছে আপলোড করে এবং ভুক্তভোগী মাইন্ডকন্ট্রোলের প্রোগ্রামটি নিজেই ডাউনলোড করতে দেয়। ডাউনলোডার এই সত্যটি কাজে লাগিয়েছে যে কয়েকটি বট ব্যবহার করে Bএবং লুপ হবে যতক্ষণ না এটি সমস্ত 24 টি লাইন ডাউনলোড হয়। ডাউনলোডার নতুন করে লেখা হয় যখন #19থেকে Copy 16 Cথেকে Copy 23 C, এটা শিকার সব লাইন ডাউনলোড করেছেন এবং নিজেকে পুনরায় বুট করার যেতে হবে প্রকাশ করে।

আমার বটের প্রথম সংস্করণগুলিতে ব্লক অন্তর্ভুক্ত নেই। এবং এটি এতটা দুর্বল ছিল যে প্রায় কোনও পরিবর্তনই পঙ্গু। সুতরাং আমি ওয়াসমুর $ অনুলিপি (যা সিটিও-র লকহিডের উপর ভিত্তি করে) এর ভিত্তিতে ব্লকগুলি যুক্ত করার সিদ্ধান্ত নিয়েছি। আমি যে খারাপ দিকটি পেয়েছি তা হ'ল আসলটির পক্ষে অনুলিপিগুলিতে ভুল সংশোধন করা কঠিন। তবে এটি পঙ্গু থেকে দূরে এবং স্কোরটি উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে তাই আমি ব্লকগুলি রেখেছি।

আপডেট

সফল ব্লকগুলিতে পুনরায় লেখার আগ পর্যন্ত ডাউনলোডের চেষ্টা চালিয়ে যাওয়ার জন্য আমি ডাউনলোডারের উন্নতি করেছি। এর অর্থ এই নয় যে ডাউনলোডার আপলোড করতে এটি আরও একবার ঘুরবে তবে এই পরিবর্তন পরে আমার স্কোর দ্বিগুণ হয়ে গেল !! সংখ্যা নিয়ে তর্ক করতে পারি না।


আরেকটি আপডেট। আপনারা যেমন লক্ষ্য করেছেন, মাইন্ডকন্ট্রোল সিদ্ধান্ত নিয়েছে যে নিজের এবং তার টার্গেটের মধ্যে একটি এলোমেলো রেখার তুলনা করে লক্ষ্যটিকে আক্রমণ করবে কিনা। যদি সেগুলি মিলে যায় তবে মাইন্ডকন্ট্রোল কেবলমাত্র লক্ষ্যটিকে ইতিমধ্যে সংক্রামিত বলে ধরে নিয়েছেন এবং এটিকে একা রেখে যান। (পার্শ্ব দ্রষ্টব্য: তুলনার জন্য আমি একটি স্ট্যাটিক লাইন ব্যবহার করতাম তবে এটি প্রচুর মিথ্যা ধনাত্মক এবং negativeণাত্মক দেয়) পরিণত হয় যা প্রচুর মিথ্যা নেতিবাচক দেয়। তাই আমি কাজে লাগান করার সিদ্ধান্ত নিয়েছে ==এবং মত কিছু তুচ্ছ পরিবর্তন করতে C+23করতে 23+C। প্রোগ্রামটি কার্যত অভিন্ন তবে এর দৃষ্টিতে আলাদা ==। এখন যেহেতু মাইন্ডকন্ট্রোলের কোনও লাইন নেই যা অন্য কোনও বট-এর কোনও লাইনের অনুরূপ, এটি যে কোনও ধরণের ছোঁয়াচে 100% আঘাত করবে। আবার, স্কোর উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে।


ডাউনলোডারটিকে আবার উন্নত করে। এটি এখন একটি সংক্ষিপ্ত লুপে চলে। (যা আমার স্কোরের সাথে একটি বৃহত সম্পর্ক আছে বলে মনে হচ্ছে)


আবার উন্নত ডাউনলোডার। আসল বটের কোড ব্যবহার করে তাই এটি দ্রুত আপলোড হয়। স্কোর উন্নত বলে মনে হচ্ছে এমন 2 টি এলোমেলো ব্লক যুক্ত করেছে


খুব বেশি দেরি হয় না!
নাথান মেরিল

আমি ব্রেইনওয়াশ-এর ​​নাম পরিবর্তন করার কথা ভাবছি ...
টোনাথ

বা এর মাধ্যমে ডাউনলোডার বক্ষ দেখার পর BunkerBuster HappyAsAClam বাধা
TwiNight

আমি প্রথমে কোনও ডাউনলোডার আপলোড করার এই ধারণার চেষ্টা করার কথা ভেবেছিলাম, তবে আমি আপনার মতো ছোট করে উঠতে পারি নি। দারূন কাজ! রোভিং ব্লক ডেল্টা হিসাবেও আমি আপনার ডি ব্যবহার পছন্দ করি; এটি একটি কমান্ড সংরক্ষণ করে এবং আপনার নকশা গতি বাড়ায়। আমি অবাক হয়েছি যে 'মুভ' কমান্ড ব্যতীত একটি বট এত ভাল কাজ করবে। সিমুলেশনগুলি বটগুলিতে ঝাঁকুনির ঝোঁক দেখায় তবে আমি জানতাম না যে এটি একটি বিজয়ী কৌশল হবে। এবং আমি সম্মতি জানাই, বাতা ভেঙে দেওয়ার জন্য স্বতন্ত্রভাবে সন্তুষ্ট করার মতো কিছু আছে।
ওয়াসমু

@ ওয়াসমু স্পষ্টতই ডাউনলোডার ডিজাইনের বটটি স্থির থাকতে প্রয়োজন এবং এটি বটস ক্ল্যাম্প তৈরি করে। আমি এটিকে গাছের শিকড় হিসাবে ভাবতে পছন্দ করি যা বেড়ে ওঠার জন্য অন্যান্য বটগুলি পৌঁছায় এবং মিলিত হয়। তবে আমার অনুমান যে চটপটি কেন $ অনুলিপি এবং লকহিড আমাকে মারধর করেছে।
টুইনাইট

2

আক্রমণকারী

Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Copy #E *#*C
Flag

2

Movebot

Move
Copy 23 C
Flag

ফ্ল্যাগবোটের মতো, তবে আমাদের সমস্ত পতাকা নিয়ে যাওয়ার জন্য কোডের উপহার গ্রহণের সময় ঘোরাফেরা করুন।


2

বট পুনরুত্পাদন

এই বটটি তার প্রতিপক্ষকে হিমায়িত করার চেষ্টা করে এবং তারপরে অন্য বটটি পুনরায় চালু করার আগে তার সম্পূর্ণ কোডটি সেই বটটিতে অনুলিপি করে। প্রতিপক্ষ যদি ব্লকিং ব্যবহার করে তবে এটি (বেশিরভাগ ক্ষেত্রে) কাজ করা উচিত, যদিও এটি এটি ইতিমধ্যে যতটা ধীরে ধীরে ধীরে ধীরে তৈরি করে।

If D #23 #22
Copy 23 C
Copy #18 *#*C
Copy #18 *#*C+1
Copy #18 *#*C
Copy #18 *#0
Copy #18 *#0
Copy 0 *C
Copy 0 *C
Copy 1 A
Copy #A *#*A
If D #12 #14
Copy A+1 A
Copy 9 C
Copy 23 C
Flag
Flag
Flag
Copy C+23 C
Copy D+1 D
Flag
If *#*C==#*C #19 #13
Move
If *#*C+1==#*C+1 #21 #13

শর্তে কোনও স্থান নেই
নাথান মেরিল

@ নাথানমিরিল গ্যাচা
ওভাররেেক্টর

2

পার্শী পুরোহিত

ম্যাগাস একটি স্ব-প্রচারমূলক ভাইরাসের সহজ প্রচেষ্টা। এটি অন্যান্য বটগুলির প্রোগ্রামগুলিতে নিজেকে অনুলিপি করার চেষ্টা করে। (নেতিবাচক সংখ্যাগুলি মুছে ফেলার জন্য সম্পাদিত, শর্ত ঠিক করতে, লাইনগুলি ছাঁটাই করুন))

Block #A
Copy #A *#A
Copy A+1 A
If A #0 #4
Copy 0 *C
Flag
Move
Copy 0 C

নেতিবাচক মান অনুমোদিত নয়। দয়া করে বি এর জন্য 23 ব্যবহার করুন
নাথান মেরিল

দয়া করে 23 ব্যবহার করুন, 25 নয়
নাথান মেরিল

যদি না আমি ভুল বুঝে থাকি তবে এর ফলে এটি 23 বা 24 লাইনগুলিকে ব্লক বা অনুলিপি করতে না পারে (দ্রষ্টব্য: এটি প্রথম সংশোধন থেকে সামান্য পরিবর্তিত হয়েছে, এ দ্বারা বি দ্বারা নয় 1 এ বৃদ্ধি করা হয়েছে)
আইজ্যাক

+0 = 24 +1 = 25, -1 = 23. আপনি যদি এটি -1 হতে চান তবে এটি 23 হওয়া উচিত
নাথান মেরিল

কিভাবে এটা, আগে ছিল কারণ আমি ভেবেছিলাম তুমি শুধুমাত্র 0 সঙ্গে তুলনা পারে যে (একরকম মিস '=' অংশ, আমি skimming দোষারোপ), কিন্তু এটা এখন পরিবর্তন হয়েছে সুতরাং একটি 1 আরম্ভ করা হয় এবং 25 এ শেষ হয় ঠিক যেমন লাইন 3 কল্পনা for (int i = 1; i < 25; i++).. ।
ইসহাক

1

DNAbot

Flag
Copy 8 D
Copy 16 B
If #D==#B #C+2 #C+3
Block #A
Copy #D #A
If D #7 #15
Copy #23 *#*C
Copy A+1 A
Copy B+1 B
Copy D+1 D
If #D==#B #C+2 #C+3
Block #A
Copy #D #A
If D #7 #15
Move
Copy A+1 A
Copy B+1 B
Copy D+1 D
If #D==#B #C+2 #C+3
Block #A
Copy #D #A
If D #7 #15
Flag

চলন্ত এবং আক্রমণ করার সময় এই বটটি তার নিজস্ব কোড মেরামত করে।




1

দ্রুত ফ্রিজারবট

লাইনে পতাকাগুলি অনুলিপি করার চেষ্টা করে যা তার প্রতিপক্ষের পাশেই কার্যকর হবে, আক্রমণ করার জন্য কোনও শত্রু না থাকলে চলবে moves

Block #13
Block #14
If D #13 #14
If D #13 #14
If D #13 #14
If D #13 #14   
If D #13 #14
If D #13 #14
If D #13 #14
If D #13 #14
If D #13 #14
If D #13 #14   
Copy 23 C
If E #15 #16
Move
Copy #23 *#*C
Copy D+1 D

প্রথম দুটি লাইন অবৈধ। তাদের দরকার # 13 এবং # 14
নাথান মেরিল

1

ব্লক, জমা, আক্রমণ

Block #A        // start block loop
Copy A+1 A      // loop A from 0 to 23
If A #3 #4      
Copy 23 C       // repeat block loop
Copy 5 C        // exit block loop to attack/move loop
Move
If D #11 #5     // attack or move
Copy A+1 A      // loop A from 0 to 23
If A #9 #10
Copy 5 C        // repeat attack/move loop
Copy 23 C       // exit attack/move loop to block loop
Copy 11 C       // start of attack routine
Copy #23 *#*C   // freeze opponent
Copy #19 *#E    // copy flag to opponent
Copy #20 *#E    // copy flag to opponent
Copy #21 *#E    // copy flag to opponent
Copy #22 *#E    // copy flag to opponent
Copy D+1 D      // change direction
Copy 5 C        // repeat attack/move loop
Flag
Flag
Flag
Flag
Copy C+23 C     // freeze instruction, for copying

সমস্ত 24 লাইন ব্লক করে, তারপর চলন্ত বা আক্রমণ করে 24 বার লুপ করে, তারপরে পুনরাবৃত্তি করে। একটি আক্রমণে প্রতিপক্ষকে হিমায়িত করার চেষ্টা করা হয়, তারপরে এলোমেলো স্থানে চারটি পতাকা অনুলিপি করা, তারপরে বাঁকানো।


1

আড়াল করুন, অবরোধ করুন, আক্রমণ করুন

এই বট ব্লক ফ্রিজ অ্যাটাকের ভিত্তিতে তৈরি। আমি Ifআরও বিবরণ স্থাপনের ফলে এটি আরও কমপ্যাক্ট তৈরি করার জন্য কিছু বিবৃতি স্থাপনের স্থান পরিবর্তন করেছি । গেমের শুরুতে কিছুটা সময় অবরুদ্ধ করার জন্য আমি এটিকে পালাতে পারি।

Copy D+1 D
Move           //buy some time by moving to a more secure location
Block #A+2
Copy A+1 A
If A #11 #17
Copy #23 *#E
Copy #22 *#E
Copy #21 *#E
Copy #20 *#E
Copy #19 *#E
Copy D+1 D
Copy 1 C
Move
If D #14 #15
Copy 3 C
Copy 11 C
Copy #18 *#*C
If D #16 #15
Copy C+23 C
Flag
Flag
Flag
Flag
Flag

1

ভাইরাস ভাইরাস

If D #6 #16
Move
Copy 23 C
Flag
Flag
Flag
Copy 6 C
Copy A+23 A
Copy #A *#A                     //clone previous line to enemy
Copy 23 *C                      //freeze enemy
If A #6 #16                     //loop or turn then continue
Copy 0 *C                       //reboot enemy
Copy 23 C                       //start moving again
Flag
Flag
Flag
Copy D+1 D                      //turn
Flag
Flag
Flag
Flag
Flag
Flag
Copy 22 C                       //freeze instruction

এই বটটি কোনও শত্রু না পাওয়া পর্যন্ত ঘোরাফেরা করে, তারপর এগুলিকে হিমশীতল করে দেয়, তাদের সমস্ত কোডকে নিজের সাথে প্রতিস্থাপন করে, এফ্রিজেজ করে, তারপরে আবার বিচরণ করে।


1

সাধারণ ঠান্ডা

এটি আপনাকে কার্যত অবিলম্বে সংক্রামিত করে এবং আপনি এটি চারপাশে ছড়িয়ে দিন। ফিনোটপি'র পরজীবীর উপর ভিত্তি করে , সাধারণ ঠান্ডা প্রায় তাৎক্ষণিকভাবে পরীক্ষা করে যদি এটি আপনার পতাকাটি অনুলিপি করতে পারে। না পারলে এলোমেলো মান আটকে দেয় প্রতিপক্ষ না থাকলে কিছুটা চলাফেরা করে।

Block #22
If D #8 #5
If D #8 #5
If D #8 #5
Copy 23 C
If E #6 #7
Copy D+1 D
Move
If *#E=#22 #15 #9
If *#E+1=#22 #16 #10
If *#E+2=#22 #17 #11
If *#E+3=#22 #18 #12
If *#E+4=#22 #19 #13
If *#E+5=#22 #20 #14
If *#E+6=#22 #21 #23
Copy #22 *#E
Copy #22 *#E+1
Copy #22 *#E+2
Copy #22 *#E+3
Copy #22 *#E+4
Copy #22 *#E+5
Copy #22 *#E+6
Flag
Block #E

1

ইন্ফলুএন্জারোগ

এটি সামান্য বর্ধিত গতির সাথে কমন কোল্ডের (যা আমার প্যারাসাইটের উপর ভিত্তি করে ছিল) কাছাকাছি ভিত্তিক based

Move
Block #23
If D #8 #0
If D #8 #0
If D #8 #0
If D #8 #7
Copy 0 C
Copy D+1 D
If *#E #9 #10
Copy #23 *#E
If *#E+1 #11 #12
Copy #23 *#E+1
If *#E+2 #13 #14
Copy #23 *#E+2
If *#E+3 #15 #16
Copy #23 *#E+3
If *#E+4 #17 #18
Copy #23 *#E+4
If *#E+5 #19 #20
Copy #23 *#E+5
If *#E+6 #21 #22
Copy #23 *#E+6
Block #E
Flag

আমি এটির ফলে বাছাই করার অপেক্ষায় রয়েছি look 5 নং লাইনে থাকা 5 টি যদিও অসীম লুপকে উস্কে দেবে, এবং আপনার # 7 এর উদ্দেশ্যগুলিও সম্ভবত এটির সম্ভাবনা কম।
ওভাররেੈਕਟਰ

@ ওভারেক্টর ধন্যবাদ, অতিরিক্ত লাইন যুক্ত করে এগুলি তৈরি করা হয়েছিল।
PhiNotPi

আমি কি কখনও ব্যথা জানি?
ওভাররেেক্টর

1

Rebranding

Move
If D #10 #0
If D #10 #0
If D #10 #0
If D #10 #0
If D #10 #0
If D #10 #0
If D #10 #0
If D #10 #0
Copy 0 C
If *#E=#14 #11 #9
If *#E==#14 #13 #12
Copy D+1 D
Copy #14 *#E
Flag

এই বটটি শত্রু বটগুলিতে এলোমেলোভাবে পতাকাগুলি সনাক্ত করতে এবং সাফল্য সনাক্ত করার পরে সরে দাঁড়ানো বন্ধুত্বপূর্ণ পতাকাগুলির সাথে তাদের প্রতিস্থাপন করার চেষ্টা করে। ক্যান্সার বট দ্বারা অনুপ্রাণিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.