অসম্পূর্ণ পং এআই


19

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

বলটি কোথায় আঘাত করবে তা জেনে রাখা মোটামুটি তুচ্ছ বলে মনে হচ্ছে এবং এমন একটি এআই তৈরি করা যা বলটি সবসময় হিট করে তা করা সহজ কাজ বলে মনে হয় তবে আমি চাই যে খেলাটি জিততে পারা যায়, তাই আমি সবসময় আইএটিকে হিট করতে পারি না বল।

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

আপনাকে অনেক ধন্যবাদ.


5
আচ্ছা সাধারণত আপনি এআই ব্যাটকে কেবলমাত্র একটি নির্দিষ্ট গতি সরিয়ে ফেলেন তাই বলটি যদি খেলোয়াড়ের দ্বারা ভালভাবে রাখা হয় তবে এআই এটি পৌঁছাতে পারে না ..

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


4
@ byte56 আমি সত্যিই এটিকে প্রশ্নটির ডুপ বলব না। এটি ব্লগ.স্ট্যাকওভারফ্লো.কম / ২০১০ / ২০১৩ / ২০১৮-র নীচে দেওয়া উদাহরণের মতো মনে হচ্ছে "আপনি যদি কোনও ব্যবহারকারীর প্রশ্নটিকে নকল হিসাবে বন্ধ করতে চলেছেন তবে এটি অবশ্যই সত্যিকারের নকল হতে হবে"। এই প্রশ্নটি একটি ভাল সংস্থান (এবং কেউ কেউ সম্ভবত সেই প্রশ্নটি সেখানে উপস্থিত বিষয়বস্তু প্রদত্ত নিজেরাই উত্তর পেতে ব্যবহার করতে পারে), তবে এটি সত্যই এই প্রশ্নের সুনির্দিষ্ট উত্তর দেয় না বলে আমি মনে করি না।
টেট্রাড

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

উত্তর:


20

আমার প্রিয় অসম্পূর্ণ পং এআই নিষ্ঠুরতার সাথে সহজ, তবুও একজনকে এআই এর ব্যর্থতার কিছু ব্যর্থ করতে দেয়।

অদৃশ্য বল এআই

এআই সেটআপ : যখন বলটি আপনার প্যাডেল থেকে প্রতিবিম্বিত হয়, আপনি জানেন যে এটি কোথায় এবং এটি কত দ্রুত চলছে। সেই সময়ে একটি অদৃশ্য বল স্প্যান করুন তবে আরও বেশি গতিতে। দৃশ্যমান বলটি যেখানে চলছে সেখানে এটি বাতাসে চলে যাবে। প্রতিটি ফ্রেম, এআই অদৃশ্য বলের অবস্থানের দিকে এগিয়ে যান। অদৃশ্য বলটি একবার এআইয়ের পাশে পৌঁছানোর পরে থামান, সুতরাং এআই এর প্যাডেলটি সরিয়ে নেওয়া উচিত।

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

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

সেটিংস : আপনি অদৃশ্য বলের গতিও ঝাপিয়ে রাখতে পারেন, যেহেতু এটি নির্ধারণ করবে যে এআই আরও কতটা এগিয়ে যাবে। অদৃশ্য বলটি তত দ্রুত, প্যাডেলটি আরও বেশি সময় অবরুদ্ধ করতে হবে এবং খেলোয়াড়কে আরও ভাল লক্ষ্য করতে হবে।


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

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

1
যদিও আমি এই পদ্ধতির পছন্দ করি, আমার বাস্তবায়ন নিয়ে আমার সমস্যা ছিল। সমস্যাটি হ'ল যেহেতু ট্রেসার বলটি তার বলের বলের চেয়ে দ্রুত গতি সঞ্চার করে, এটি কিছু সংঘর্ষের হাতছাড়া হতে পারে যা এটি উপস্থাপিত বলের সাথে ঘটবে। অবশ্যই হওয়ার কারণ, ট্রেসার বলটি ফ্রেমের মধ্যে আরও বেশি দূরত্ব সরিয়ে ফেলবে।
ওল্ফগ্যাং শেরুর্স

আপনি যদি আরও বেশি বিশ্বস্ততা চান, আপনি ফ্রেস প্রতি দুবার ট্রেসার বলের অবস্থান পুনরায় গণনা করতে এবং প্রতিটি গণনার জন্য গতি অর্ধেক করতে পারেন।
ডিডিআর

22

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


