added reward checking
This commit is contained in:
		
							parent
							
								
									71665f6984
								
							
						
					
					
						commit
						f03997c4a4
					
				
					 6 changed files with 90 additions and 18 deletions
				
			
		
							
								
								
									
										18
									
								
								index.html
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								index.html
									
										
									
									
									
								
							|  | @ -1,11 +1,17 @@ | ||||||
| <html> | <html> | ||||||
| 	<head> | 	<head> | ||||||
|  | 		<meta charset="utf-8"> | ||||||
|  | 		<meta name="viewport" content="width=device-width, initial-scale=1"> | ||||||
| 		<title>RollDice</title> | 		<title>RollDice</title> | ||||||
|  | 		<link rel="shortcut icon" href="media/logo.png" /> | ||||||
|  | 		<link rel="manifest" href="app.json"> | ||||||
| 		<link href="node_modules/@materializecss/materialize/dist/css/materialize.css" rel="stylesheet" /> | 		<link href="node_modules/@materializecss/materialize/dist/css/materialize.css" rel="stylesheet" /> | ||||||
| 		<link href="node_modules/@mdi/font/css/materialdesignicons.css" rel="stylesheet" /> | 		<link href="node_modules/@mdi/font/css/materialdesignicons.css" rel="stylesheet" /> | ||||||
| 		<link href="styles/dice.css" rel="stylesheet" /> | 		<link href="styles/dice.css" rel="stylesheet" /> | ||||||
| 		<script src="node_modules/jquery/dist/jquery.slim.js"></script> | 		<script src="node_modules/jquery/dist/jquery.slim.js"></script> | ||||||
| 		<script src="node_modules/@materializecss/materialize/dist/js/materialize.js"></script> | 		<script src="node_modules/@materializecss/materialize/dist/js/materialize.js"></script> | ||||||
|  | 		<script src="scripts/app.js"></script> | ||||||
|  | 		<script src="scripts/offline.js"></script> | ||||||
| 		<script src="scripts/roll.js"></script> | 		<script src="scripts/roll.js"></script> | ||||||
| 		<script src="scripts/interface.js"></script> | 		<script src="scripts/interface.js"></script> | ||||||
| 		<script src="scripts/iRoll.js"></script> | 		<script src="scripts/iRoll.js"></script> | ||||||
|  | @ -17,15 +23,15 @@ | ||||||
| 						<li><a class="waves-effect waves-light"><i class="left mdi mdi-dice-4" id="app_nav_logo"></i><strong style="font-size: 150%;" id="app_nav_name">RollDice</strong></a></li> | 						<li><a class="waves-effect waves-light"><i class="left mdi mdi-dice-4" id="app_nav_logo"></i><strong style="font-size: 150%;" id="app_nav_name">RollDice</strong></a></li> | ||||||
| 					</ul> | 					</ul> | ||||||
| 					<ul id="nav-mobile" class="right"> | 					<ul id="nav-mobile" class="right"> | ||||||
| 							<li class="hide-on-med-and-down"><a class="waves-effect waves-light" onclick="console.log(RollOnInterface())"><i class="left mdi mdi-format-rotate-90"></i><span class="right hide-on-med-and-down">Spin</span></a></li> | 							<li class="hide-on-med-and-down"><a class="waves-effect waves-light" onclick="console.log(RollOnInterface())" id="app_nav_button_spin"><i class="left mdi mdi-format-rotate-90"></i><span class="right hide-on-med-and-down">Spin</span></a></li> | ||||||
| 							<li><a class="waves-effect waves-light"><i class="left mdi mdi-information-outline"></i><span class="right hide-on-med-and-down">About</span></a></li> | 							<li><a class="waves-effect waves-light" onclick="app_about_appearanceToggle()"><i class="left mdi mdi-information-outline"></i><span class="right hide-on-med-and-down">About</span></a></li> | ||||||
| 					</ul> | 					</ul> | ||||||
| 				</div> | 				</div> | ||||||
| 		</nav> | 		</nav> | ||||||
| 		<main> | 		<main> | ||||||
| 			<side id="interface_below_buttons"> | 			<side id="interface_below_buttons"> | ||||||
| 				<div class="fixed-action-btn"> | 				<div class="fixed-action-btn"> | ||||||
| 					<button class="btn-floating btn-large pulse waves-effect waves-light orange" title="Spin" onclick="console.log(RollOnInterface())"><i class="left mdi mdi-format-rotate-90"></i></button> | 					<button class="btn-floating btn-large pulse waves-effect waves-light orange" title="Spin" id="app_nav_button_spin" onclick="console.log(RollOnInterface())"><i class="left mdi mdi-format-rotate-90"></i></button> | ||||||
| 				</div> | 				</div> | ||||||
| 			</side> | 			</side> | ||||||
| 			<section> | 			<section> | ||||||
|  | @ -65,12 +71,6 @@ | ||||||
| 						</td> | 						</td> | ||||||
| 					</tr> | 					</tr> | ||||||
| 				</table> | 				</table> | ||||||
| 				<div class="tap-target" data-target="menu"> |  | ||||||
| 					<div class="tap-target-content"> |  | ||||||
| 						<h5 id="result_title"></h5> |  | ||||||
| 						<p id="result_data"></p> |  | ||||||
| 					</div> |  | ||||||
| 				</div> |  | ||||||
| 			</section> | 			</section> | ||||||
| 		</main> | 		</main> | ||||||
| 	</body> | 	</body> | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								scripts/app.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								scripts/app.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | /* app.js | ||||||
|  | service workers  | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | var app = { | ||||||
|  | 	"name": "RollDice", | ||||||
|  | 	"description": "Chinese Dice Game", | ||||||
|  | 	"authors": ['buzz-lightsnack-2007'], | ||||||
|  | 	"sourcecode": "https://gitdab.com/buzz-lightsnack-2007/RollDice" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if('serviceWorker' in navigator) { | ||||||
|  |   navigator.serviceWorker.register('scripts/offline.js', { scope: '/' }); | ||||||
|  | } | ||||||
|  | @ -7,6 +7,7 @@ function RollOnInterface(muteSound = false, animation = true, times = 1) { | ||||||
| 	 | 	 | ||||||
| 	 | 	 | ||||||
| 	if (animation) { | 	if (animation) { | ||||||
|  | 		if (muteSound == false) {soundEffects.hit.play();}; | ||||||
| 		app_dice_appearanceToggle(false); | 		app_dice_appearanceToggle(false); | ||||||
| 	}; | 	}; | ||||||
| 	 | 	 | ||||||
|  | @ -19,8 +20,6 @@ function RollOnInterface(muteSound = false, animation = true, times = 1) { | ||||||
| 	function playSound() { | 	function playSound() { | ||||||
| 		if (roll.result) { | 		if (roll.result) { | ||||||
| 			soundEffects.ding.play() | 			soundEffects.ding.play() | ||||||
| 		} else { |  | ||||||
| 			soundEffects.fallout.play() |  | ||||||
| 		}; | 		}; | ||||||
| 	}; | 	}; | ||||||
| 	 | 	 | ||||||
|  | @ -43,7 +42,7 @@ function RollOnInterface(muteSound = false, animation = true, times = 1) { | ||||||
| 			$(dice_identifier).addClass(dice_className); | 			$(dice_identifier).addClass(dice_className); | ||||||
| 			 | 			 | ||||||
| 			if ((value_dices_current == 4) || (value_dices_current == 1)) { | 			if ((value_dices_current == 4) || (value_dices_current == 1)) { | ||||||
| 				$(dice_identifier).addClass('orange-text'); | 				$(dice_identifier).addClass('red-text text-accent-1'); | ||||||
| 			} else { | 			} else { | ||||||
| 				$(dice_identifier).addClass('white-text'); | 				$(dice_identifier).addClass('white-text'); | ||||||
| 			} | 			} | ||||||
|  | @ -51,6 +50,25 @@ function RollOnInterface(muteSound = false, animation = true, times = 1) { | ||||||
| 		 | 		 | ||||||
| 	}; | 	}; | ||||||
| 	 | 	 | ||||||
|  | 	function showReward() { | ||||||
|  | 		let results = roll.result; | ||||||
|  | 		 | ||||||
|  | 		switch (results) { | ||||||
|  | 			case 1: M.toast({text: '',  html: '<h4>Six fours!</h4>'}); break; | ||||||
|  | 			case 1.1: M.toast({text: '',  html: '<h4>Six ones!</h4>'}); break; | ||||||
|  | 			case 1.2: M.toast({text: '',  html: '<h4>Six of a kind!</h4>'}); break; | ||||||
|  | 			case 1.3: M.toast({text: '',  html: '<h4>Five fours!</h4>'}); break; | ||||||
|  | 			case 1.4: M.toast({text: '',  html: '<h4>Five of a kind!</h4>'}); break; | ||||||
|  | 			case 1.5: M.toast({text: '',  html: '<h4>Four fours!</h4>'}); break; | ||||||
|  | 			case 2: M.toast({text: '',  html: '<h4>Straight!</h4>'}); break; | ||||||
|  | 			case 2.1: M.toast({text: '',  html: '<h4>Three of a kind!</h4>'}); break; | ||||||
|  | 			case 3: M.toast({text: '',  html: '<h4>Four of a kind!</h4>'}); break; | ||||||
|  | 			case 4: M.toast({text: '',  html: '<h4>Three fours!</h4>'}); break; | ||||||
|  | 			case 5: M.toast({text: '',  html: '<h4>Two fours!</h4>'}); break; | ||||||
|  | 			case 6: M.toast({text: '',  html: '<h4>One four!</h4>'}); break; | ||||||
|  | 		} | ||||||
|  | 	}; | ||||||
|  | 	 | ||||||
| 	 | 	 | ||||||
| 	function rollEffect() { | 	function rollEffect() { | ||||||
| 		$('.btn-floating').removeClass('pulse'); | 		$('.btn-floating').removeClass('pulse'); | ||||||
|  | @ -61,10 +79,8 @@ function RollOnInterface(muteSound = false, animation = true, times = 1) { | ||||||
| 	}; | 	}; | ||||||
| 	 | 	 | ||||||
| 	setTimeout(function() { | 	setTimeout(function() { | ||||||
| 		rollEffect(); | 		rollEffect(); showReward(); | ||||||
| 	}, 750); | 	}, 750); | ||||||
| 	 | 	 | ||||||
| 	instance.next(); |  | ||||||
| 	 |  | ||||||
| 	return (roll); | 	return (roll); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
| 
 | 
 | ||||||
| let soundEffects = { | let soundEffects = { | ||||||
| 	'ding': new Audio('media/ding.mp4'), | 	'ding': new Audio('media/ding.mp4'), | ||||||
| 	'fallout': new Audio('media/Shells_falls-Marcel-829263474.mp3'), | 	'hit': new Audio('media/Shells_falls-Marcel-829263474.mp3'), | ||||||
| 	'tada': new Audio('media/tada.mp3') | 	'tada': new Audio('media/tada.mp3') | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -14,3 +14,10 @@ function app_dice_appearanceToggle(setting = true) { | ||||||
| 		$('.dice').addClass("scale-out"); | 		$('.dice').addClass("scale-out"); | ||||||
| 	} | 	} | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
|  | function app_about_appearanceToggle() { | ||||||
|  | 	let aboutMessage = (app.name.toUpperCase() + ': ' + app.description + '\n\n' + 'Maintained by ' + app.authors + '.\n' + 'Source code available at: ' + app.sourcecode); | ||||||
|  | 	 | ||||||
|  | 	console.log(aboutMessage); | ||||||
|  | 	alert(aboutMessage); | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										35
									
								
								scripts/offline.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								scripts/offline.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | /* offline.js | ||||||
|  | Make app available offline */ | ||||||
|  | 
 | ||||||
