এখন আমরা যে দিমাত্রিন দুনিয়া তৈরি করেছি সেখানে কিছু বস্তু তৈরি করবো। এগুলো নির্দিষ্ট জ্যামিতিক আকারের হবে। যেমনঃ বৃত্ত, ত্রিভুজ অথবা চতুর্ভুজ।
এটা তৈরি করার জন্য আমরা পাইগেমের ফাংশন ব্যবহার করবো। pygame.draw.rect() -এটা দিয়ে সহজেই আমরা একটা চতুর্ভুজ একে ফেলতে পারি। এর জন্য আমরা নিচের টেমপ্লেটটা অনুসরন করবো।
pygame.draw.reac(Surface, Color, (x_position,y_position,width,height),thickness)
এই অনুযায়ী আমরা এখন আমাদের প্রোগ্রামের জন্য কোড লিখব। আগের পরিচ্ছেদে আমরা দেখেছি আমাদের উইন্ডো বানানোর জন্য surface নামেই একটা ভেরিয়েবল নিয়েছিলাম। আর রঙের জন্য আগে থেকেই কয়েকটি ভেরিয়েবল তৈরি করেছি। আর পাইগেম মডিউল ইম্পোর্ট করেছি p নামে। এইসব অনুযায়ী আমাদের কোড হবে নিচের মত।
p.draw.rect(surface,red,(40,50,50,50),1)
এটা আমরা প্রোগ্রাম লুপের মধ্যে বসিয়ে দিব। এক্ষেত্রে একটা বিষয় খেয়াল করতে পারেন। এই লাইনটা যদি আপনি আগের কোডের surface.fill(light) লাইনটার আগে লেখেন তাহলে স্ক্রিনে কিছুই দেখতে পাবেন না। অবশ্যই পরে লিখতে হবে।
আর আমরা এখন চাইলে এই চতুর্ভুজ নড়া চড়াও করতে পারি। এর জন্য লুপের মধ্যে আমাদের x_position আর y_position এর মান চেঞ্জ করতে হবে। অর্থাৎ স্থানাঙ্ক পরিবর্তন করতে হবে। এজন্য এখানে যেটা করতে যাচ্ছি তা হল র্যান্ডমভাবে এই পরিবর্তন ঘটানো। random নামে মডিউল আছে, এটা ব্যবহার করে আমরা র্যান্ডম নাম্বার জেনারেট করতে পারি। এক্ষেত্রে আমাদের চতুর্ভুজের জন্য কোডটা হবে নিচের মত।
p.draw.rect(surface,red,(x,y,50,50),2)
x_change = random.randrange(-5,5)
y_change = random.randrange(-5,5)
x += x_change
y +=y_change
এখানে এখন প্রতিবার লুপ ঘোরার সময় (-৫,৫) সীমার মধ্যে র্যান্ডোমভাবে (x,y) -এর মান পরিবর্তন হবে। লুপের বাইরে (x,y) -এর মান আগে থেকে একটা ঠিক করে দেয়া লাগবে। এখানে আমরা x=100,y=100 নিতে পারি।
সম্পুর্ণ কোড নিচের মত হবে।
import pygame as p
import random
import os
WIDTH = 800
HEIGHT = 600
#colors
black = (0,0,0)
red = (255,0,40)
light = (250, 245, 252)
paste = (180, 233, 252)
ash = (105,109,126)
violate = (137, 13, 175)
p.init()
p.display.set_caption('Duniya')
clock = p.time.Clock()
surface = p.display.set_mode((WIDTH,HEIGHT))
x = 100;
y = 100;
while True:
for event in p.event.get():
if event.type == p.QUIT:
p.quit()
quit()
surface.fill(light)
p.draw.rect(surface,red,(x,y,50,50),2)
x_change = random.randrange(-5,5)
y_change = random.randrange(-5,5)
x += x_change
y +=y_change
p.display.update()
clock.tick(30)
এটা রান করলেই দেখতে পারবেন আমাদের বানানো দুনিয়ায় একটা চতুর্ভুজ দেখা যাচ্ছে এবং তা ইচ্ছামত জায়গা পরিবর্তন করছে। এর পরের পরিচ্ছেদের আমরা পড়ন্ত বস্তুর সিমুলেশন তৈরি করবো।
আপনি পাইগেমের ডকুমেন্টশন দেখে এই দ্বিমাত্রিক দুনিয়ায় বৃত্ত, উপবৃত্ত, সরলরেখা ইত্যাদি আঁকতে পারবেন। এখন ভালভাবে অনুশীলন করে নিজেকে ভালভাবে প্রস্তুত করে নিন পরবর্তি পরিচ্ছেদ্গুলো বোঝার জন্য।