এই. বলটি কোথায় আঘাত করবে এটি এআইকে সাহায্য করতে সাহায্য করে না যদি এটি কেবল সরাতে পারে, বলুন, প্রতি ফ্রেম 3px এবং এটি শীর্ষ থেকে নীচে যেতে হবে।
কিথস

14

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

মুল বক্তব্যটি হল, REACTION TIME। একটি সাধারণ মানুষের প্রতিক্রিয়া সময় কী তা গবেষণা করুন এবং এতে 10 মাইল যোগ করুন। এটি একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করুন। স্তরগুলি শক্ত হওয়ার সাথে সাথে প্রতিক্রিয়া সময় থেকে সময় সরিয়ে দিন ... যা Thread.sleep(time);এআইয়ের পক্ষে সহজ হতে পারে । এআই চলমান শুরু হওয়ার আগে সেই পরিমাণ সময়টি অপেক্ষা করুন।

প্যাডেলটি কীভাবে দ্রুত গতি সঞ্চার করে তা নিয়ন্ত্রণ করতে পারেন, বা আপনি যদি সত্যিই জটিল হতে চান, তবে বলটি কোথায় বিভিন্ন তথ্যের ডিগ্রি ভিত্তিক হবে তা নির্ধারণ করতে পারেন ... বলুন কোনও ভেক্টরের পরিবর্তে কেবল 2 পিক্সেল say এআইকে পুনরায় গণনা করতে বাধ্য করা, এলোমেলোভাবে ডিগ্রি যোগ করতে দেয়ালগুলিতে কোণ পরিবর্তনকারী যুক্ত করুন।


2
আপনি ঠিক কেন ব্যবহার করেছেন তা ব্যাখ্যা করতে পার sin(cos(tan(x)))?
নালপোটেন্ট

