From 07c95e0fe393b744e90a3398e03f56479efab8bd Mon Sep 17 00:00:00 2001 From: Jason Wangsadinata Date: Tue, 3 Jul 2018 22:49:30 +0700 Subject: [PATCH] add sudoku community example This commit adds a simple sudoku community example that demonstrates the use of text batching and imdraw drawing capabilities. --- examples/community/sudoku/LICENSE | 21 +++ examples/community/sudoku/README.md | 45 ++++++ examples/community/sudoku/sudoku.go | 214 +++++++++++++++++++++++++++ examples/community/sudoku/sudoku.png | Bin 0 -> 67934 bytes 4 files changed, 280 insertions(+) create mode 100644 examples/community/sudoku/LICENSE create mode 100644 examples/community/sudoku/README.md create mode 100644 examples/community/sudoku/sudoku.go create mode 100644 examples/community/sudoku/sudoku.png diff --git a/examples/community/sudoku/LICENSE b/examples/community/sudoku/LICENSE new file mode 100644 index 0000000..ae925dc --- /dev/null +++ b/examples/community/sudoku/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Jason Wangsadinata + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/examples/community/sudoku/README.md b/examples/community/sudoku/README.md new file mode 100644 index 0000000..73b7a1c --- /dev/null +++ b/examples/community/sudoku/README.md @@ -0,0 +1,45 @@ +# Sudoku + +A game of Sudoku written in [Go][go]. + +From [Wikipedia][sudoku-wiki]: +> Sudoku (数独 sūdoku, digit-single) (/suːˈdoʊkuː/, /-ˈdɒk-/, /sə-/, originally +> called Number Place) is a logic-based, combinatorial number-placement puzzle. +> The objective is to fill a 9×9 grid with digits so that each column, each row, +> and each of the nine 3×3 subgrids that compose the grid (also called "boxes", +> "blocks", or "regions") contains all of the digits from 1 to 9. The puzzle +> setter provides a partially completed grid, which for a well-posed puzzle has +> a single solution. + +Created by [Jason Wangsadinata][jwangsadinata] using +[Pixel][pixel]. + +This example is kept to the bare minimum for demonstrating just the main +concepts of using imdraw, and batch with texts. For a game with slightly more +features, please check out [Go-Sudoku][go-sudoku] + +## Usage + +Run it the usual way: + + go run sudoku.go + +## How to Play + +- *Left mouse* click to select a box. +- *Number keys* to input a number. +- *Space* or *Backspace* to delete a number. + +## Screenshots + +![Sudoku](sudoku.png) + +## Links + +- [Go-Sudoku][go-sudoku] + +[go]: https://golang.org +[go-sudoku]: https://github.com/jwangsadinata/go-sudoku +[jwangsadinata]: https://github.com/jwangsadinata +[pixel]: https://github.com/faiface/pixel +[sudoku-wiki]: https://en.wikipedia.org/wiki/Sudoku diff --git a/examples/community/sudoku/sudoku.go b/examples/community/sudoku/sudoku.go new file mode 100644 index 0000000..882987c --- /dev/null +++ b/examples/community/sudoku/sudoku.go @@ -0,0 +1,214 @@ +package main + +import ( + "image" + "os" + "strconv" + + _ "image/png" + + "github.com/faiface/pixel" + "github.com/faiface/pixel/imdraw" + "github.com/faiface/pixel/pixelgl" + "github.com/faiface/pixel/text" + "github.com/golang/freetype/truetype" + "golang.org/x/image/colornames" + "golang.org/x/image/font/gofont/goregular" +) + +const ( + width = 900 +) + +var input bool +var x, y int + +var board = [9][9]int{} +var puzzle = [9][9]int{ + {6, 7, 2, 3, 4, 1, 5, 8, 9}, + {5, 3, 4, 9, 6, 8, 1, 2, 7}, + {8, 9, 1, 7, 5, 2, 6, 3, 4}, + {3, 5, 6, 8, 2, 9, 4, 7, 1}, + {7, 2, 8, 4, 1, 5, 3, 9, 6}, + {4, 1, 9, 6, 7, 3, 8, 5, 2}, + {1, 8, 3, 2, 9, 6, 7, 4, 5}, + {9, 6, 7, 5, 3, 4, 2, 1, 8}, + {2, 4, 5, 1, 8, 7, 9, 6, 3}, +} + +var mask = [9][9]bool{ + {false, false, true, false, false, true, true, true, false}, + {false, false, true, true, true, false, false, false, true}, + {true, false, false, false, false, false, true, true, false}, + {false, true, true, false, true, false, true, true, false}, + {false, true, false, false, false, true, false, true, false}, + {false, true, true, false, true, false, true, true, false}, + {false, true, true, false, false, false, false, false, true}, + {true, false, false, false, true, true, true, false, false}, + {false, true, true, true, false, false, true, false, false}, +} + +func loadPicture(path string) (pixel.Picture, error) { + file, err := os.Open(path) + if err != nil { + return nil, err + } + defer file.Close() + img, _, err := image.Decode(file) + if err != nil { + return nil, err + } + return pixel.PictureDataFromImage(img), nil +} + +func updateBoard(value int, imd *imdraw.IMDraw) { + board[x][y] = value + imd.Clear() + input = false +} + +func run() { + // initialize window + cfg := pixelgl.WindowConfig{ + Title: "Sudoku", + Bounds: pixel.R(0, 0, width, width), + VSync: true, + } + win, err := pixelgl.NewWindow(cfg) + if err != nil { + panic(err) + } + + // initialize imdraw + imd := imdraw.New(nil) + + // initialize font + ttf, err := truetype.Parse(goregular.TTF) + if err != nil { + panic(err) + } + face := truetype.NewFace(ttf, &truetype.Options{ + Size: 64 * width / 900, + }) + atlas := text.NewAtlas(face, text.ASCII) + + // initialize batch + batch := pixel.NewBatch(&pixel.TrianglesData{}, atlas.Picture()) + + // setup game + for i := 0; i < 9; i++ { + for j := 0; j < 9; j++ { + if mask[i][j] { + board[i][j] = puzzle[i][j] + } + } + } + + for !win.Closed() { + // win condition + if board == puzzle { + win.SetClosed(true) + } + + // select a box + if win.JustPressed(pixelgl.MouseButtonLeft) { + if input { + imd.Clear() + } + pos := win.MousePosition() + x = int(pos.X) / (width / 9) + y = int(pos.Y) / (width / 9) + + if !mask[x][y] { + imd.Color = colornames.Paleturquoise + imd.Push(pixel.V(float64(x*width/9)+1, float64(y*width/9)+1), + pixel.V(float64((x+1)*width/9)-1, float64((y+1)*width/9)-1)) + imd.Rectangle(0) + input = true + } + } + // act on user input + if input && !mask[x][y] { + if win.JustPressed(pixelgl.Key1) || win.JustPressed(pixelgl.KeyKP1) { + updateBoard(1, imd) + } + if win.JustPressed(pixelgl.Key2) || win.JustPressed(pixelgl.KeyKP2) { + updateBoard(2, imd) + } + if win.JustPressed(pixelgl.Key3) || win.JustPressed(pixelgl.KeyKP3) { + updateBoard(3, imd) + } + if win.JustPressed(pixelgl.Key4) || win.JustPressed(pixelgl.KeyKP4) { + updateBoard(4, imd) + } + if win.JustPressed(pixelgl.Key5) || win.JustPressed(pixelgl.KeyKP5) { + updateBoard(5, imd) + } + if win.JustPressed(pixelgl.Key6) || win.JustPressed(pixelgl.KeyKP6) { + updateBoard(6, imd) + } + if win.JustPressed(pixelgl.Key7) || win.JustPressed(pixelgl.KeyKP7) { + updateBoard(7, imd) + } + if win.JustPressed(pixelgl.Key8) || win.JustPressed(pixelgl.KeyKP8) { + updateBoard(8, imd) + } + if win.JustPressed(pixelgl.Key9) || win.JustPressed(pixelgl.KeyKP9) { + updateBoard(9, imd) + } + if win.JustPressed(pixelgl.Key0) || win.JustPressed(pixelgl.KeyKP0) || + win.JustPressed(pixelgl.KeyBackspace) || win.JustPressed(pixelgl.KeySpace) { + updateBoard(0, imd) + } + } + + // set up lines for drawing + for i := 1; i < 9; i++ { + imd.Color = colornames.Black + if i%3 == 0 { + imd.Push(pixel.V(float64(i*width/9), 0), pixel.V(float64(i*width/9), width)) + imd.Line(6) + + imd.Push(pixel.V(0, float64(i*width/9)), pixel.V(width, float64(i*width/9))) + imd.Line(6) + } else { + imd.Push(pixel.V(float64(i*width/9), 0), pixel.V(float64(i*width/9), width)) + imd.Line(3) + + imd.Push(pixel.V(0, float64(i*width/9)), pixel.V(width, float64(i*width/9))) + imd.Line(3) + } + } + + // set up numbers for drawing + batch.Clear() + for a, sa := range board { + for b, sb := range sa { + if sb != 0 { + num := text.New(pixel.ZV, atlas) + num.WriteString(strconv.Itoa(sb)) + num.DrawColorMask(batch, + pixel.IM. + Scaled( + pixel.ZV, float64(width)/900). + Moved( + pixel.V((float64(a)+0.3)*width/9, + (float64(b)+0.25)*width/9)), + colornames.Black) + } + } + } + + // draw the scene to the window + win.Clear(colornames.Snow) + batch.Draw(win) + imd.Draw(win) + + // update the window + win.Update() + } +} + +func main() { + pixelgl.Run(run) +} diff --git a/examples/community/sudoku/sudoku.png b/examples/community/sudoku/sudoku.png new file mode 100644 index 0000000000000000000000000000000000000000..6e317fd154e2166c65ef2eeb611f5be60fd77d75 GIT binary patch literal 67934 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