私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇1903:
シリアルコードを入力してアイテムを入手する方法 [YOUME] 12/26 10:07

 └◇1904:Re:シリアルコードを入力してアイテムを入手する方法 [moon] 12/26 22:05
  └◇1905:Re[2]:シリアルコードを入力してアイテムを入手する方法 [YOUME] 05/12 08:54
   └◇1906:Re[3]:シリアルコードを入力してアイテムを入手する方法 [moon] 05/14 20:46<-last


1903● シリアルコードを入力してアイテムを入手する方法[ YOUME ] 2019 12/26 10:07
ご無沙汰しております。
以前からお世話になっております、YOUMEです。

シリアルコード(1度使い切り)を入力して、アイテムを入手させたいと思うのですが、良い方法が全く思い浮かばず…

いつも頼ってばかりで本当に恐縮なのですが、お知恵を貸して頂けたら大変助かります…!

何卒、宜しくお願い致します…!
コメントを書く(引用) | スレッド一覧


1904● Re:シリアルコードを入力してアイテムを入手する方法[ moon ] 2019 12/26 22:05
> ご無沙汰しております。
> 以前からお世話になっております、YOUMEです。

お久しぶりです。

> シリアルコード(1度使い切り)を入力して、アイテムを入手させたいと思うのですが、良い方法が全く思い浮かばず…

以下のような仕様が考えられます。
1. シリアルコードを生成する。
2. シリアルコードとアイテム情報などをファイルに保存する。(例えば「シリアルコード」「アイテム情報」「使用者や時間などのシリアルコードを使用した情報」を1シリアルコード/行で保存しておけば1つのファイルで管理できる。)
3. プレイヤーがシリアルコードを入力したらファイルをチェックする。
4. 入力されたものと同一のシリアルコードが見付かり、かつ、未使用ならプレイヤーにアイテムを渡す。
5. アイテムを渡した場合は該当シリアルコードを使用した情報をファイルに保存する。

※ 上記は1つのシリアルコードが使われたら他のプレイヤーは同じシリアルコードではアイテムを受け取れない仕様です。
※ シリアルコードは以下のような感じで生成すれば良いです。
  #### ここから ####(インデントは要置換)
  my @serial_chars = (
    '1', '2', '3', '4', '5', '6', '7', '8', '9',
    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', # IとOは数字と間違えやすいので除外した
  ); # シリアルコードに使用する文字の配列
  my $num = 10; # シリアルコードの桁数

  my $serial_code = ''; # シリアルコード
  foreach(1 .. $num){
    $serial_code .= $serial_chars[int(rand(@serial_chars))];
  }
  #### ここまで ####
コメントを書く(引用) | スレッド一覧


1905● Re[2]:シリアルコードを入力してアイテムを入手する方法[ YOUME ] 2020 05/12 08:54
お礼が遅れて大変申し訳ございません!!
教えて頂きありがとうございます!

せっかく教えて頂いたのに自分の理解が足りなくて、すぐには実装できなさそうですが、教えて頂いた事を参考に考えていきたいと思います!

とかいいつつまた聞きに来てしまうかもしれないのですが(汗)

それにしても今、世の中がウイルス騒ぎで大変な事になっていますね…
自分自身いろいろ滅入る事が多くて悩める日々ですが、moonさんもご自愛ください…!
コメントを書く(引用) | スレッド一覧


1906● Re[3]:シリアルコードを入力してアイテムを入手する方法[ moon ] 2020 05/14 20:46
> せっかく教えて頂いたのに自分の理解が足りなくて、すぐには実装できなさそうですが、教えて頂いた事を参考に考えていきたいと思います!
>
> とかいいつつまた聞きに来てしまうかもしれないのですが(汗)

少し記載漏れがありましたので以下のように訂正します。
  '1', '2', '3', '4', '5', '6', '7', '8', '9',
    ↓
  '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', # 0が抜けていた
実現方法は一通りではないので行いたい仕様にあわせた方法で作ってみてください。

> それにしても今、世の中がウイルス騒ぎで大変な事になっていますね…
> 自分自身いろいろ滅入る事が多くて悩める日々ですが、moonさんもご自愛ください…!

ありがとうございます。
コメントを書く(引用) | スレッド一覧

CGIROOM