5
কারণ আমি অল্প বয়স্ক, বোকা, এবং একটি টিআই 83-তে পাপ (কোস (ট্যান (এক্স)) এআই-এ ল্যাগের ভাল ইউনিট তৈরি করেছিল। এছাড়াও, আমার জ্ঞানের সর্বোত্তম হিসাবে, ক্যালকুলেটরের ওয়েট কমান্ড নেই যা মিলিসেকেন্ড ব্যবহার করতে পারে। সম্ভবত কিছু স্পষ্টতা: আমি এসেম্বলি বা মাইক্রো স্ক্রিপ্ট বা আপনি যে ভাষাগুলি সংকলন করতে পারেন সেগুলি ব্যবহার করতে ব্যবহার করিনি। আমি ইন-ফার্মওয়্যার প্রোগ্রামিং কোডটি ব্যবহার করেছি (প্রিগএম বোতাম)। আমার যে কোনও মুহুর্তে স্ক্রিনে ম্যাক্সিমাম 8 লাইন কোড ছিল। একটি দীর্ঘ সময়ের জন্য আমি আরও জটিল কিছু মনে করতে পারি না।
রাসেল উহল

2
আমি টিআই 83 এর ইন-ফার্মওয়্যার কোডে প্রোগ্রাম করতে শিখেছি। তারপরে আমাকে সি ++ তে স্ট্রাকচার্ড প্রোগ্রামিং পুনরায় শিখতে হয়েছিল। আমি বলব যে টিআই 83 আমাকে শিখিয়েছিল স্প্যাগেটি স্ট্রিং কোডটি কী এবং কেন এটি খারাপ। সেই থেকে আমি কোনও গোটো স্টেটমেন্ট ব্যবহার করি নি। ভাল সময় যদিও।
কনটেক্সট সুইচ

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

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

6

যদি আপনি কেবল প্যাডেলটি ধীরে ধীরে করেন, তবে যে কোনও সময় আপনি কোনও তীব্র কোণে বলটি আঘাত করলে (যেমন সরাসরি অন্য দিকে যাওয়ার পরিবর্তে অনেকটা উপরে এবং নীচে চলে যাওয়া), কম্পিউটারটি প্রায় সর্বদা মিস করবে কারণ বলটি উপরে / নিচে চলেছে the প্যাডেলের চেয়ে দ্রুত ক্ষতিপূরণ দিতে পারে।

পরিবর্তে, আমি যা করব তা হ'ল প্যাডেলের গতি এবং পয়েন্টটি যেখানে এআই প্রতিক্রিয়া দেখায় with উদাহরণ স্বরূপ:

  • যখন ব্যবহারকারী বলটিকে আঘাত করে
    • এআই তত্ক্ষণাত্ প্রতিক্রিয়া জানাতে পারে এবং বলটি কোথায় থাকবে। যদি এটি যথেষ্ট দ্রুত হয় তবে এটি সময়মতো সেখানে আসবে
  • বলটি যখন মাঠের মাঝখানে অতিক্রম করে
    • প্রতিক্রিয়া দেওয়ার আগে মাঠের মাঝামাঝিটি অতিক্রম না করা অবধি অবশ্যই এআই অপেক্ষা করতে হবে

পরিবর্তন করার আরেকটি বিষয় হ'ল কীভাবে এটি এআই প্রতিক্রিয়া দেখায়। আপনি একটি কৌশল হাইলাইট করেছেন যেখানে প্যাডেল সর্বদা সেই অবস্থানে চলে যায় যেখানে বলটি থাকবে। কোনও ব্যক্তি সর্বদা এটি করতে পারে না। সমস্ত বাউন্সের কারণে বলটি তাদের কাছে পেলে ঠিক কোথায় হবে তা জেনেও তারা বলটি উপরের দিকে নিচে নেমে যাওয়ার সম্ভাবনা বেশি থাকে।

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

সবশেষে, আপনি বাড়াতে বা অসুবিধা হ্রাস করতে প্যাডেলের আকারের সাথে খেলতে পারেন।


2

একটি বিষয় বিবেচনা করার জন্য এলোমেলোতা - মানব খেলোয়াড়দের সর্বদা তাদের খেলায় কিছুটা ভিন্নতা থাকে, তাই আপনি যদি আপনার এআইকে মানুষের মতো দেখতে চান তবে আপনি তাদের নাটকে কিছুটা ভিন্নতাও দেখতে চাইবেন।

আপনি এর জন্য রেঞ্জ সেট আপ করতে পারেন:

  • প্রতিক্রিয়া সময় (এআই কত তাড়াতাড়ি চলতে শুরু করে)
  • গতি (এআই প্যাডেলটি কত দ্রুত সরিয়ে দেয়)
  • যথাযথতা (এআই কতটা কাছে আসবে যেখানে এটি তাদের প্যাডেলটি সরাতে চায় যেখানে তারা যেখানে চান সেখানে আন্ডারশুট বা ওভারশুট করার সুযোগ দেয়)

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


2

আমি আরও সাধারণ সমাধানের পরামর্শ দিতে যাচ্ছি যা কেবল পং এর সাথে নির্দিষ্ট নয়। আমি বিশ্বাস করি এটি কোনও গেমের জন্যই প্রয়োগ করা যেতে পারে - কেবল পং নয়। আপনি মানুষের মত আচরণ চান, তাই না? যাতে কোনও মানুষ মনে করতে পারে যে তারা কোনও মানব খেলছে ... এবং তাই এক্সটেনশন দ্বারা জয়ের আশা রয়েছে। তো তুমি কি কর?

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

একটি সহজ এআই এর উচ্চতর ইনপুট ল্যাগ এবং এলোমেলো ভুল করার আরও বেশি ঝোঁক থাকবে - যেখানে আরও শক্তিশালী এআই হিসাবে এই পরামিতিগুলিকে আরও কঠিন করার জন্য সুর করা হবে।

এটি প্রায় যেকোনও খেলায় প্রয়োগ করা যেতে পারে - এমনকি টিক টাক টো বা আরও জটিল মডেলের মতো একটি। এই পদ্ধতিটি আরও জটিল পরিস্থিতিতে ভেঙে যায় তবে এটি যথেষ্ট যেখানে গেমসে পরামিতি এবং স্কোপের সংখ্যা সংকীর্ণ হয়।


1

এখানে কয়েকটি বিকল্পের একটি তালিকা রয়েছে, যার মধ্যে কয়েকটি ইতিমধ্যে coveredেকে দেওয়া হয়েছে:

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

0

আমি একটি ছোট পং ক্লোনও করেছি (এলইউএ)।

আমার এআই খুব সহজ তবে এটি খুব খারাপ নয়, ইমো।

আমি কেবল বলের ওয়াই অবস্থানের জন্য যাচাই করি এবং যদি নীচে থাকে তবে আমি প্যাডেলটি নীচে সরিয়ে রাখি, যদি উচ্চতর হয় তবে আমি প্যাডেলটি উপরে সরিয়ে রাখি।

তারপরে, কম্পিউটারের প্যাডেলটি যে বল থেকে চলতে শুরু করে, তার থেকে আমি দূরত্ব বাড়াতে বা সুরক্ষিত করতে পারি।

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