Kare bulmaca veritabanı

Bu konuyu okuyanlar

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
Gazetelerde vardır kare bulmaca sağdan sola, yukarıdan aşağı şeklinde giden.Biz yazmaya kalksak bu kare kısmını nasıl yaparız sizce.Düşünün her seferinde yeni bir bulmaca yükleyecek olursak her seferinde siyah yerlerin yeri değişecek
alzheimer-bulmaca.jpg
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
Soruyor musunuz, sınav mı yapıyorsunuz, ona göre :)
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
zamanında yapmıştım fakat biraz uğraştırıcı idi belki dedim pratik bir yol öneren olur
 

ygtars

Asistan
Katılım
15 Ocak 2016
Mesajlar
363
Reaksiyon puanı
55
Puanları
28
Bunu yapmamızı sağlayan bir motor var artık bu tarz oyunlar bir kaç obje bir kaç kütüphane ve bir motor la yapılabiliyorlar. (UNİTY <3)
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
Adedi belliyse o kadarlık döngü kurulup rastgele iki sayı üretilir (12, 12 sınırlarında), o sayıların koordinatlarına yerleştirilebilir.
Adedini de rastgele yapabiliriz belli sınırlar arasında.
Bulmacanın görüntüsü plâtforma göre farklı kodlanır.
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
benimki kafaya işte tasarım dediğin gibi döngü ile oluyor ama işte bulmaca cevabına göre siyah yani kapalı olan yerler için veritabanında bir tablo oluşturup texbox ların adeti kadar satır eklemiş bunları 1-0 olarak doldurmuştum alan 1 ise text box siyah ve pasif ,0 ise aktif ve renk yok şeklinde :)
 

ygtars

Asistan
Katılım
15 Ocak 2016
Mesajlar
363
Reaksiyon puanı
55
Puanları
28
benimki kafaya işte tasarım dediğin gibi döngü ile oluyor ama işte bulmaca cevabına göre siyah yani kapalı olan yerler için veritabanında bir tablo oluşturup texbox ların adeti kadar satır eklemiş bunları 1-0 olarak doldurmuştum alan 1 ise text box siyah ve pasif ,0 ise aktif ve renk yok şeklinde :)
oda mantıklı tabi ama çok zor olur yahu uğraşmak lazım dur eve gidince uğraşayım :p
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
dedik ya kafa işte diye :) ha birde unutmadan yazayım bulmaca sözlük diye de bir eklenti yapmıştım eklenti kurulu değilse menüde gözükmüyordu :)
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
ben bırakalı çok oldu dolayısıyla diller de eski visual basic , delphi ve c ile bir ara uğraşmıştım
 

ygtars

Asistan
Katılım
15 Ocak 2016
Mesajlar
363
Reaksiyon puanı
55
Puanları
28
ben bırakalı çok oldu dolayısıyla diller de eski visual basic , delphi ve c ile bir ara uğraşmıştım
visual basic çokta eski sayılmaz ilk lise dönemimde tanışmıştım tabi şu an kitaplardan kafamı kaldırabilirsem :( birazdaha gelişitiricem şu an c# ; den sıkılırsamda vb.net kullanıyorum :) tavsiyemdir
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
visual basic çokta eski sayılmaz ilk lise dönemimde tanışmıştım tabi şu an kitaplardan kafamı kaldırabilirsem :( birazdaha gelişitiricem şu an c# ; den sıkılırsamda vb.net kullanıyorum :) tavsiyemdir
vb.nete destek bitti, asıl destek c#'a veriliyor, ciddi uğraşıyorsanız ve microsoft tercih edecekseniz c# daha iyi bence.
 

ygtars

Asistan
Katılım
15 Ocak 2016
Mesajlar
363
Reaksiyon puanı
55
Puanları
28
vb.nete destek bitti, asıl destek c#'a veriliyor, ciddi uğraşıyorsanız ve microsoft tercih edecekseniz c# daha iyi bence.
destek bitti derken ? neden destek bitsin c# dan çok basit bir şekilde vb.nete dönüştürülebiliyor bence siz vb6 ile karıştırıyorsunuz
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
destek bitti derken ? neden destek bitsin c# dan çok basit bir şekilde vb.nete dönüştürülebiliyor bence siz vb6 ile karıştırıyorsunuz
Destek bitti derken microsoft için birincil dil c#, ilk desteği alan c#, ciddi projelerde kullanılan da c#. Görüntü işleme, büyük veri, yapay zeka gibi alanlar için bir teknoloji geliştirilirken c# düşünülerek geliştiriliyor, vb değil. Hobi için öğrenilebilir ama iş için ona harcanan vakte yazık.
 

ygtars

Asistan
Katılım
15 Ocak 2016
Mesajlar
363
Reaksiyon puanı
55
Puanları
28
Destek bitti derken microsoft için birincil dil c#, ilk desteği alan c#, ciddi projelerde kullanılan da c#. Görüntü işleme, büyük veri, yapay zeka gibi alanlar için bir teknoloji geliştirilirken c# düşünülerek geliştiriliyor, vb değil. Hobi için öğrenilebilir ama iş için ona harcanan vakte yazık.
ikisi arasında büyük farklar yok zaten c# biliyorum sıkıntıda yok :)
 
D

Deleted member 216045

SDN Okuru
Bunu yapmamızı sağlayan bir motor var artık bu tarz oyunlar bir kaç obje bir kaç kütüphane ve bir motor la yapılabiliyorlar. (UNİTY <3)
unity çöp bro her adam akıllı oyun illa unreal engine çıkıyo. unity de yapılan oyunlar sınırlı gibi (3 boyutlu için bu yorumum)
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
unity çöp bro her adam akıllı oyun illa unreal engine çıkıyo. unity de yapılan oyunlar sınırlı gibi (3 boyutlu için bu yorumum)
inside oyununa bir bakın.
Unreal ile unityi karşılaştırmak doğru değil, ikisi farklı geliştiricilere hitap ediyor.
Size kalsa her şey çöp zaten :)
 

mirinkirin

Doçent
Katılım
4 Temmuz 2016
Mesajlar
708
Reaksiyon puanı
358
Puanları
63
parantez içine bi bakın derim.
inside 2.5 boyutlu :)
Unreal ile unity zaten karşılaştırılamaz, birisi büyük takım geliştiricilerine diğeri bağımsız geliştiricilere hitap ediyor.
İlla karşılaştırılacaksa da unity unreala göre zayıf, eksik denebilir belki, gene de çöp demek doğru değil.
Unity hiçbir işe yaramasa bile, sırf unreal gibi motorların fiyat politikasını etkilediği için takdir edilmeli.
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
Muhabbet veritabanin dan kaydı kenara sanirim
 
D

Deleted member 216045

SDN Okuru
inside 2.5 boyutlu :)
Unreal ile unity zaten karşılaştırılamaz, birisi büyük takım geliştiricilerine diğeri bağımsız geliştiricilere hitap ediyor.
İlla karşılaştırılacaksa da unity unreala göre zayıf, eksik denebilir belki, gene de çöp demek doğru değil.
Unity hiçbir işe yaramasa bile, sırf unreal gibi motorların fiyat politikasını etkilediği için takdir edilmeli.
iki boyutlu olarak geçiyor steam incelemesinde bile 2d yazmışlar :) buçuğunu falan boşver.
unityi sınavım için oyun geliştirirken çok basma kalıp buldum ve yapabilecekler sınırlı ve unity oyunları resmen daha kurcalama beni diye bağırıyor.
 

Web Kartalı

Asistan
Katılım
3 Ağustos 2017
Mesajlar
177
Reaksiyon puanı
115
Puanları
43
Uğraşmaya değmez diye düşünüyorum ama , arkadaşımızın 1. post da sorduğu biraz düşündüm de kafa yakarım ben ya :) olacağı varsada olmasın benden uzak dursun ..
--- Gönderi Güncellendi ---
ama kafa yakarsak yazarız :) bu da ayrı bir bakış açısı..
 

Ben Kenobi

