<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ramdom アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/ramdom/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/ramdom/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Fri, 15 Nov 2024 08:56:13 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>ramdom アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/ramdom/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>【初心者】JavaScriptでおみくじの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/4764/</link>
					<comments>https://nyanblog2222.com/programming/4764/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 06 Sep 2022 14:43:10 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ramdom]]></category>
		<category><![CDATA[おみくじ]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=4764</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />今回はJavaScriptでおみくじを作成しました。三段階で作成してみましたので、初心者の方が勉強するのにおすすめですよ♪ 段階としては三段階で作成していきます。 目次 ボタンを押しておみくじを表示ソースコード解説おみく [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/4764/">【初心者】JavaScriptでおみくじの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/66.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/66-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>今回はJavaScriptでおみくじを作成しました。<br>三段階で作成してみましたので、初心者の方が勉強するのにおすすめですよ♪</p>



<p>段階としては三段階で作成していきます。</p>



<ul class="wp-block-list">
<li>ボタンを押しておみくじを表示する</li>



<li>おみくじの結果の確率を設定する</li>



<li>ボタンを押しておみくじルーレットを表示する<br>おみくじは画像で表示する</li>
</ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ボタンを押しておみくじを表示</a><ol><li><a href="#toc2" tabindex="0">ソースコード</a></li><li><a href="#toc3" tabindex="0">解説</a></li></ol></li><li><a href="#toc4" tabindex="0">おみくじの結果の確率を設定</a><ol><li><a href="#toc5" tabindex="0">ソースコード</a></li><li><a href="#toc6" tabindex="0">解説</a></li></ol></li><li><a href="#toc7" tabindex="0">ボタンを押しておみくじルーレットを表示</a><ol><li><a href="#toc8" tabindex="0">ソースコード</a><ol><li><a href="#toc9" tabindex="0">HTML</a></li><li><a href="#toc10" tabindex="0">JavaScript</a></li></ol></li><li><a href="#toc11" tabindex="0">解説</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ボタンを押しておみくじを表示</span></h2>



<p>まずは一番簡単なコードで作成していきます。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji1/" target="_blank">こちらがデモページ</a>になります。</p>



<figure class="wp-block-image size-full"><img decoding="async" width="415" height="445" src="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523.png" alt="" class="wp-image-4791" srcset="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523.png 415w, https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232523-280x300.png 280w" sizes="(max-width: 415px) 100vw, 415px" /></figure>



<h3 class="wp-block-heading"><span id="toc2">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<pre class="wp-block-code html"><code>&lt;script&gt;
  window.onload = function () {
    // おみくじ
    // この順番が良い順番らしい（吉と中吉が逆になることも）
    const list = &#91;"大吉","吉","中吉","小吉","末吉","凶","大凶"];

    document.getElementById("button").onclick = function () {
      var random = Math.floor(Math.random() * list.length);
      document.getElementById("result").textContent = list&#91;random];
    }
  }
&lt;/script&gt;

&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;おみくじを引く&lt;/button&gt;
    &lt;/div&gt;
    &lt;p id="result"&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc3">解説</span></h3>



<p><span class="marker-under">HTML</span></p>



<ul class="wp-block-list">
<li>17～19行目　ボタン：押すことでおみくじが引く</li>



<li>20行目　pタグ：おみくじの結果を表示</li>
</ul>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>5行目　おみくじの結果をリストに設定</li>



<li>7～10行目　ボタンのクリックイベント</li>



<li>8行目　random関数を利用して0～リストの数までのランダムの数を作成<br>　　　  floor関数で小数を切り捨てて整数にする</li>



<li>9行目　8行目で作成した数字を使っておみくじ結果リストにアクセスし、id=&#8221;result&#8221;に設定</li>
</ul>



<h2 class="wp-block-heading"><span id="toc4">おみくじの結果の確率を設定</span></h2>



<p>続いて、おみくじの結果の確率を設定して出やすさを変えていきます。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji2/" target="_blank">こちらがデモページ</a>になります。</p>



<h3 class="wp-block-heading"><span id="toc5">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<pre class="wp-block-code html"><code>&lt;script&gt;
  window.onload = function () {
    const list = {
      "大吉" : 10,
      "吉" : 15,
      "中吉" : 20,
      "小吉" : 25,
      "末吉" :15,
      "凶" : 10,
      "大凶" : 5,
    };

    document.getElementById("button").onclick = function () {
      var random = Math.floor(Math.random() * 100);
      var rate = 0;
      for(var data in list){
        rate += list&#91;data];
        if(random &lt;= rate){
          document.getElementById("result").textContent = data;
          return;
        }
      }
    }
  }
&lt;/script&gt;

&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;おみくじを引く&lt;/button&gt;
    &lt;/div&gt;
    &lt;p id="result"&gt;&lt;/p&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc6">解説</span></h3>



<p>HTMLは変更なしのため、解説は割愛します。</p>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>3～11行目　おみくじの結果を<span class="marker-under">連想配列</span>に設定<br>　　　 valueを数字にして確率を設定（数字が大きい方が出やすい）<br>　　　 ※ <span class="marker-under">全ての項目のvalueの和が100</span>になるように</li>



<li>13～23行目　ボタンのクリックイベント</li>



<li>14行目　random関数を利用して<span class="marker-under">0～100の数</span>までのランダムの数を作成<br>　　　　 floor関数で小数を切り捨てて整数にする</li>



<li>15～21行目　<span class="marker-under">14行目でランダムに設定した値を使い、for文で連想配列を回しながら14行目で取得した値の結果</span>をid=&#8221;result&#8221;に設定</li>
</ul>



<h2 class="wp-block-heading"><span id="toc7">ボタンを押しておみくじルーレットを表示</span></h2>



<p>最後にボタンを「START」「STOP」に変更しておみくじルーレットを作成します。<br>また、おみくじの結果は画像にしました。</p>



<p><a href="https://nyanblog2222.com/demo/omikuji3/" target="_blank">こちらがデモページ</a>になります。</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524.png" alt="" class="wp-image-4792" width="230" height="451" srcset="https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524.png 306w, https://nyanblog2222.com/wp-content/uploads/2022/09/2022-09-05-232524-153x300.png 153w" sizes="(max-width: 230px) 100vw, 230px" /><figcaption class="wp-element-caption">表示画面</figcaption></figure>



<h3 class="wp-block-heading"><span id="toc8">ソースコード</span></h3>



<p>こちらがソースコードです。</p>



<h4 class="wp-block-heading"><span id="toc9">HTML</span></h4>



<pre class="wp-block-code html"><code>&lt;body&gt;
  &lt;div class="wrapper"&gt;
    &lt;p&gt;おみくじ&lt;br&gt;ボタンをクリックしてください。&lt;/p&gt;
    &lt;div class="wrapper-button"&gt;
      &lt;button id="button" class="button"&gt;START&lt;/button&gt;
    &lt;/div&gt;
    &lt;div&gt;
      &lt;img id="img" src="img/muji.png" alt=""&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/body&gt;</code></pre>



<h4 class="wp-block-heading"><span id="toc10">JavaScript</span></h4>



<pre class="wp-block-code html"><code>window.onload = function () {

  const list = {
    "daikichi":10,
    "kichi":15,
    "chuukichi":20,
    "syoukichi":25,
    "suekichi":15,
    "kyou":10,
    "daikyou":5,
  };

  var timer;
  // START・STOPボタンクリックのイベント
  document.getElementById("button").onclick = function () {
    // START
    if (this.textContent == "START") {
      // ボタンのテキストを"STOP"に変更
      this.textContent = "STOP";

      // ルーレットタイマーを設定
      timer = setInterval(function () {
        var random = Math.floor(Math.random() * Object.keys(list).length);
        document.getElementById("img").src = "img/" + Object.keys(list)&#91;random] + ".png";
      }, 10);
    // STOP
    } else {
      // ボタンのテキストを"START"に変更
      this.textContent = "START";

      var rate = 0;
      var random = Math.floor(Math.random() * 100);
      for(var data in list){
        rate += list&#91;data];
        if(random &lt;= rate){
          document.getElementById("img").src = "img/" + data + ".png";

          // ルーレットタイマーを停止
          clearInterval(timer);
          return;
        }
      }
    }
  };
};</code></pre>



<h3 class="wp-block-heading"><span id="toc11">解説</span></h3>



<p><span class="marker-under">HTML</span></p>



<ul class="wp-block-list">
<li>4～6行目　ボタン：押すことでおみくじが引く</li>



<li>7～9行目　pタグ：おみくじの結果を表示</li>
</ul>



<p><span class="marker-under">JavaScript</span></p>



<ul class="wp-block-list">
<li>3～11行目　おみくじの結果を<span class="marker-under">連想配列</span>に設定</li>



<li>15～行目　ボタンのクリックイベント</li>



<li>16～24行目　<span class="marker-under">START表示時</span>にクリックしたときの処理<br>・19行目　ボタン表示を[STOP]に変更<br>・22～25行目　タイマーを設定（ルーレットを作ります）<br>・23行目　randomにランダムに値を設定（0～連想配列の数）<br>・24行目　23行目の値を使って画像を設定</li>



<li>26～43行目　<span class="marker-under">STOP表示時</span>にクリックしたときの処理<br>・29行目　ボタン表示を[START]に変更<br>・31～42行目　[おみくじの結果の確率を設定]のおみくじの設定を流用<br>・39行目　タイマー解除</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2021/07/2645602.png" alt="みみねこ" class="speech-icon-image"/></figure><div class="speech-name">みみねこ</div></div><div class="speech-balloon">
<p>上記で簡単に解説していますが、</p>



<p>START表示の処理は[ボタンを押しておみくじを表示]、</p>



<p>STOP表示の処理は[おみくじの結果の確率を設定]の実装を流用しています！</p>
</div></div>
<p>投稿 <a href="https://nyanblog2222.com/programming/4764/">【初心者】JavaScriptでおみくじの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/4764/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
