• 180
  • 180
  • 180
  • 30
  • 180
  • 180
  • 180
  • 11
  • 11
  • 11
  • 11
  • 11
  • 11
  • SMALL

    4-10

    1
  • BIG

    11-17

    1
  • 460
  • 520
  • 618
  • 712
  • 88
  • 96
  • 106
  • 116
  • 126
  • 138
  • 1412
  • 1518
  • 1620
  • 1760
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • ONE1
  • TWO1
  • TREE1
  • FOUR1
  • FIVE1
  • SIX1

roll the dice!

計算

チンチロリン

ルール

サイコロをつかったゲームの遊び方

シックボー

大小(だいしょう)あるいは大細(だいさい、広東語: たいさい)とは、3個のサイコロを用いて、その出目の合計数などを予想する賭博である。シックボー(Sic-Bo)とも呼ばれる。

遊び方

3個のサイコロを用いることから、合計出目の最小数は3( 1 のゾロ目)、最大数は18( 6 のゾロ目)であり、3個のサイコロの合計出目が4以上10以下を「小」といい、11以上17以下を「大」という。なお出目の最小数3と最大数18は大小のルール上、大でも小でもないゾロ目に分類される。

比較的類似するルーレットと異なり、サイコロを機械によりシャッフルし、出目が決定した後にその出目を予想してテーブル上にチップを置くことにより賭け出目を開示する。

丁半

