0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ウマ娘の馬名当てページを作った

Last updated at Posted at 2021-03-28

懐かしい馬名が目白押しのウマ娘の馬名で、馬名の早当てページを作ってみました。
Javascriptのみで作ってあります。

poruruba/Umamusume

とりあえず、やってみたい場合は、以下のページを参照してみてください。
著作権の都合上、モザイクをかけているのと、ウマ娘がたくさんありすぎて、とりあえず、12頭を入れています。

ソースコード解説

以下の状態遷移に基づきます。

js/start.js
const QUIZ_STATUS = {
    IDLE : 0, // 開始前
    PREPARE: 1, // カウントダウン中
    WAITING : 2, // 宣告待ち
    INPUT: 3, // 回答待ち
    ANSWER: 4, // 降参
    CORRECT : 5, // 正解時
    MISS: 6, // 誤り時
};

状態が変わるたびに以下が呼び出されます。
ユーザからの回答待ち受け時間など、タイムアウト処理も含まれています。

js/start.js
        process: function(){
            if( this.counting < 0 ){
                // 状態遷移直後
            }
            if( this.counting == 0 ){
                // タイムアウト発生
            }
            if( this.counting >= 1 ){
                // タイムアウト待ち受け中
            }
        },

状態遷移は以下を呼び出します。

js/start.js
process_status: function(status){

上述の通り、状態遷移直後の処理と、タイムアウト発生時の処理を記述しています。

#コンテンツの用意

コンテンツは、quiz_imagesフォルダに置いています。2つ用意していまして、ウマ名を答えてもらうときの絵と、ウマ名を答えた後の結果の絵です。
それらを配置したのち、以下のファイル quiz_contents.js を作成します。

js/quiz_contents.js
const quiz_contents = [
  {
    name: "スペシャルウィーク",
    image: "quiz_images/スペシャルウィーク.png",
    blank_image: "quiz_images/blank_スペシャルウィーク.png",
    phrase: "お母ちゃん、見てて! 私、日本一のウマ娘になる!"
  },
 ・・・・

nameが答えの馬名、imageが答えた後の結果の絵の場所、blank_imageが答えてもらうときの絵です。

以下の部分は、お好みに合わせて適当に変えてください。

js/start.js
        NUM_OF_SELECT: 3,   // 選択肢の数
        PREPARE_COUNT : 3, // クイズ表示までのウェイト時間(秒)
        WAITING_DURATION: 5000, // 宣言待ち時間
        INPUT_DURATION: 3000, // 選択待ち時間
        RESULT_DURATION: 3000, // 結果表示時間

以上

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?