Dekan
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Bunun için veritabanına veya oyun motoruna gerek yok.
Herhangi bir programlama dili ve herhangi bir gui kütüphanesiyle kısa sürede yapılabilir.
İşim olmasa ben yapardım 2 güne. :D
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
Bunun için veritabanına veya oyun motoruna gerek yok.
Herhangi bir programlama dili ve herhangi bir gui kütüphanesiyle kısa sürede yapılabilir.
İşim olmasa ben yapardım 2 güne. :D
Fikirlerinizi belirtirseniz sevinirim zaten maksadım eğlence idi o zamanlar.Nasıl bir yol izlemem gerekli idi.Mantığını açıklarmısınız.
 

Ben Kenobi

Dekan
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Al sana yazdım 1 saatte.
C++ ve Qt
Aslında en fazla yarım saatlik iş ama unutmuşuz biraz. :D

upload_2017-9-29_23-32-10.png


Bunlar *.h kodları
Kod:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui
{
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *__restrict__ parent = nullptr);
    ~MainWindow();

private slots:
    void on_Create_QPushButton_clicked() const;

private:
    Ui::MainWindow *ui;
};

#endif

Bunlar *.cpp kodları
Kod:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *__restrict__ parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    srand(time(nullptr));
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_Create_QPushButton_clicked() const
{
    QPalette black;
    black.setColor(QPalette::ColorRole::Window, Qt::GlobalColor::black);

    QPalette white;
    white.setColor(QPalette::ColorRole::Background, Qt::GlobalColor::white);

    const QList<QFrame *> list1 = ui->Main_QFrame->findChildren<QFrame *>();
    const unsigned int list1Length = static_cast<unsigned int>(list1.length());
    for(unsigned int i = 0; i < list1Length; ++i)
    {
        const QList<QFrame *> list2 = list1[i]->findChildren<QFrame *>();
        const unsigned int list2Length = static_cast<unsigned int>(list2.length());

        for(unsigned int j = 0; j < list2Length; ++j)
        {
            if(rand() % 100 < 10)
                list2[j]->setPalette(black);
            else
                list2[j]->setPalette(white);
        }
    }
}

Bunlar *.ui kodları (Uzun olduğundan aşağıdaki siteye koydum)
Paste ofCode

Bu da exe dosyası (Square.exe'ye çift tıklayarak çalıştır, aslında boyutu static linking yaparak vs küçültebilirdim de fazla uğraşmadım)
Square.7z

Dinamik hale getirilebilir (misal kullanıcıya sorulup 16x12 boyutunda olsun gibi), rastgele algoritması iyileştirilebilir vs vs ama örnek olsun diye yaptım. :)
--- Gönderi Güncellendi ---
Ek not: Bu bulmaca 23x23 boyutunca.
Ama misal 1000x1000 boyutunda bir bulmacayı 1 saniyede çizmek istiyorsan, 1 milyon tane QFrame'ler yerine tek frame içerisinde DrawEvent içerisinde koordinat çizimleri yapmalısın.
Ek not 2: QFrame kullanmışım ama hepsi QWidget olsa daha iyi olur çünkü QFrame zaten QWidget'tan extend ediliyor ve bu extend özelliklere bu programda ihtiyacımız yok ama yine de en iyisi DrawEvent tabi. :D
 

MrtAltg

Dekan
Emektar
Katılım
22 Şubat 2007
Mesajlar
9,830
Reaksiyon puanı
12,066
Puanları
113
peki soru ya göre hangi kare siyah hangi kare beyaz nasıl yapıyorsun
 

Ben Kenobi

Dekan
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
Bu programda standart random fonksiyonu kullandım yani %90 ihtimalle beyaz %10 ihtimalle siyah.
Ama özelleştirilmiş gauss veya noise gibi rastgele fonksiyonları da var, bunların bir kısmı özel seed alıyor ve random değer eşiği geçtiği zaman matris içerisinde birbirine yakın noktalar birbirine yakın sonuçlar verebiliyor, bu sayede bulmaca biraz daha iyi gözükebilir.
upload_2017-9-30_0-15-21.jpeg
 
Üst