1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- var getSymbolSize = require('./utils').getSymbolSize
- exports.getRowColCoords = function getRowColCoords (version) {
- if (version === 1) return []
- var posCount = Math.floor(version / 7) + 2
- var size = getSymbolSize(version)
- var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2
- var positions = [size - 7]
- for (var i = 1; i < posCount - 1; i++) {
- positions[i] = positions[i - 1] - intervals
- }
- positions.push(6)
- return positions.reverse()
- }
- exports.getPositions = function getPositions (version) {
- var coords = []
- var pos = exports.getRowColCoords(version)
- var posLength = pos.length
- for (var i = 0; i < posLength; i++) {
- for (var j = 0; j < posLength; j++) {
-
- if ((i === 0 && j === 0) ||
- (i === 0 && j === posLength - 1) ||
- (i === posLength - 1 && j === 0)) {
- continue
- }
- coords.push([pos[i], pos[j]])
- }
- }
- return coords
- }
|