back to top

#9 PicoBricks (micro:bit) Fizz-Buzz Game Projesi

Her programcının üzerinde zaman harcadığı bazı oyunlar vardır. Fizz Buzz oyunuda bunlardan biri programlama dillerinde biraz ilerleme kaydeden her programcı fizz-buzz oyunun algoritmasını oluşturarak uzman olmak istediği programlama dilinde bu oyunu yazmıştır. Fizz-Buzz oyunu, programlama dillerinin eğiitminde sıklıkla tercih edilmesinin sebebi algoritmasının koşul ve döngü yapılarını beraber içermesi ve bilgi işlemsel düşünme basamaklarını kavramasıdır. Aynı zamanda bu oyunu oynarkende hızlı karar verme ve matematiksel düşünme becerilerimizi geliştiririz. 

PicoBricks sayesinde bu oyunu elektronik devre elemanlarını kullanarak kodlayabilir ve fiziksel bi şekilde deneyimleyebiliriz.

Bu projede, PicoBricks buton, RGB LED ve OLED ekran modülüyle beraber Micro:Bit’i kullanarak fizz-buzz oyununun algoritmasını kurarak kodlarını oluşturacağız.  Fizz-Buzz oyunu, 1-100 arasındaki sayıları sayarak oynanır.1 den başlayarak sayılmaya başlanan sayılarda 3’ün katı olan bir sayıya gelindiğinde “Fizz” , 5’in katı bir sayıya gelindiğinde “Buzz”, hem 5 hem de 3’ün katı bir sayıya gelindeğinde ise o sayılar yerine “fizz-buzz” denilen bir oyundur.

Bağlantı Şeması:

Bu projeyi kablo bağlantısı yapmadan hazırlayabilirsiniz.

Proje Görselleri 

Projenin MakeCode Kodları

Projenin Python Kodları

#Fizz-Buzz Game Projects
from microbit import *
from picobricks import *
import neopixel
import music

# Pin Initialization
Button_Pin = pin2
RGB_Pin = pin8
Num_Leds = 3

# Function Initialization
oled = SSD1306()
oled.init()
oled.clear()
np = neopixel.NeoPixel(RGB_Pin, Num_Leds)

button = Button_Pin.read_digital()
display.show(Image.HEART)

oled.add_text(2,0,"Press the")
oled.add_text(1,1,"A Button to")
oled.add_text(3,2,"start")
oled.add_text(2,3,"Fizz-Buzz")

def left_image():
    display.show(Image('00900:'
                       '09000:'
                       '99999:'
                       '09000:'
                       '00900'))
#Neopixel
np[0] = (0, 0, 0)
np[1] = (0, 0, 0)
np[2] = (0, 0, 0)
np.show()

while True:
    if button_a.is_pressed():
        oled.clear()
        counter=1
        left_image()
        while counter<100:
            oled.add_text(0,0,"Press the PB")
            oled.add_text(3,1,"Button")
            oled.add_text(5,2,str(counter))
            button = Button_Pin.read_digital()
            if button==1:
                counter=counter+1
                music.play(['b'])
                oled.add_text(3,3,"         ")
                np[0] = (0, 0, 0)
                np[1] = (0, 0, 0)
                np[2] = (0, 0, 0)
                np.show()
            if counter % 3 == 0:
                oled.add_text(3,3,"Fizz")
                np[0] = (255, 0, 0)
                np[1] = (255, 0, 0)
                np[2] = (255, 0, 0)
                np.show()
            if counter % 5 == 0:
                oled.add_text(3,3,"Buzz")
                np[0] = (0, 0, 255)
                np[1] = (0, 0, 255)
                np[2] = (0, 0, 255)
                np.show()
            if counter % 15 == 0:
                oled.add_text(3,3,"Fizz-Buzz")
                np[0] = (128, 0, 128)
                np[1] = (128, 0, 128)
                np[2] = (128, 0, 128)
                np.show()

Projenin MicroBlocks Kodları

Son Çıkan Yazılar

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz