ঘোরাফেরা / বাধা এড়ানো


12

আমি একটি "গেম" লিখতে চাই, যেখানে আপনি একটি বাধা (লাল) রাখতে পারেন এবং তারপরে কালো বিন্দু এড়াতে চেষ্টা করে সবুজ লক্ষ্যে পৌঁছায়।
আমি এড়াতে খুব সহজ উপায়টি ব্যবহার করছি, যদি কালো বিন্দুটি লাল রঙের কাছাকাছি থাকে তবে এটি তার দিক পরিবর্তন করে এবং কিছু সময়ের জন্য সরে যায়, তবে এটি সবুজ বিন্দুতে এগিয়ে যায়।
"অবাস্তব" পথ

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

আমি মূলত 3 পয়েন্ট থাকলে আমি কীভাবে কোনও পথ সন্ধানের অ্যালগরিদম বাস্তবায়ন করতে পারি?
(এবং যদি আপনি একাধিক প্রতিবন্ধকতা স্থাপন করতে পারেন তবে বিষয়গুলি কী আরও জটিল করে তুলবে?)
মসৃণ পথ

উত্তর:


9

একটি খুব সাধারণ এবং সাধারণ পদ্ধতি হ'ল আপনার বিশ্ব স্থানকে গ্রিডে বিভক্ত করা এবং এ * এর মতো অ্যালগরিদম ব্যবহার করা।

এই লিঙ্কটি আমাকে এ * অ্যালগরিদম বোঝার এবং বাস্তবায়িত করতে সাহায্য করেছিল।

সম্পাদনা করুন :

আমার মনে আসে এমন একটি সহজ চিন্তা হ'ল ... একবার আপনি গ্রিড-কোষগুলিতে বিশ্ব জুড়ে দিলে। সর্বদা, কালো বিন্দুটি সবুজ বিন্দুর ম্যানহাটনের দূরত্ব অনুসরণ করবে। তারপরে, আপনি প্রতিটি ঘরের ওজন নির্ধারণ করতে পারেন। বাধাগুলি গ্রিড-সেলটিতে একটি উচ্চ ওজন থাকতে পারে এবং ফ্রি-টু-মুভতে 0 ওজন থাকতে পারে say ম্যানহাটনের দূরত্বের সাথে আপনি প্রতিটি চলার জন্য, পরবর্তী কক্ষের ওজন বর্তমান কোষের ওজনের চেয়ে বেশি না কিনা তা পরীক্ষা করে দেখুন। এটি বেশি হলে সংলগ্ন ঘরের ওজন পরীক্ষা করে তারপরে এগিয়ে যান।

আশাকরি এটা সাহায্য করবে


এই * অ্যালগোরিদম নিবন্ধটি আমি যা খুঁজছিলাম তা দেখে মনে হচ্ছে, তবে দুর্ভাগ্যক্রমে যা আমি এখনও জানি না তা কীভাবে আমার "বিশ্বের" গ্রিডগুলিতে বিভক্ত করা যায়: এস
ব্যবহারকারী

এটা সত্যিই নির্ভর করে। চিন্তাভাবনা: আপনার বিশ্বটিকে 32 x 32 এর গ্রিডে ভাগ করুন যা এরপরে 2D অ্যারেতে অবস্থানগুলি উপস্থাপন করবে। উদাহরণস্বরূপ, আপনার ক্ষেত্রে: লাল বিন্দুটি 120, 120 পিক্সেল (বা 120/32 x 120/32: 3.75 x 3.75) 3.75 x 3.75 আপনার ওয়ার্ল্ড-গ্রিডের (বা 2 ডি অ্যারে) অবস্থানে প্রতিনিধিত্ব করে। যেহেতু অ্যারেগুলি পূর্ণসংখ্যার দ্বারা সূচিত হয়, আপনি কেবল এটির পূর্ণসংখ্যার অংশ চান। সুতরাং, লাল বিন্দুটি 3 x 3 এ থাকবে আশা করি এটি সহায়তা করে
brainydexter

18

স্টিয়ারিং আচরণগুলি সঠিকভাবে এই সঠিক সমস্যা সেটটির জন্য ডিজাইন করা হয়েছে।

http://www.red3d.com/cwr/steer/

মূলত আপনি বাধা এড়ানোর আচরণটি সম্ভবত ব্যবহারের সন্ধান বা অনুসরণের সাথে একত্রিত করবেন। এই পৃষ্ঠাটিতে বিভিন্ন আচরণ এবং তারা কী করে তার গুচ্ছ গুঞ্জন রয়েছে। স্টিয়ারিং আচরণগুলির জন্য বেশ কয়েকটি ওপেন সোর্স বাস্তবায়ন রয়েছে। এখানে একটি।


স্টিয়ারিং আচরণগুলি এর জন্য উপযুক্ত।
দশ

2

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

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