丁半(ちょうはん)とはサイコロを使った賭博である。丁半博打ともいう。 丁半では、偶数を丁(ちょう)、奇数を半(はん)と呼ぶ[。茶碗ほどの大きさのツボに入れて振られた二つのサイコロ(サイ)の出目の和が、丁(偶数)か、半(奇数)かを客が予想して賭ける。

チンチロリン

チンチロリンは、日本の大衆的な博戯(賭博・ゲーム)の一種である。数人程度が通常は車座になって、サイコロ3個と丼(ないし茶碗)を用いて行う。名称はサイコロが丼に投じられたときに生じる音を擬したもので、「チンチロ」と省略されることや「チンコロ」と呼ばれることもある。役は「ひふみ」「しごろ」などがありゾロ目などもある。その中でも1が揃ったピンゾロが一番強い。

目(出目、持ち目):「サイコロの目」という通常の用法と異なり、サイコロ3個のうち2個の出した数が一致した際に残りの1個が出した数。

例えば 4 4 5 と出た場合、目は 5 である。 3 3 1 と出た場合、目は 1 である。

アラシ(嵐):サイコロの出した数が3個とも一致したもの。ゾロ目。

無条件の勝ちで、コマの3倍額を受け取る。この名称と3倍の配当という決まりもおいちょかぶから来ている。 1 1 1 はピンゾロ(のアラシ)という。

wikipedia より抜粋

FF6 セッツァー イカサマのダイス

ダメージ計算式

「3つの出た目の積×2×使用者のレベル

ゾロ目だった場合は「出た目の4乗×2×使用者のレベル」

ボードゲーム・テーブルトークRPG

自動計算してくれるデジタルダイスとして利用可能

view source

JavaScript

document.title = 'SICBO サイコロの出目を予想するカジノゲーム';

$(function(){
  var dir = '../js-number-random-dice/';
  var se = new Audio(dir+'dice.mp3');
  se.volume = 0.05;
  $li = $('li');

  var $h1 = $('<h1>').text(document.title);
  $('#demo').after($h1).after($('#other'));

  var score = 100;
  var $animDice = $('<div>').addClass('anim-dice');
  [1,2,3,4,5,6].forEach(function(){
    $item = $('<div>').addClass('item');
    $animDice.append($item);
  });

  $result = $('#result');
  $result.addClass('ready');


  var ready = function(){
    $li.removeClass('hit');
    $li.removeAttr('hitCount');
    $li.find('c').remove();
    $result.empty();
    $p = $('<p>').text('= BET TIME =');
    $result
      .append($p);
  }

  var start = function(){
    se.currentTime = 0;
    se.play();
    var n1 = Math.floor(Math.random()*6+1);
    var n2 = Math.floor(Math.random()*6+1);
    var n3 = Math.floor(Math.random()*6+1);
    console.log([n1,n2,n3]);
    $dice1 = $('<i>').addClass('dice').addClass('d'+n1);
    $dice2 = $('<i>').addClass('dice').addClass('d'+n2);
    $dice3 = $('<i>').addClass('dice').addClass('d'+n3);
    total = n1+n2+n3;
    $result.empty();
    $p = $('<p>').addClass('dice-total').text(total);
    $result
      .append($dice1)
      .append($dice2)
      .append($dice3)
      .append($p);
    checkResult(n1,n2,n3);
  }


  var checkResult = function(n1,n2,n3){
    var total = n1+n2+n3;
    var product = n1*n2*n3;
    for(i=4;i<=17;i++){
      if(total === i){
        $('.total'+i).addClass('hit');
      }
    }
    if(total>=4 && total <= 10){
      $('.total-small').addClass('hit');
    }
    if(total>=11 && total <= 17){
      $('.total-big').addClass('hit');
    }
    for(i=1;i<=6;i++){
      if(n1 === n2 && n1 === i || n2 === n3 && n2 === i || n3 === n1 && n3 === i){
        $('.double'+i).addClass('hit');
      }
    }
    for(i=1;i<=6;i++){
      if(n1 === n2 && n1 === n3 && n1 === i){
        $('.triple'+i).addClass('hit');
        $('.triple0').addClass('hit');
      }
    }
    for(i=1;i<=6;i++){
      for(j=1;j<=6;j++){
        if(i===j){continue;}
        if((n1 === i || n2 === i || n3 === i) && (n1 === j || n2 === j || n3 === j)){
          n = i*10+j;
          $('.pair'+n).addClass('hit');
        }
      }
    }
    
    for(i=1;i<=6;i++){
      var hitCount=0;
      if(n1 === i || n2 === i || n3 === i){
        $('.single'+i).addClass('hit');
        if(n1 === i){
          hitCount++;
        }
        if(n2 === i){
          hitCount++;
        }
        if(n3 === i){
          hitCount++;
        }
        $('.single'+i).attr({hitCount:hitCount});
      }
    }

    //chinchiro-pair
    for(i=1;i<=6;i++){
      var n=0
      if(n1 === i && n2 === i && n1 !== n3){n=n3;}
      if(n2 === i && n3 === i && n2 !== n1){n=n1;}
      if(n3 === i && n1 === i && n3 !== n2){n=n2;}
      if(n>0){
        $('.chinchiro-pair'+n).addClass('hit');
      }
    }
    //chinchiro-triple
    for(i=1;i<=6;i++){
      if(n1 === n2 && n1 === n3 && n1 === i){
        $('.chinchiro-triple'+i).addClass('hit');
      }
    }

    //chinchiro-set
    if(total===6){
      if(n1 === 3 || n2 === 3 || n3 === 3){
        $('.chinchiro-set123').addClass('hit');
      }
    }
    if(total===15){
      if(n1 === 6 || n2 === 6 || n3 === 6){
        $('.chinchiro-set456').addClass('hit');
      }
    }

    //
    $hits = $('.hit').each(function(){
      var ele = $(this);
      var $bet = ele.find('c');//chip
      betCount = $bet.length || 0;
      var odds = ele.find('o').text();
      if(!odds){return;}
      odds = Number(odds);
      score += betCount;
      if(ele.parent().hasClass('single')){
        hitCount = ele.attr('hitCount');
        hitCount = Number(hitCount);
        score += betCount * hitCount * odds;
      } else {
        score += betCount * odds;
      }
    });
    $score.text(score);
    $('.calc-total').text(total);
    $('.calc-product').text(product);
  }

  var bet = function(ele){
    if(!$result.hasClass('ready')){
      return;
    }
    if(ele.attr('class').match('chin')){
      return;
    }
    var $bet = ele.find('c');//chip
    var betCount = $bet.length || 0;
    if(betCount > 4){
      $bet.remove();
      score+=5;
    } else {
      $b = $('<c>');
      ele.append($b);
      score--;
    }
    $score.text(score);
  }

  $result.on('click', function(){
    if($(this).hasClass('ready')){
      $(this).removeClass('ready');
      start();
    } else {
      $(this).addClass('ready');
      ready();
    }
  });
  $score = $('#score');
  $score.text(score);

  $li.on('click', function(){
    bet($(this));
  });
  
});

CSS

@font-face {
	font-family: LeagueGothic;
	src: url(/fonts/LeagueGothic-Regular.ttf);
}
#demo{
  position:relative;
  left:0;
  top:0;
  background-color:rgb(0, 129, 61);
  font-family: LeagueGothic, Meiryo;
  user-select:none;
}
ul{
  display:flex;
  width:100%;
  min-height:9vh;
}
ul li{
  flex-grow: 1;
  width:100%;
  text-align:center;
  vertical-align:bottom;
  background-color:#fff;
  border-radius:8px;
  margin:2px;
  font-size:24px;
  position:relative;
  left:0;
  top:0;
}
ul li b{
  font-size:32px;
}

li.hit{
  background-color:#faa;
}

