İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. SDN Programlama Kafe
SDN Programlama Kafe

Kare bulmaca veritabanı

MrtAltg08.09.201729 cevap6.051 görüntüleme
2007'den beri9.834 mesaj
#1
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
Cevaplar
2016'den beri708 mesaj
#2
Soruyor musunuz, sınav mı yapıyorsunuz, ona göre :)
MrtAltg Konuyu açan
2007'den beri9.834 mesaj
#3
zamanında yapmıştım fakat biraz uğraştırıcı idi belki dedim pratik bir yol öneren olur
2016'den beri363 mesaj
#4
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)
2016'den beri708 mesaj
#5
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 Konuyu açan
2007'den beri9.834 mesaj
#6
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 :)
2016'den beri363 mesaj
#7
Mrtaltg dedi: ↑
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 Konuyu açan
2007'den beri9.834 mesaj
#8
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 :)
2016'den beri363 mesaj
#9
Mrtaltg dedi: ↑
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 :)
Hangi dilde yazıyorsunuz ?
MrtAltg Konuyu açan
2007'den beri9.834 mesaj
#10
ben bırakalı çok oldu dolayısıyla diller de eski visual basic , delphi ve c ile bir ara uğraşmıştım
2016'den beri363 mesaj
#11
Mrtaltg dedi: ↑
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
2016'den beri708 mesaj
#12
ygtars dedi: ↑
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.
2016'den beri363 mesaj
#13
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
2016'den beri708 mesaj
#14
ygtars dedi: ↑
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.
2016'den beri363 mesaj
#15
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 :)
Misafir
#16
ygtars dedi: ↑
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)
2016'den beri363 mesaj
#17
mfi dedi: ↑
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)
3 boyutlu bulmaca :P
Misafir
#18
ygtars dedi: ↑
3 boyutlu bulmaca :p
bulmaca değilde ben genel olarak fikrimi söyledim :)
2016'den beri708 mesaj
#19
mfi dedi: ↑
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 :)
Misafir
#20
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 :)
parantez içine bi bakın derim.
2016'den beri708 mesaj
#21
mfi dedi: ↑
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 Konuyu açan
2007'den beri9.834 mesaj
#22
Muhabbet veritabanin dan kaydı kenara sanirim
Misafir
#23
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.
2016'den beri363 mesaj
#24
Mrtaltg dedi: ↑
Muhabbet veritabanin dan kaydı kenara sanirim
Genel geyiğe dönmesin :P
2017'den beri177 mesaj
#25
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ı..
2011'den beri7.329 mesaj
#26
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 Konuyu açan
2007'den beri9.834 mesaj
#27
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.
2011'den beri7.329 mesaj
#28
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ı
#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ı
#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 Konuyu açan
2007'den beri9.834 mesaj
#29
peki soru ya göre hangi kare siyah hangi kare beyaz nasıl yapıyorsun
2011'den beri7.329 mesaj
#30
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

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.