Giter Site home page Giter Site logo

constraint-game's Introduction

Constraint Game

In this repository I am experimenting with the development of high level declarative GUI applications using a combination of gi-gtk-declarative and diagrams.

Diagrams can be rendered to Cairo with diagrams-cairo and that can be rendered to a gi-gtk widget as described here. That rendering function can then be run inside the draw handler of a custom widget defined in gi-gtk-declarative.

Eventually, I would like to make the DrawingArea widget a standard gi-gtk-declarative widget. And I would also strongly support a good gi-cairo implementation that actually supports rendering as discussed in this issue thread. I think cohomology's work on gi-cairo-render is a good start, but I'm not sure if its production ready. I would also like to research a way to create automatic bindings for C libraries without special gobject introspection metadata.

I believe this combination of diagrams and gi-gtk-declarative can be turned into a gloss replacement that is a leap forward in functionality and that could actually be used for real graphical applications.

Sudoku

To show off this approach to designing GUI applications I have chosen the sudoku game. The secondary goal of this project is to implement a sudoku GUI application for which you can write your own solving techniques. The challenge is to find rules that do not use backtracking. I'm planning to implement many of the techniques that are described on the sudopedia.

Currently, you can place numbers by clicking in the boxes and you can change the number you place by pressing the desired digit on your keyboard. To switch to an erasing mode you can press the zero key.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.