updated
This commit is contained in:
		
							parent
							
								
									02ce8b3e51
								
							
						
					
					
						commit
						1d16cfc44b
					
				
					 11 changed files with 180 additions and 4 deletions
				
			
		
							
								
								
									
										5
									
								
								scripts/interface.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								scripts/interface.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | |||
| let soundEffects = { | ||||
| 	'ding': new Audio('media/ding.mp4'), | ||||
| 	'fallout': new Audio('media/Shells_falls-Marcel-829263474.mp3'), | ||||
| 	'tada': new Audio('media/tada.mp3') | ||||
| } | ||||
							
								
								
									
										86
									
								
								scripts/roll.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								scripts/roll.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,86 @@ | |||
| /* https://en.wikipedia.org/wiki/Bo_Bing_(game) */ | ||||
| 
 | ||||
| function randomNumber (minimum, maximum, times = 1) { | ||||
| 	let resultNumber = 0; | ||||
| 	 | ||||
| 	for (currentRandom = 0; currentRandom < times; currentRandom++) { | ||||
| 		resultNumber = Math.floor(Math.random() * (maximum - minimum) + minimum); | ||||
| 	}; | ||||
| 	return resultNumber; | ||||
| }; | ||||
| 
 | ||||
| function rollDice(times = 1) { | ||||
| 	let value_dices = []; | ||||
| 	let value_current = 0; | ||||
| 
 | ||||
| 	let dices_amount_current = value_dices.length; | ||||
| 
 | ||||
| 	for (rolls = 0; rolls < times; rolls++) { | ||||
| 		for (dices_max = 6; dices_amount_current < dices_max; dices_amount_current = value_dices.length) { | ||||
| 			value_current = randomNumber(1, 6); | ||||
| 			 | ||||
| 			if (randomNumber(1, 2) == 1) { | ||||
| 				value_dices.push(value_current); | ||||
| 			} else { | ||||
| 				value_dices.unshift(value_current); | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	return value_dices; | ||||
| }; | ||||
| 
 | ||||
| function rollDiceWithResults() { | ||||
| 	let value_dices = rollDice(); | ||||
| 	let value_current = 0; | ||||
| 	let value_dices_numbers = { | ||||
| 		'one': 0, | ||||
| 		'two': 0, | ||||
| 		'three': 0, | ||||
| 		'four': 0, | ||||
| 		'five': 0, | ||||
| 		'six': 0 | ||||
| 	}; | ||||
| 	 | ||||
| 	/* The first dice is always the zeroth dice! */ | ||||
| 	for (diceNumber = 0; diceNumber < value_dices.length; diceNumber++) { | ||||
| 		value_current = value_dices[diceNumber]; | ||||
| 		switch (value_current) { | ||||
| 			case 1: value_dices_numbers.one++; break; | ||||
| 			case 2: value_dices_numbers.two++; break; | ||||
| 			case 3: value_dices_numbers.three++; break; | ||||
| 			case 4: value_dices_numbers.four++; break; | ||||
| 			case 5: value_dices_numbers.five++; break; | ||||
| 			case 6: value_dices_numbers.six++; break; | ||||
| 		}; | ||||
| 	}; | ||||
| 	 | ||||
| 	let result_number = 0; | ||||
| 	/* The highest of each place starts as an integer, the rest is an increment by .1. */ | ||||
| 	if ((value_dices_numbers.four == value_dices.length) || (value_dices_numbers.one == value_dices.length)) { | ||||
| 		/* Six Fours */ | ||||
| 		result_number = 1; | ||||
| 		if (value_dices_numbers.one > value_dices_numbers.four) { | ||||
| 			/* Six Ones */ | ||||
| 			result_number = result_number + 0.1; | ||||
| 		}; | ||||
| 	} else if (value_dices.every( (val, i, arr) => val === arr[0] )) { | ||||
| 		/* Six of a Kind */ | ||||
| 		result_number = 1.2; | ||||
| 	} else if (value_dices_numbers.four == 5) { | ||||
| 		/* Five Fours */ | ||||
| 		result_number = 1.3; | ||||
| 	} else if ((value_dices_numbers.one == 5) || (value_dices_numbers.two == 5) || (value_dices_numbers.three == 5) || (value_dices_numbers.five == 5) || (value_dices_numbers.six == 5)) { | ||||
| 		/* Five of a Kind */ | ||||
| 		result_number = 1.4; | ||||
| 	} else if (value_dices_numbers.four == 4) { | ||||
| 		/* Four Fours */ | ||||
| 		result_number = 1.5; | ||||
| 	} else if (value_dices_numbers.every( (val, i, arr) => val === arr[0] )) { | ||||
| 		result_number = 2; | ||||
| 	}; | ||||
| 	 | ||||
| 	let results = {'dice': value_dices, | ||||
| 		'result': result_number}; | ||||
| 	return results; | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue