Skip to content

Instantly share code, notes, and snippets.

@YujiSODE
Created May 29, 2017 10:59
Show Gist options
  • Save YujiSODE/554f036160a296742760433545b99f41 to your computer and use it in GitHub Desktop.
Save YujiSODE/554f036160a296742760433545b99f41 to your computer and use it in GitHub Desktop.
function returns array formatted random n x m data map.
/*nXmGen.js
*
* Copyright (c) 2017 Yuji SODE <yuji.sode@gmail.com>
*
* This software is released under the MIT License.
*/
//function returns array formatted random n x m data map.
/*
* e.g., random 3 x 3 data map = ["010","111","101"]
* - n: data map width
* - [optional] m: data map height
* - [optional] max: max value of data map
*/
function nXmGen(n,m,max){
m=(m!=undefined)?m:n;
max=(max!=undefined)?max:1;
m=/^[1-9](?:[0-9]+)?$/.test(m)?m:n;
max=/^[0-9]$/.test(max)?max:1;
var i=0,j=0,arr=[];
//width: n; height: m
while(i<m){
j=0,arr[i]='';
while(j<n){
arr[i]+=Math.floor((max+1)*Math.random());
j+=1;
}
i+=1;
}
return arr;
}
/*
* MIT License
*
* Copyright (c) 2017 Yuji Sode
*
* 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.
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment