JSFiddle - React, Tailwind, and code Playground
HTML
<h1>
Map Generator
</h1>
<table>
<tr>
<td>
<button id="randomize" type="button">Randomize</button>
</td>
<td>Frequency</td>
<td>Land Area</td>
<td>Richness</td>
<td>Starting Area</td>
</tr>
<tr>
<td>Terrain segments</td>
<td>
<select>
<option>Very Low</option>
<option>Low</option>
<option selected>Normal</option>
<option>High</option>
<option>Very High</option>
</select>
</td>
<td>
<select>
<option>Very Small</option>
<option>Small</option>
<option selected>Medium</option>
<option>Big</option>
<option>Very Big</option>
<option>Water only in Starting Area</option>
</select>
</td>
<td>
<select>
<option>Desert</option>
<option>Very Dry</option>
<option>Dry</option>
<option selected>Regular</option>
<option>Humid</option>
<option>Very Humid</option>
<option>Tropical</option>
</select>
</td>
<td>
<select>
<option>Desert bias</option>
<option>Dirt bias</option>
<option>Plains bias</option>
<option selected>Normal</option>
<option>Forest bias</option>
<option>Jungle bias</option>
</select>
</td>
</tr>
<tr>
<td>Iron ore</td>
<td>
<select>
<option>Very Low</option>
<option>Low</option>
<option selected>Normal</option>
<option>High</option>
<option>Very High</option>
</select>
</td>
<td>
<select>
<option>None</option>
<option>Very Small</option>
<option>Small</option>
<option selected>Medium</option>
<option>Big</option>
<option>Very Big</option>
</select>
</td>
<td>
<select>
<option>Very Poor</option>
<option>Poor</option>
<option selected>Regular</option>
<option>Good</option>
...
JavaScript
document.getElementById("randomize").onclick = function() {
var dropdowns = document.getElementsByTagName("select");
for (var i = 0; i < dropdowns.length; i++) {
dropdowns[i].selectedIndex = Math.floor((Math.random() + Math.random() + Math.random()) / 3 * dropdowns[i].options.length);
}
document.getElementById("seed").value = Math.floor(Math.pow(2, 32) * Math.random());
}