GithubHelp home page GithubHelp logo

xiegeo / commit-sudoku Goto Github PK

View Code? Open in Web Editor NEW
39.0 8.0 15.0 97 KB

Accepting pull requests to collectively finish a Sudoku puzzle.

License: MIT License

Go 31.22% JavaScript 68.78%
git game sudoku

commit-sudoku's Introduction

commit-sudoku

Build Status

1 5 7 2 9 6 8 3 4
8 9 2 3 4 5 6 1 7
4 3 6 1 8 7 2 5 9
7 4 1 6 5 2 3 9 8
9 2 8 7 3 4 5 6 1
3 6 5 8 1 9 4 7 2
6 8 4 9 7 3 1 2 5
2 1 9 5 6 8 7 4 3
5 7 3 4 2 1 9 8 6

Rules

There are two types of pull requests, moves and others.

A move must only include filling in one number in one cell in the puzzle.

  • A player can only make at most one move a day.
  • A player can remove any moves made by himself or herself without the above limitation.
  • Moves are accepted in order of first submission.
  • Conflicting moves are skipped, they can be resubmitted ASAP once fixed.
  • Multiple players can submit a single joint pull requests consistent of many moves, one from each player.

All other pull requests should improve the project in some way. Explained with what changes are made, and how it makes the project better.

  • Other pull requests must not include move commits. They should also preserve git blame for moves as best as possible.
  • Acceptance does not follow the rule of moves.
  • They can be anything else typical of any project.
  • They can even change the rules, but not apply retroactively.

Evolution

Evolution of the board

More details here.

Testing

There is CI integration to make pull requests more flashy. You can run the tests locally with go test if you have go installed. You are also welcome to add redundant tests using other languages or improve existing ones.

commit-sudoku's People

Contributors

anishkny avatar aveao avatar b12f avatar benharri avatar bluelightning42 avatar buzzedword avatar korfuri avatar makidoll avatar minerobber9000 avatar pinaz993 avatar rain-1 avatar raphaelyan avatar sapid avatar standekker avatar thisisjeron avatar xiegeo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

commit-sudoku's Issues

What's next?

What do we do after we finish this puzzle? This is an open-ended question for now. All suggestions welcome.

Animated GIF showing evolution of the board

Hey @xiegeo

This idea has been kicking around in my head for a while. Would be cool to create a GIF (something like this) that shows evolution of the board from start to current state.

I have a PR in my fork that does the following:

  1. Get list of commits using git log
  2. Get state of table at each commit using git show $SHA:README.md
  3. Render each state in Puppeteer to PNG
  4. Encode GIF from rendered PNGs

Its set to work on Travis.

Thoughts?

Generating table as an image to add to markdown

Instead of creating the sudoku table in markdown, would it be possible to have a script (Go, python, doesn't matter) that creates an image that is automatically added to the readme? The current markdown sudoku table doesn't have the typical bolded lines of a sudoku table, making it hard to read

e: also, editing the sudoku table is not easy as well, something that can be fixed by having the sudoku table stored separate outside of the readme

Add CI to check if pull request breaks rules of Sudoku

Idea:

When a pull request is made, CI can check for the basic rules of Sudoku, to flag any broken rules of uniqueness per rows, columns, and blocks.

The tests must use the table in the readme as the only source of truth. Tests may require formatting rules.

The tests should also be runnable locally.

The tests can use any programing environment. Having a test in one environment does not exclude making the same test in a different environment. The target is to have any developer commit sudoku in their favorite environment.

Tests must not play Sudoku for you, or take away the fun.

Please add your forks here if you decide to implement such tests.

Working and Todos:

  • Go tests with travis ci.
  • Add others.

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.