এই প্রশ্নের আগে আজ থেকে অনুপ্রাণিত হয়ে , আমি বিভিন্ন প্রোগ্রামিং ভাষাগুলি একটি নামপ্যাডকে সম্ভাব্যতায় রূপান্তর করতে পারে এমন আকর্ষণীয় উপায়গুলি দেখতে চাই। সাধারণত, টাইল-ভিত্তিক গেমস আপনাকে বর্তমানে আপনার চরিত্রটি কোথায় রয়েছে তার উপর ভিত্তি করে যে কোনও দিকে যেতে একটি নামপ্যাড ব্যবহার করতে দেয় use এই গেমগুলির জন্য একটি এআই করার সময়, Math.random() * 8পর্যাপ্ত নয়, তাই চলাফেরাকে চেহারা এবং কিছুটা প্রাকৃতিক বোধ করার জন্য আমাকে কিছুটা সৃজনশীল হতে হয়েছিল।
একটি নামপ্যাড যেমন সংজ্ঞায়িত করা হয়:
7 | 8 | 9
- - - - -
4 | x | 6
- - - - -
1 | 2 | 3
দয়া করে মনে রাখবেন, 5 হ'ল একটি অবৈধ সংখ্যা, কারণ আপনি নিজের দিকে যেতে পারেন না।
সমস্ত উদাহরণ এই সম্ভাবনাগুলি ব্যবহার করবে: [50, 40, 30, 20, 10]
আমি যদি আশেপাশে সম্ভাবনা তৈরি করতে চাইতাম তবে 8এটি এমন দেখাবে:
40 | 50 | 40
-- | -- | --
30 | xx | 30
-- | -- | --
20 | 10 | 20
আউটপুটটি হবে [20, 10, 20, 30, 30, 40, 50, 40](বাদ দেওয়া ৫ টি সহ) বা [20, 10, 20, 30, null, 30, 40, 50, 40](বর্তমানের সাথে 5)
আমি যদি এগুলি চারপাশে উত্পন্ন করতে চাইতাম তবে 1এটি দেখতে এমন হবে:
30 | 20 | 10
-- | -- | --
40 | xx | 20
-- | -- | --
50 | 40 | 30
আউটপুটটি হবে [50, 40, 30, 40, 20, 30, 20, 10](বাদ দেওয়া ৫ টি সহ) বা [50, 40, 30, 40, null, 20, 30, 20, 10](বর্তমানের সাথে 5)
আপনি একটি সম্পূর্ণ প্রোগ্রাম লিখতে পারেন যা কোনও সাধারণ উপায়ে ইনপুট নেয় (কমান্ড লাইন, স্টিডিন) এবং আউটপুট প্রিন্ট করে, বা আপনি একটি সংখ্যা যুক্তি সহ একটি ফাংশন লিখতে পারেন, যা আউটপুট প্রিন্ট করে বা রিটার্ন করে। আপনার প্রোগ্রাম বা ফাংশনটিতে একটি নম্বর গ্রহণ করা উচিত - চারপাশে উত্পন্ন করার অবস্থান। আপনার এই সম্ভাবনাগুলি ব্যবহার করা উচিত: [50, 40, 30, 20, 10]( এগুলিকে হার্ডকোড করতে হবে না)।
বাইটস মধ্যে সংক্ষিপ্ত কোড। স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়। সংযুক্ত থ্রেডে পোস্ট করা উত্তরগুলি অনুমোদিত নয়। ট্রেলিং বা নেতৃস্থানীয় স্থান অনুমোদিত। আপনি নিজের 4পছন্দ অনুসারে অবস্থান অনুপস্থিত বা খালি হিসাবে বিবেচনা করতে পারেন । আউটপুট ফর্ম্যাটে আমি খুব পিক না - এটিকে কমা-বিভাজিত স্ট্রিং বা অ্যারের হিসাবে মুদ্রণ করুন out
(এটি আমার প্রথম প্রশ্ন, আমার উপর সহজ হয়ে যান!)