|  | const CACHE_NAME = `RollDice`; | ||||||
|  | 
 | ||||||
|  | // Use the install event to pre-cache all initial resources.
 | ||||||
|  | self.addEventListener('install', event => { | ||||||
|  |   event.waitUntil((async () => { | ||||||
|  | 	const cache = await caches.open(CACHE_NAME); | ||||||
|  | 	cache.addAll(['/']); | ||||||
|  |   })()); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
|  | self.addEventListener('fetch', event => { | ||||||
|  |   event.respondWith((async () => { | ||||||
|  | 	const cache = await caches.open(CACHE_NAME); | ||||||
|  | 
 | ||||||
|  | 	try { | ||||||
|  | 	  // Try to fetch the resource from the network.
 | ||||||
|  | 	  const fetchResponse = await fetch(event.request); | ||||||
|  | 
 | ||||||
|  | 	  // Save the resource in the cache.
 | ||||||
|  | 	  cache.put(event.request, fetchResponse.clone()); | ||||||
|  | 
 | ||||||
|  | 	  // And return it.
 | ||||||
|  | 	  return fetchResponse; | ||||||
|  | 	} catch (e) { | ||||||
|  | 	  // Fetching didn't work get the resource from the cache.
 | ||||||
|  | 	  const cachedResponse = await cache.match(event.request); | ||||||
|  | 
 | ||||||
|  | 	  // And return it.
 | ||||||
|  | 	  return cachedResponse; | ||||||
|  | 	} | ||||||
|  |   })()); | ||||||
|  | }); | ||||||
|  | @ -3,5 +3,5 @@ | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #dice-1, #dice-2, #dice-3, #dice-4, #dice-5, #dice-6 { | #dice-1, #dice-2, #dice-3, #dice-4, #dice-5, #dice-6 { | ||||||
| 	font-size: 750%; | 	font-size: 625%; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue