質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1301閲覧

ゲーム スコア保持の方法

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2019/09/29 03:21

編集2019/09/29 03:23

ゲームのランキングスコアを保持したいです。
詳細

現在、タイピングゲームを作成しており、ある程度完成したのですが、一つ問題があることに気づきました。
ページ内ではランキングの更新があると、次のプレイの時にもその上位タイム情報が維持されるのですが、ページを更新、あるいはほかの端末で行うと、そのタイムが保持されないという状況が発生しました。

このタイムをページがリロード(再読込)されても保持するようにはどのように書き換えたらいいのでしょうか。下部に入力してみたJSを置いておきます。ご解答よろしくお願いします。

ランキング表示
|順位|初期タイム|1回目終了後|2回目終了後|リロード後
|--:|:--|
|1位|59:59:00|30:00:00|25:00:00|59:59:00
|2位|59:59:01|59:59:00|30:00:00|59:59:01
|3位|59:59:02|59:59:01|59:59:00|59:59:02
|4位|59:59:03|59:59:02|59:59:01|59:59:03
|5位|59:59:04|59:59:03|59:59:02|59:59:04

※1回目記録30:00:00/2回目記録25:00:00

ランキング表示のhtml

html

1 <script src="/header.js"></script> 2 <script> 3 var r=[ 4 ['23:59.95','abc'], 5 ['23:59.96','xyz'], 6 ['23:59.97','ijk'], 7 ['23:59.98','aaa'], 8 ['23:59.99','zzz'], 9 ]; 10 var qs=[ 11 '', 12 ]; 13 const viewRank=()=>{ 14 document.querySelector('#rank span').innerHTML=r.map(x=>x.join(" ")).join("<br>"); 15 }; 16 window.addEventListener('DOMContentLoaded',()=>{ 17 viewRank(); 18 document.querySelector('#start').addEventListener('click',e=>{ 19 const t1=e.target; 20 const t2=document.querySelector('#a'); 21 t1.disabled=true; 22 t2.disabled=false; 23 const name=prompt("お名前を入力してください。"); 24 if(name=="") name="UnKnown"; 25 (async()=>{ 26 qs=qs.map(x=>[x,Math.random()]).sort((x,y)=>x[1]-y[1]).map(x=>x[0]); 27 const s=new Date().getTime(); 28 for(var i=0;i<qs.length;i++){ 29 const qStr=qs[i]; 30 document.querySelector('#q span').textContent=qStr; 31 t2.value=""; 32 t2.focus(); 33 await new Promise(resolve=>{ 34 const timerId=setInterval(()=>{ 35 if(t2.value==qStr){ 36 clearInterval(timerId); 37 resolve(); 38 } 39 },10); 40 }); 41 } 42 const e=new Date().getTime(); 43 const diff=e-s; 44 const str=(10000+diff/1000).toString(); 45 const time=str.substr(1,2)+":"+ 46 str.substr(3,5); 47 r.push([time,name]); 48 //r=await r.sort((x,y)=>x[0]>y[0]).splice(0,5); 49 //以下追加入力 50 r=await r.sort((x,y)=>x[0]>y[0]?1:-1).splice(0,5); 51 viewRank(); 52 t1.disabled=false; 53 t2.disabled=true; 54 })(); 55 }); 56 }); 57 </script> 58 <input type="button" value="ゲーム開始!" id="start"> 59 <div id="q">Q:<span>ここに問題が表示されます。</span></div> 60 <div>A:<input type="text" id="a"></div> 61 <div id="rank">ランキングトップ5<br> 62 <span></span> 63 </div>

名前入力(ランキング表示の際に使用)

ゲームスタート

終了

ランキング表示

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「ほかの端末」のデータを保存するにはサーバ側で保存する仕組みを作る必要があります。
当該端末のみの保存であれば Web Storage API でを使えば保存できます。

【Web Storage API - Web API | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Web_Storage_API

投稿2019/09/29 03:26

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/29 03:29

サーバー側で保存する仕組みを作るにはどうすればいいのですか?
kei344

2019/09/29 03:34

サーバで使える言語とデータベースについて調べて、必要な動作を組み立てればよいです。
退会済みユーザー

退会済みユーザー

2019/09/29 04:07

パーミッション設定のことですか? パーミッション設定はしたのですが、、、 ※呼び出し・書き込み・実行すべて許可にしています。 具体的なサーバーで使える言語・データベースについて名前だけでも1つ挙げていただければ幸いです。
miyabi_takatsuk

2019/09/29 09:16

横槍失礼します。 helpsさん、その質問になってしまうと、本質問要件から外れていくので、 別途質問立てられるといいかと思います。 また、そのままの質問(コメントにての質問)では、丸投げになってしまいますので、 まずは自分で調べましょう。 そして、JavaScript(クライアントサイド)では何ができて何ができないのか、 サーバーサイドでは何ができて何ができないのか、 ここら辺を、調べ勉強されるといいかと思います。
退会済みユーザー

退会済みユーザー

2019/09/29 09:48

アドバイスありがとうございます。回答を参考にしつつ探し、再度質問してみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問