You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

32 lines
809 B

require('../../sass/board/grid.scss');
var React = require('react');
var Cell = require('./Cell');
var Values = require('./Values');
var State = require('../State');
module.exports = React.createClass({
generateValues() {
return Values.generate(this.props.width * this.props.height, State.level);
},
getInitialState() {
return {
values: this.generateValues()
};
},
render() {
var cells = [];
var i;
for (var x = 0; x < this.props.width; x++) {
for (var y = 0; y < this.props.height; y++) {
i = y * this.props.width + x;
cells.push(<Cell value={this.state.values[i]} x={x} y={y} key={i} />);
}
}
return (<div className='grid'>{cells}</div>);
}
});