সুতরাং আমি গ্রীনফুট নামক এই কাঠামোটিতে শীর্ষস্থানীয় 2 ডি জাভা গেমটি তৈরি করছি এবং আপনি যে লড়াইয়ের সাথে লড়াই করছেন তাদের জন্য আমি এআইয়ের সাথে কাজ করছি। আমি চাই যে তারা বিশ্বজুড়ে বাস্তবিকভাবে চলাচল করতে সক্ষম হবেন তাই আমি শীঘ্রই বুঝতে পেরেছিলাম, অন্যান্য কয়েকটি জিনিসের মধ্যে আমার একরকম পথচলা দরকার।
আমি দুটি এ * প্রোটোটাইপ তৈরি করেছি। এক গ্রিড ভিত্তিক এবং তারপর আমি যে এক সাথে কাজ করে প্রণীত ওয়েপয়েন্ট তাই এখন আমি একটি 2d অবমুক্ত / ভবন নোড যে আমি থেকে একটি পাথ করতে পারেন একটি গ্রাফ করা "মানচিত্র" থেকে পেতে একটি উপায় কাজ করা প্রয়োজন। আসল পাথফাইন্ডিংটি দুর্দান্ত বলে মনে হচ্ছে, কেবল আমার খোলা এবং বন্ধ তালিকা আরও কার্যকর ডেটা স্ট্রাকচার ব্যবহার করতে পারে, তবে আমার প্রয়োজন হলে এবং আমি যখন তা করতে পারব।
আই- ব্লগ.নেটে এই পোস্টে সারিবদ্ধভাবে সমস্ত কারণে আমি একটি নেভিগেশনাল জাল ব্যবহার করতে চাইছি । যাইহোক, আমি যে সমস্যার মুখোমুখি হয়েছি তা হ'ল এ * যা মনে করেন বহুভুজ কেন্দ্রগুলি / প্রান্তগুলি থেকে সংক্ষিপ্ততম পথটি আপনি যদি নোডের কোনও অংশ দিয়ে ভ্রমণ করেন তবে অদ্যাবধি সংক্ষিপ্ততম পথ নয়। আরও ভাল ধারণা পেতে আপনি স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করা প্রশ্নটি দেখতে পারেন ।
আমি একটি দৃশ্যমানতার গ্রাফ সম্পর্কে ভাল উত্তর পেয়েছি। আমি তখন থেকে ( কম্পিউটারের জ্যামিতি: অ্যালগোরিদম এবং অ্যাপ্লিকেশন ) বইটি কিনেছি এবং আরও বিষয়টি পড়েছি, তবে আমি এখনও একটি নেভিগেশনাল জালের পক্ষে রয়েছি ( পথের সন্ধান সম্পর্কে অমিতের নোটগুলি থেকে " ম্যানেজিং কমপ্লেক্সিটি " দেখুন )। (পার্শ্ব নোট হিসাবে, সম্ভবত আমি প্রথম এবং শেষটি অস্পষ্ট না হলে একাধিক ওয়েপয়েন্টগুলিকে এক সরলরেখায় রূপান্তর করতে সম্ভবত থেটা * ব্যবহার করতে পারি Or বা প্রতিবার যখন আমি ফিরে যাই তখন শেষের আগে ওয়েপপয়েন্টে পরীক্ষা করে দেখুন যে আমি সরাসরি থেকে যেতে পারি কিনা) এটি এটি)
সুতরাং মূলত যা আমি চাই তা নেভিগেশনাল জাল যেখানে আমি একবার এটি ফানেল অ্যালগরিদমের মাধ্যমে রাখি (যেমন এটি ডাইজেস্টিং হাঁসের কাছ থেকে ) আমি কেবলমাত্র নোডের নীচের সবচেয়ে সংক্ষিপ্ত পথটি পাবার পরিবর্তে সত্যিকারের সংক্ষিপ্ততম পথ পাব, তবে আপনি কয়েকটি বহুভুজ এবং নোড / প্রান্তগুলি এড়িয়ে যেতে পারেন যে প্রকৃত সংক্ষিপ্ততম নয়।
ওহ এবং আমি আরও জানতে চাই আপনি কীভাবে বহুভুজ সম্পর্কিত তথ্য সংরক্ষণ করার পরামর্শ দেন। ওয়েপপয়েন্ট প্রোটোটাইপ উদাহরণের জন্য আমি তৈরি করেছি যে আমি প্রতিটি নোডকে একটি অবজেক্ট হিসাবে পেয়েছি এবং অন্যান্য নোডগুলির একটি তালিকা আপনি সেই নোড থেকে ভ্রমণ করতে পারেন, আমি অনুমান করছি যে বহুভুজ দিয়ে কাজ করবে না? এবং আমি কীভাবে বলব যে বহুভুজটি উন্মুক্ত / অনুসরণযোগ্য বা এটি কোনও শক্ত বস্তু কিনা? কোন নোডগুলি বহুভুজ তৈরি করে আমি কীভাবে সংরক্ষণ করব?
শেষ অবধি, রেকর্ডটির জন্য: আমি ইতিমধ্যে এটিকে স্ক্র্যাচ থেকে শুরু করতে চাই যদিও ইতিমধ্যে অন্যান্য সমাধান পাওয়া যায় এবং আমি এই গেমটি বাদে অন্য কোনও ক্ষেত্রে এই কোডটি ব্যবহার করার ইচ্ছা করি না (তাই) এটি গুরুত্বপূর্ণ নয় does এটি অনিবার্যভাবে খারাপ মানের হবে।