Example #1
0
 it( "should match the output of sudoku.solvepuzzle" , function() {
   for (var i = 0; i < ntest; i++) {
     var puzzle = sudoku.makepuzzle();
     var board = makeBoard(puzzle);
     var solution = makeBoard(sudoku.solvepuzzle(puzzle));
     SudokuSolver(board).should.equal(solution);
   }
 });
  Text,
  TextInput,
  TouchableWithoutFeedback,
  TouchableOpacity,
  View,
} = React;

var SudokuGame = React.createClass({
  getInitialState() {
    return {
      puzzle: Sudoku.makepuzzle()
    }
  },

  _onInput(key, input) {
    var solved = Sudoku.solvepuzzle(_.flatten(this.state.puzzle));
    var gridpoint = key.split('-');
    var x = gridpoint[0];
    var y = gridpoint[1];
    puzzle[x][y] = parseInt(--input);

    if(Sudoku.boardmatches(_.flatten(puzzle), solved)){
      AlertIOS.alert('Game Solved');
    }
  },

  newGame() {
    this.setState({puzzle: Sudoku.makepuzzle()});
  },

  solvePuzzle() {
'use strict';

var React = require('react-native');
var Sudoku = require('sudoku');
var Dimensions = require('Dimensions');
var _ = require('lodash');

var puzzle  = _.chunk(Sudoku.makepuzzle(), 9);
var solved = Sudoku.solvepuzzle(_.flatten(puzzle));

var {
  AlertIOS,
  AppRegistry,
  StyleSheet,
  PixelRatio,
  Text,
  TextInput,
  TouchableWithoutFeedback,
  TouchableOpacity,
  View,
} = React;

var SudokuGame = React.createClass({
  getInitialState() {
    return {
      puzzle: _.flatten(puzzle)
    }
  },

  _onInput(key, input) {
    var gridpoint = key.split('-');