/*chip*/
c{
  display:inline-block;
  width:16px;
  height:12px;
  background-image:url(chip.png);
  background-size:cover;
  position:absolute;
  left:2px;
  bottom:8px;
  border-radius:50%;
}
c:nth-of-type(1){
  bottom:8px;
}
c:nth-of-type(2){
  bottom:12px;
}
c:nth-of-type(3){
  bottom:16px;
}
c:nth-of-type(4){
  bottom:20px;
}
c:nth-of-type(5){
  bottom:24px;
}

li o{
  position:absolute;
  right:2px;
  bottom:9px;
  font-size:16px;
  color:#999;
}
.dice{
  display:inline-block;
  width:8vmin;
  height:8vmin;
  max-width:100%;
}
.d1{
  background-image:url(../js-number-random-dice/dice-1.svg);
}
.d2{
  background-image:url(../js-number-random-dice/dice-2.svg);
}
.d3{
  background-image:url(../js-number-random-dice/dice-3.svg);
}
.d4{
  background-image:url(../js-number-random-dice/dice-4.svg);
}
.d5{
  background-image:url(../js-number-random-dice/dice-5.svg);
}
.d6{
  background-image:url(../js-number-random-dice/dice-6.svg);
}
.d0{
  background-image:url(../js-number-random-dice/dice-0.svg);
}

@media (max-width: 900px) {
  .dice{
  width:4vmin;
  height:4vmin;
  }
}

#result{
  position:relative;
  left:0;
  top:0;
  min-height:16vh;
  background-color:#fff;
  text-align:center;
  border-radius:8px;
  margin:2px;
  font-size:48px;
  cursor:pointer;
}

#result .dice{
  min-width:16vmin;
  min-height:16vmin;
}
#result .dice-total{
  position:absolute;
  left:12px;
  top:12px;
}

#score{
  color:#fff;
  font-size:32px;
  text-align:center;
}





.anim-dice {
  display:inline-block;
  position:relative;
  margin:1vmin auto;
  width:8vmin;
  height:8vmin;
  transform-style:preserve-3d;
  transform:rotateX(360deg) rotateY(360deg) rotateZ(720deg);
  animation:rotate-animation 1s linear infinite;
}

.anim-dice .item {
  position:absolute;
  left:0;
  right:0;
  box-sizing:border-box;
  width:100%;
  height:100%;
  background-color:rgba(255,255,255,0.99);
  background-size:cover;
}

.anim-dice .item:nth-child(1) {
  transform:translate3d(0, -4vmin, 0) rotateX(-90deg);
  background-image: url(../js-number-random-dice/dice-1.svg);
}

.anim-dice .item:nth-child(2) {
  transform:translate3d(0, 0, 4vmin);
  background-image: url(../js-number-random-dice/dice-2.svg);
}

.anim-dice .item:nth-child(3) {
  transform:translate3d(4vmin, 0, 0) rotateY(90deg);
  background-image: url(../js-number-random-dice/dice-3.svg);
}

.anim-dice .item:nth-child(4) {
  transform:translate3d(-4vmin, 0, 0) rotateY(-90deg);
  background-image: url(../js-number-random-dice/dice-4.svg);
}

.anim-dice .item:nth-child(5) {
  transform:translate3d(0, 0, -4vmin) rotateY(180deg);
  background-image: url(../js-number-random-dice/dice-5.svg);
}

.anim-dice .item:nth-child(6) {
  transform:translate3d(0, 4vmin, 0) rotateX(-90deg);
  background-image: url(../js-number-random-dice/dice-6.svg);
}

@keyframes rotate-animation {
  from {
    transform:rotate3d(0);
  }

  to {
    transform:rotate3d(1, 1, 1, -360deg);
  }
}

h2{
  font-size:24px;
  background-color:#fff;
  margin:2px;
  padding:8px;
  border-radius:8px;
}

#other{
  padding:8px;
  background-color:rgb(0, 129, 61);
}

HTML

ページのソースを表示 : Ctrl+U , DevTools : F12

view-source:https://hi0a.com/demo/-js/js-game-dice-sicbo/

ABOUT

hi0a.com 「ひまアプリ」は無料で遊べるミニゲームや便利ツールを公開しています。

プログラミング言語の動作デモやWEBデザイン、ソースコード、フロントエンド等の開発者のための技術を公開しています。

必要な機能の関数をコピペ利用したり勉強に活用できます。

プログラムの動作サンプル結果は画面上部に出力表示されています。

環境:最新のブラウザ GoogleChrome / Windows / Android / iPhone 等の端末で動作確認しています。

画像素材や音素材は半分自作でフリー素材配布サイトも利用しています。LINK参照。

動く便利なものが好きなだけで技術自体に興味はないのでコードは汚いです。

途中放置や実験状態、仕様変更、API廃止等で動かないページもあります。