Gizemli Sayı Tahmin Etme Oyunu Projesi!
İçindekiler Tablosu
Arkadaşlarına haydi aklımdaki sayıyı tahmin et diyenlerden misiniz?
Muhtemelen şu cevapları da kullanıyorsunuzdur: "Hayır, daha büyük. Hayır, daha küçük. Vay canına, bunu nasıl bildin?" PicoBricks ile tam da bunu yapmak istemez miydiniz? Sizi matematik ve kodlama dolu bir yolculuğa davet ediyoruz!
Eğlenceli bir sayı tahmin oyunu projesi ile karşınızdayız. Bu proje, matematik becerilerinizi test etmek, problem çözme yeteneklerinizi geliştirmek ve zihinsel yeteneklerinizi bilemek için tasarlanmış eğlenceli bir deneyimdir.
Sayı tahmin oyunu, oyuncuların belirli bir aralıkta rastgele bir sayıyı tahmin etmeye çalıştığı eğlenceli ve etkileşimli bir kodlama projesidir. Bu sayı tahmin oyunu projesi, sadece programlama becerilerinizi geliştirmekle kalmaz, oyunculara doğru sayıyı tahmin etmeye çalışırken eğlenceli bir deneyim de sunar. Kodlamayı öğrenmeye başlayan biriyseniz veya heyecan verici bir oyun geliştirme projesi arayan bir meraklıysanız, Sayı Tahmin Oyunu keşfetmek ve bu işlere başlamak için harika bir seçenektir.
Unutmayın, bu projede sadece sayıyı tahmin etmeyi öğrenmekten çok daha fazlasını öğreneceksiniz...
Aklımdakini tahmin et!
Detaylar ve Algoritma
Sayı tahmin oyununu başlatmak için “Başlat” butonuna basın. Tahmininizi güncellemek için aşağıdaki adımları izleyin.
- Eğer oyuncu kumandadan yukarı ok tuşuna basarsa (eğer PicoBricks tahmini oyuncunun seçtiği sayıdan küçükse), tahmin edilen aralık tekrar yarıya indirilir ve bu değer mevcut picobrick tahminine eklenir.
- Eğer oyuncu kumandadan aşağı ok tuşuna basarsa (eğer picobrick tahmini oyuncunun seçtiği sayıdan büyükse), tahmin edilen aralık tekrar yarıya indirilir ve bu değer mevcut picobricks tahmininden çıkarılır.
- Oyuncu kumandadan “Tamam” butonuna bastığında, sayı tahmin oyunu sona erer ve PicoBricks kutlama yapar. Bu, oyuncunun seçtiği sayının doğru tahmin edildiği anlamına gelir!
Kullanılan Modüller
Projenin PicoBricks IDE Kodları
Projenin Microblocks Kodları
Projenin MicroPython Kodları
from time import sleep from machine import Pin from machine import I2C from picobricks import SSD1306_I2C import machine from picobricks import NEC_16 from picobricks import IR_RX import time i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000) oled = SSD1306_I2C(128, 64, i2c, addr=0x3c) pin_button = machine.Pin(10, machine.Pin.IN) def ir_callback(data, addr, ctrl): global ir_data global ir_addr, data_rcvd if data > 0: ir_data = data ir_addr = addr print(‘Data {:02x} Addr {:04x}’.format(data, addr)) data_rcvd = True ir = NEC_16(Pin(0, Pin.IN), ir_callback) ir_data = 0 data_rcvd = False def up(): global i_g, n_r i_g += n_r oled.fill(0) oled.text(“{}”.format(str(“My gues:”)+str(i_g)), 0, 0) oled.show() n_r = int(n_r / (2)) time.sleep((0.5)) def ok(): global i_g, n_r oled.fill(0) oled.text(“{}”.format(str(“Your number”)+str(i_g)), 0, 0) oled.text(“{}”.format(“Congratulations Picobricks “), 15, 32) oled.show() time.sleep((0.5)) def down(): global i_g, n_r i_g += (0) – n_r if i_g < (0): i_g = 0 else: oled.fill(0) oled.text(“{}”.format(str(“My gues:”)+str(i_g)), 0, 0) oled.show() n_r = int(n_r / (2)) time.sleep((0.5)) oled.fill(0) oled.text(“{}”.format(“Press the Button “), 0, 20) oled.text(“{}”.format(“TO START!!!”), 15, 30) oled.show() while (pin_button.value()) == (0): pass while True: oled.fill(0) n_r = 64 i_g = n_r oled.text(“{}”.format(str(“My gues:”)+str(i_g)), 25, 0) oled.text(“{}”.format(“Press \’ok\’ if I guess correctly”), 0, 30) oled.show() while True: if data_rcvd == True: data_rcvd = False if ir_data == IR_RX.number_up: up() if ir_data == IR_RX.number_down: down() if ir_data == IR_RX.number_ok: ok() break “`
Projenin Arduino Kodları