সুচিপত্র:

Battle City Remake on GameGo With Makecode Arcade: 4 ধাপ (ছবি সহ)
Battle City Remake on GameGo With Makecode Arcade: 4 ধাপ (ছবি সহ)

ভিডিও: Battle City Remake on GameGo With Makecode Arcade: 4 ধাপ (ছবি সহ)

ভিডিও: Battle City Remake on GameGo With Makecode Arcade: 4 ধাপ (ছবি সহ)
ভিডিও: Battle City Remake on GameGo with Makecode Arcade 2024, ডিসেম্বর
Anonim
Image
Image

গেমগো একটি মাইক্রোসফট মেককোড সামঞ্জস্যপূর্ণ রেট্রো গেমিং পোর্টেবল কনসোল যা টিঙ্কারজেন স্টেম শিক্ষা দ্বারা বিকশিত। এটি STM32F401RET6 ARM Cortex M4 চিপের উপর ভিত্তি করে তৈরি করা হয়েছে এবং STEM শিক্ষাবিদদের জন্য তৈরি করা হয়েছে অথবা যারা রেট্রো ভিডিও গেম তৈরি করতে মজা করতে পছন্দ করে। আপনি এই টিউটোরিয়ালটি অনুসরণ করতে পারেন এবং মেককোড আর্কেড সিমুলেটারে গেমটি চেষ্টা করে দেখতে পারেন এবং তারপর গেমগোতে চালাতে পারেন।

এই প্রবন্ধে আমরা একটি ক্লাসিক ব্যাটেল সিটি ট্যাঙ্ক শ্যুটার গেম পুনরায় তৈরি করার জন্য আমাদের হাত চেষ্টা করতে যাচ্ছি, যা মূলত 1985 সালে নিনকো বিনোদন সিস্টেম (NES) এর জন্য Namco দ্বারা তৈরি এবং প্রকাশিত হয়েছিল। আসল গেমটিতে খেলোয়াড় একটি ট্যাঙ্ক নিয়ন্ত্রণ করে এবং শত্রু ট্যাঙ্কগুলি ধ্বংস করতে প্রজেক্টাইল গুলি করে। শত্রু ট্যাঙ্কগুলি খেলোয়াড়ের ঘাঁটি ধ্বংস করার চেষ্টা করে, সেইসাথে খেলোয়াড়ের ট্যাঙ্ক নিজেই। গেমগোর সাথে ব্লক প্রোগ্রামিং অনুশীলনগুলিকে আরও ভালভাবে সামঞ্জস্য করার জন্য আমরা গেম খেলার কিছু পরিবর্তন করব, কিন্তু আমাদের রিমেক এখনও মূল গেমের সাথে অনেক মিল রেখে যাবে। চল শুরু করি!

সরবরাহ

গেমগো

ধাপ 1: আমাদের পরিবর্তন -অহং - হলুদ ট্যাঙ্ক

আমাদের পরিবর্তন -অহং - হলুদ ট্যাঙ্ক
আমাদের পরিবর্তন -অহং - হলুদ ট্যাঙ্ক

Https://arcade.makecode.com/ এ মেককোড আর্কেড খুলুন এবং নতুন প্রকল্পে ক্লিক করুন। আমরা আমাদের পরিবর্তন-অহংকে হলুদ ট্যাঙ্ক করা শুরু করব। সেট মাই স্প্রাইট সেট করুন ধরনের প্লেয়ার ব্লকের স্প্রাইট এবং একটি হলুদ ট্যাঙ্ক আঁকুন যা আমাদের শুরু স্প্রাইট হিসাবে উপরের দিকে, সেই ব্লকটিকে স্টার্ট ব্লকের ভিতরে রাখুন। বোতাম ব্লক সহ mySprite সরান। এখন আমাদের একটি ট্যাঙ্ক আছে যা আমরা সিমুলেশনে বোতাম দিয়ে সরাতে পারি! দুর্দান্ত, কিন্তু এটি সর্বদা একই দিকের মুখোমুখি হয়, এমনকি যখন আমরা নিচে বা পাশ দিয়ে সরে যাই …

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

আমরা vx vy বেগ সহ mySprite থেকে প্রজেক্টাইল (সেই স্প্রাইটের জন্য ছোট রৌপ্য বর্গ আঁকুন) সেট প্রজেক্টাইল দিয়ে বুলেট গুলি করব। বোতামটির ভিতরে একটি চাপা ব্লক, হলুদ ট্যাঙ্ক বাম/ডান দিকে/নিচে মুখোমুখি কিনা তা দেখতে আমাদের দিকের পরম মান পরীক্ষা করতে হবে। তারপর আমরা দিক পরিবর্তনশীল গতি সঙ্গে প্রজেক্টাইল অগ্নি এগিয়ে যান -যে কারণে আমরা ছিল -100/100/-200/200 দিক মান জন্য।

এখন আমাদের হলুদ ট্যাঙ্ক আছে যা প্রজেক্টাইল ফায়ার করতে পারে এবং নড়াচড়া করতে পারে। যদি হলুদ সিমুলেটেড ট্যাঙ্কগুলি অনুভব করতে পারে তবে শত্রু এবং করণীয় ছাড়া এই ফাঁকা শূন্যতায় নি lসঙ্গ বোধ করবে। সুতরাং, পরবর্তী ধাপের জন্য শত্রুদের যোগ করুন যাতে এটি সময় পার করে।

পদক্ষেপ 2: শত্রুদের বের করে আনুন

শত্রুদের বের করে আনুন
শত্রুদের বের করে আনুন
শত্রুদের বের করে আনুন
শত্রুদের বের করে আনুন

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

