sacha.serny
3 years ago
8 changed files with 254 additions and 240 deletions
Binary file not shown.
@ -1,72 +1,80 @@ |
|||||
/* Groupe d'Alexandre ABOULIN, Michel WANG et Sacha SERNY |
/* Groupe de Michel WANG et Sacha SERNY |
||||
import random |
HTML et CSS : Michel WANG |
||||
|
Javascript : Sacha SERNY*/ |
||||
|
|
||||
var rules = """Vous allez insérer le nombre de jeton que vous possédez |
function nbAlea() { |
||||
Vous allez insérer un certain nombre de jeton entre 0 et 100 afin de pouvoir jouer |
/* renvoie un entier entre 0 et 9 */ |
||||
Voici les règle du jeu : |
return Math.floor(Math.random() * 10); |
||||
- 3 chiffres seront tirés aléatoirements entre 0 et 9; |
} |
||||
- si vous tirez deux chiffres identiques vous obtenez 3 fois votre mise; |
|
||||
- si vous arrivez à tirer 3 chiffres identiques, différents du chiffre 9, alors vous recevrez 6 fois la mise que vous avez saisie au début; |
|
||||
- [JACKPOT] dans le cas où vous êtes chanceux et que vous arrivez à tirer trois fois le chiffre '9', alors vous recevrez tous les jetons du bac; |
|
||||
- mais dans le cas contraire, si vous avez obtenu 3 chiffres, tous différents les un des autres, alors vous ne recevrez rien et vous aurez perdu votre mise; |
|
||||
Dans tous les cas sauf le jackpot, le joueur perd sa mise |
|
||||
Bien évidemment, pour ne pas vous anarquer, si le bac possède moin de 500 jetons, alors le jeu s'arrêtera |
|
||||
Et puis il faut également pas oublier que si vous n'avez plus de jeton, alors vous ne pourrez plus jouer""" |
|
||||
*/ |
|
||||
|
|
||||
|
function gain(tirage) { |
||||
|
/* calcule les gains et génére les messages liés */ |
||||
|
let phrase = "" |
||||
|
player_coins = player_coins - mise |
||||
|
machine_coins = machine_coins + mise |
||||
|
if (tirage == [9, 9, 9]) { |
||||
|
player_coins = player_coins + machine_coins |
||||
|
machine_coins = 0 |
||||
|
phrase = "Bingo ! Vous avez gagné tous les jetons. \n " |
||||
|
} else if (tirage[0] == tirage[1] && tirage[1] == tirage[2]) { |
||||
|
player_coins = player_coins + 6 * mise |
||||
|
machine_coins = machine_coins - 6 * mise |
||||
|
phrase = "Bingo ! Vous avez triplé votre mise. \nVous avez gagné " + mise*6 + " jetons." |
||||
|
} else if (tirage[0] == tirage[1] || tirage[1] == tirage[2] || tirage[0] == tirage[2]) { |
||||
|
player_coins = player_coins + 3 * mise |
||||
|
machine_coins = machine_coins - 3 * mise |
||||
|
phrase = "Bingo ! Vous avez doublé votre mise. \nVous avez gagné " + mise*3 + " jetons." |
||||
|
} else { |
||||
|
phrase = "Vous avez perdu vos " + mise + " jetons. \n " |
||||
|
} |
||||
|
// console.log(phrase);
|
||||
|
document.getElementById('gain').innerText = phrase |
||||
|
} |
||||
|
|
||||
|
function update_stats() { |
||||
|
/* affiche les données de la partie dans la page HTML */ |
||||
|
document.getElementById('machine_coins').innerText = machine_coins |
||||
|
document.getElementById('player_coins').innerText = player_coins |
||||
|
} |
||||
|
|
||||
|
function regles() { |
||||
|
/* affiche les regles dans la page HTML */ |
||||
|
// console.log(toggle_rules);
|
||||
|
let rules = document.querySelector('.show_rules') |
||||
|
if (toggle_rules == true) { |
||||
|
rules.style.display = "none" |
||||
|
} else { |
||||
|
rules.style.display = "block" |
||||
|
} |
||||
|
toggle_rules = !toggle_rules |
||||
|
} |
||||
|
|
||||
function nbAlea() { |
|
||||
return Math.floor(Math.random() * 10); |
|
||||
} |
|
||||
function gain(tirage) { |
|
||||
player_coins = player_coins - mise |
|
||||
machine_coins = machine_coins + mise |
|
||||
if (tirage == [9, 9, 9]) { |
|
||||
player_coins = player_coins + machine_coins |
|
||||
machine_coins = 0 |
|
||||
console.log("BINGO") |
|
||||
} else if (tirage[0] == tirage[1] && tirage[1] == tirage[2]) { |
|
||||
player_coins = player_coins + 6 * mise |
|
||||
machine_coins = machine_coins - 6 * mise |
|
||||
console.log("3*") |
|
||||
} else if (tirage[0] == tirage[1] || tirage[1] == tirage[2] || tirage[0] == tirage[2]) { |
|
||||
player_coins = player_coins + 2 * mise |
|
||||
machine_coins = machine_coins - 2 * mise |
|
||||
console.log("2*") |
|
||||
} else { |
|
||||
console.log("Perdu") |
|
||||
} |
|
||||
} |
|
||||
function update_stats() { |
|
||||
document.getElementById('machine_coins').innerText = machine_coins |
|
||||
document.getElementById('player_coins').innerText = player_coins |
|
||||
} |
|
||||
|
|
||||
function regle() { |
// Initialisation de la page et des variables
|
||||
btn.appendChild(button_1); |
document.getElementById("show_rules").addEventListener("click", regles) |
||||
document.body.appendChild(button); |
var rouleaux = document.querySelectorAll(".rouleaux div") |
||||
} |
// console.log(rouleaux);
|
||||
// Init
|
rouleaux.forEach(rouleau => { |
||||
var rouleaux = document.querySelectorAll(".rouleaux #board") |
rouleau.innerText = 0 |
||||
rouleaux.forEach(rouleau => { |
}); |
||||
rouleau.innerText = 0 |
var mise = 1 |
||||
}); |
var machine_coins = 1000 |
||||
var mise = 0 |
var player_coins = 100 |
||||
var machine_coins = 1000 |
var toggle_rules = false |
||||
var player_coins = 100 |
update_stats() |
||||
document.getElementById("valider").addEventListener("click", jeu); |
|
||||
// jeu
|
|
||||
function jeu() { |
|
||||
mise = parseInt((document.getElementById('mise').value), 10) |
|
||||
console.log(mise) |
|
||||
if (player_coins >= mise && machine_coins > mise * 3) { |
|
||||
var tirage = [nbAlea(), nbAlea(), nbAlea()] |
|
||||
for (let i = 0; i < 3; i++) { |
|
||||
rouleaux[i].innerText = tirage[i]; |
|
||||
|
|
||||
} |
// Fonction principale du jeu
|
||||
console.log(tirage) |
function jeu() { |
||||
gain(tirage) |
/* appelle les fonctiosn nécessaires au fonctionnement du jeu */ |
||||
update_stats() |
mise = parseInt((document.getElementById('mise').value), 10) |
||||
} |
// console.log(mise)
|
||||
} |
if (player_coins >= mise && machine_coins >= 500 && mise > 0) { |
||||
|
var tirage = [nbAlea(), nbAlea(), nbAlea()] |
||||
|
for (let i = 0; i < 3; i++) { |
||||
|
rouleaux[i].innerText = tirage[i]; |
||||
|
} |
||||
|
// console.log(tirage)
|
||||
|
gain(tirage) |
||||
|
update_stats() |
||||
|
} |
||||
|
} |
@ -1,30 +1,16 @@ |
|||||
<!DOCTYPE html> |
<!DOCTYPE html> |
||||
<html lang="fr"> |
<html lang="fr"> |
||||
|
<head> |
||||
|
<title>M A C H I N E</title> |
||||
|
<meta charset="utf-8"> |
||||
|
<link href="stylepagecss/style.css" rel="stylesheet"> |
||||
|
<link rel="icon" type="image/jpg" sizes="16x16" href="icon.jpg"> |
||||
|
</head> |
||||
|
|
||||
<head> |
<body> |
||||
<link href="style.css" rel="stylesheet"> |
<div> |
||||
<meta charset="UTF-8"> |
<a href="machine.html"><h2>MACHINE</h2></a> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
<a href="machine.html"><h2>A SOUS NSI</h2></a> |
||||
<title>Document</title> |
|
||||
</head> |
|
||||
|
|
||||
<body> |
|
||||
<h1 onclick="">MACHINE A SOUS NSI</h1> |
|
||||
<form action=""> |
|
||||
<div class="rouleaux"> |
|
||||
<h3 id="rouleau1">NaN</h3> |
|
||||
<h3 id="rouleau1">NaN</h3> |
|
||||
<h3 id="rouleau1">NaN</h3> |
|
||||
</div> |
</div> |
||||
<input type="text" id="mise"> |
</body> |
||||
<input type="button" value="Submit" id="valider"> |
|
||||
</form> |
|
||||
|
|
||||
<h5>Jetons dans la machine : <h5 id="machine_coins"></h5> |
|
||||
</h5> |
|
||||
<h5>Jetons du joueur : <h5 id="player_coins"></h5> |
|
||||
</h5> |
|
||||
<script src="app.js"></script> |
|
||||
</body> |
|
||||
|
|
||||
</html> |
</html> |
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
@ -0,0 +1,49 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="fr"> |
||||
|
|
||||
|
<!-- |
||||
|
id="mise" entrer une valeur (si possible input) |
||||
|
id="machine_coins" affiche jetons machines |
||||
|
id="player_coins" affiche jetons joueur |
||||
|
id="rouleaux" div parente des trois rouleaux |
||||
|
qui sont forcément 3 enfants |
||||
|
id=""valider bouton pour lancer peut importe ce que c'update_stats |
||||
|
etc... |
||||
|
--> |
||||
|
|
||||
|
<head> |
||||
|
<title>Machine à sous NSI</title> |
||||
|
<meta charset="utf-8"> |
||||
|
<link href="stylepagecss/menu.css" rel="stylesheet"> |
||||
|
<link rel="icon" type="image/jpg" sizes="16x16" href="icon.jpg"> |
||||
|
|
||||
|
</head> |
||||
|
|
||||
|
<body > |
||||
|
<div> |
||||
|
<a href="index.html" class="title">MACHINE A SOUS NSI</a> |
||||
|
</div> |
||||
|
<div class="cadre_rouleaux"> |
||||
|
<div class="rouleaux"> |
||||
|
<div></div> |
||||
|
<div></div> |
||||
|
<div></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="button"> |
||||
|
<button onclick="regles()" id="regles">Regle</button> |
||||
|
<button onclick="jeu()" id="valider">Lancer</button> |
||||
|
</div> |
||||
|
<div class="option"> |
||||
|
<h2>machine coins : <h2 id="machine_coins"> </h2></h2> |
||||
|
<h2>player coins : <h2 id="player_coins"> </h2></h2> |
||||
|
<input id="mise"> |
||||
|
<p id="show_rules"></p> |
||||
|
<p id="gain"></p> |
||||
|
</div> |
||||
|
|
||||
|
<img src="logo.png" alt="logo" class="logo"> |
||||
|
|
||||
|
<script src="app.js"></script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,40 @@ |
|||||
|
* { |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
/* le fond avec un gradient*/ |
||||
|
body { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
flex-direction: column; |
||||
|
min-height: 100vh; |
||||
|
background: rgb(18,79,96); |
||||
|
background: -moz-linear-gradient(180deg, rgba(18,79,96,1) 0%, rgba(84,33,163,1) 100%); |
||||
|
background: -webkit-linear-gradient(180deg, rgba(18,79,96,1) 0%, rgba(84,33,163,1) 100%); |
||||
|
background: linear-gradient(180deg, rgba(18,79,96,1) 0%, rgba(84,33,163,1) 100%); |
||||
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#124f60",endColorstr="#5421a3",GradientType=1); |
||||
|
} |
||||
|
|
||||
|
/* lien "machine à sous NSI" qui nous mène vers la page avec l'interface graphique de la machine à sous*/ |
||||
|
a { |
||||
|
font-family: arial; |
||||
|
position: relative; |
||||
|
text-transform: uppercase; |
||||
|
text-align: center; |
||||
|
text-decoration: none; |
||||
|
font-size: 7.5em; |
||||
|
width: 100%; |
||||
|
color:white; |
||||
|
text-shadow: 20px 10px 25px #000000; |
||||
|
letter-spacing: 19.8px; |
||||
|
transition: 3s; |
||||
|
} |
||||
|
|
||||
|
/* petit effet sur le lien*/ |
||||
|
a:hover { |
||||
|
font-size: 3em; |
||||
|
transition: 3s; |
||||
|
text-shadow: 20px 10px 10px black, 0 0 25px blue, 0 0 5px darkblue; |
||||
|
} |
Loading…
Reference in new issue