ট্র্যাকিং গেমের অবস্থা অন্য কোনও প্রোলোগ প্রোগ্রামে ট্র্যাকিং রাষ্ট্রের চেয়ে আলাদা নয়। আপনি ঘটনাগুলি সংজ্ঞায়িত করেন এবং তারপরে সিদ্ধান্ত নিতে তাদের ব্যবহার করুন। এটি বেশ পুরানো, তবে প্রজলটি এক্সপ্লোর করে: নিবন্ধটি অ্যাডভেঞ্চারস, অবজেক্টস, অ্যানিমালস এবং ট্যাক্স এটি কোনও খেলায় কীভাবে কাজ করতে পারে তার ব্যাখ্যা দেওয়ার জন্য ভাল কাজ করে। নিবন্ধ থেকে সংক্ষিপ্ত:
% Set up - you start in a house
location(you, house).
% Move to a new location.
goto(X) :-
location(you, L), % Read your current location into L
connect(L, X), % Check if you can reach the new location X from L
retract( location(you, L) ), % Remove the old location fact
assert( location(you, X) ). % Add a new location fact. You are in X now.
write($ You are in the $), write(X), nl.
এর বাইরে আপনার গ্রাফিক্স এবং আইও গ্রন্থাগার দরকার। সেখানে বাণিজ্যিক প্রোলোগ বিতরণ থাকতে পারে যাতে সেগুলি অন্তর্ভুক্ত থাকে। আমি সবচেয়ে পরিচিত নই SWI Prolog , তাই আমি সুপারিশ করব plOpenGL একটি আদ্যস্থল হিসাবে। এটি আপনাকে কেবল ওপেনগিএল এর রেন্ডারিং ক্ষমতাগুলিতে অ্যাক্সেস দেয় না, এটি মাউস এবং কীবোর্ড ইভেন্টগুলির জন্য বাইন্ডিংগুলিও অন্তর্ভুক্ত করে। উদাহরণস্বরূপ, এস্কেপ কীটির একটি প্রেস পরিচালনা করতে আপনি একটি কীবোর্ড নিয়ম এর মতো সংজ্ঞায়িত করেন:
% 27 is ASCII Code for Escape
keyboard(27,_,_) :-
write('Escape key was pressed...'),nl.
আরও কিছু বিশদ এবং মাউস চলাচল পরিচালনা করার উদাহরণের জন্য plOpenGL এর চলমান আলো উদাহরণটি একবার দেখুন।
আপনি যদি কোনও গ্রাফিক্স লাইব্রেরি ব্যবহার করেন তবে এটি সম্ভবত আপনার জন্য গেম লুপটি পরিচালনা করবে। সেট আপ, repainting, আই ঘটনা, ইত্যাদি আপনি শর্তসাপেক্ষে সময়ের উপর ভিত্তি করে fps বা রান কোড সীমিত করতে চান, করতে পারেন, আপনাকে ট্র্যাক অতিবাহিত সময় ব্যবহার করছে: মূলত, আপনি লাইব্রেরিতে নিয়ন্ত্রণ বিপরীতমুখী এবং নিয়ম প্রদান উপযুক্ত ক্ষেত্রে নিষ্পন্ন করা হবে সময় / তারিখ পূর্বাভাস দেয় এবং সেই অনুযায়ী সিদ্ধান্ত নেয় make
অনেক প্রোলগ স্বাদ রয়েছে, সুতরাং গেমটি তৈরির একমাত্র উপায় এটি অবশ্যই নয়। বিভিন্ন বিতরণ এবং সম্পর্কিত ভাষা বিভিন্ন লাইব্রেরি / বাইন্ডিং ব্যবহার করবে যা বিভিন্ন পদ্ধতির উত্সাহ দিতে পারে। এছাড়াও, বহুগ্লাট প্রোগ্রামাররা রেন্ডারিং এবং আইও পরিচালনা করার জন্য আপনাকে আরও "গ্রাফিক্স ফ্রেন্ডলি" হোস্ট ভাষা / রানটাইম ব্যবহার করতে উত্সাহিত করতে পারে যখন প্রোলোগ গেম সত্তা আচরণ এবং সিদ্ধান্ত গ্রহণের মডেল করতে ব্যবহার করে।