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
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>);
|
|
}
|
|
});
|
|
|