পরবর্তী আমরা গেম আপডেটে প্রতি… ms ব্লক তৈরি করি, সেখানে spawn_time ভেরিয়েবল সন্নিবেশ করাই। ব্লকের ভিতরে যুক্তি সহজ - যদি যুদ্ধক্ষেত্রে মোট শত্রুর সংখ্যা সর্বাধিক অনুমোদিত শত্রুর সংখ্যা থেকে কম হয়, শত্রু_শ্রী_লিস্টে শত্রু যোগ করুন এবং যোগ করুন 200 (ডানে যাচ্ছে) যে শত্রুর জন্য দিক।

এরপরে, শত্রু ব্লকের তৈরি স্প্রাইটে আমরা কিছু গ্রাফিক্যাল ইফেক্ট যুক্ত করি, এটি একটি এলোমেলো খালি টাইলে রাখুন এবং এই স্প্রাইটের জন্য পিক_ডাইরেকশন ফাংশনে কল করুন। শত্রু হিট দেয়ালে আঘাত করে, আমরা একই ফাংশনকে কল করি, পিক_ডাইরেকশন।

কি আছে সেই ফাংশনে? এখানেই জিনিসগুলি কিছুটা জটিল হতে শুরু করে, তাই ধরে রাখুন। শত্রু ট্যাঙ্কের উপরে ওঠার 50 % সম্ভাবনা এবং 50 % নিচে যাওয়ার সম্ভাবনা রয়েছে - আমরা সেই অনুযায়ী স্প্রাইট পরিবর্তন করি। এখানে একমাত্র কৌশল হল যে আমাদের শত্রু_নির্দেশ_লিস্টে সেই নির্দিষ্ট শত্রু ট্যাঙ্কের সাথে সম্পর্কিত মানকে তার নতুন দিক পরিবর্তন করতে হবে, তাই আমরা এটি সঠিক দিকে গুলি চালাতে চাই। তার জন্য আমরা শত্রু_সপ্রাইট_লিস্টে শত্রু স্প্রাইটের সূচক খুঁজে পাই এবং শত্রু_নির্দেশ তালিকায় সেই আইটেমের মান পরিবর্তন করি।

পরিশেষে, গুলি গুলি যোগ করা যাক। আমরা প্রতি 500 ms ব্লকে গেম আপডেটে আরেকটি যোগ করি এবং শত্রু_সপ্রাইট_লিস্টে একটি আইটেমের জন্য রাখি। 30% সুযোগের সাথে একটি শত্রু স্প্রাইট তার গতিপথের দিক থেকে শত্রু প্রজেক্টাইলকে গুলি করবে।

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

ধাপ 3: খেলার 42

খেলার 42
খেলার 42
খেলার 42
খেলার 42
খেলার 42
খেলার 42

আমরা ইনফো ট্যাব থেকে জীবন এবং স্কোর যোগ করে এবং জীবনকে 10 এ সেট করে এবং শূন্যে স্কোর করে এই ধাপটি শুরু করতে যাচ্ছি। তারপর আমরা ব্লক সেট টাইল ম্যাপ যোগ করি …. উপরের স্ক্রিনশটে আপনার মত কিছু দেখতে ফাইলের মানচিত্র আঁকুন। দেয়াল যোগ করতে ভুলবেন না!

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

শেষ জিনিস হল বিজয় এবং পরাজয়ের শর্ত - বিজয়ের জন্য, আমরা চেক করব যে স্কোর বেশি বা চিরতরে ব্লকে 10 এর সমান। যদি তা হয়, তাহলে আমরা বিজয় পর্দা দেখাই। এবং লাইফ জিরো ব্লকে আমরা গেম ওভার স্ক্রিন দেখাই।

এখন সিমুলেশনে এটি চেষ্টা করে দেখুন খেলাটি প্রত্যাশিতভাবে চলছে কিনা। তারপর GameGo এ আপলোড করুন এবং শত্রু ট্যাঙ্কগুলি ধ্বংস করার উপভোগ করুন!

ধাপ 4: অবিরাম খেলা এবং উন্নতি

অবিরাম খেলা এবং উন্নতি
অবিরাম খেলা এবং উন্নতি

আমাদের গিটহাব সংগ্রহস্থলে আপনি মেককোড আর্কেডের জন্য দুটি ফাইল ডাউনলোড করতে পারেন - আপনি যদি এই নির্দেশনাটি অনুসরণ করেন এবং অন্যটি আপগ্রেড সংস্করণ, যা এলোমেলোভাবে স্তরের অগ্রগতি তৈরি করে তবে আপনি একই পাবেন। এটির 10 টি স্তর রয়েছে, প্রত্যেকটি এলোমেলোভাবে প্রতিটি পরপর স্তরে শত্রুর সংখ্যা বাড়িয়ে তৈরি করা হয়।

এবং অবশ্যই, আরও অনেক কিছু আছে যা আপনি বা আপনার শিক্ষার্থীরা গেমের উপরে যোগ করতে পারেন! আরও ভাল সঙ্গীত, ভাঙা দেয়াল, বিভিন্ন বিজয়ের অবস্থা এবং আরও অনেক কিছু আছে!

আপনি যদি গেমটির উন্নত সংস্করণ তৈরি করেন, তাহলে নীচের মন্তব্যে এটি ভাগ করুন! GameGo এবং নির্মাতা এবং STEM শিক্ষাবিদদের জন্য অন্যান্য হার্ডওয়্যার সম্পর্কে আরও তথ্যের জন্য, আমাদের ওয়েবসাইট https://tinkergen.com/ দেখুন এবং আমাদের ব্লগে সাবস্ক্রাইব করুন।

TinkerGen একটি Kickstarter প্রচারাভিযান শুরু করেছে MARK (Make A Robot Kit), কোডিং, রোবোটিক্স, AI শেখানোর জন্য একটি রোবট কিট!

প্রস্তাবিত: