うぅむ・・・ 2021.04.30 この記事は約9分で読めます。 ◆動作サンプル ※書き込みはできません。 ダウンロード ※ダウンロード後、解凍ツールで解凍して下さい。 u-mu.lzh 特徴&機能説明 単なるクイズCGIです。問題&回答の設定はブラウザ上から作成出来ます。(複数の問題登録が可能…1つの問題に対しての問題数は制限無し)問題の作成及び更新等の管理は「管理人のみ」となります。回答結果のログもブラウザ上から削除可能。※修正機能は無し回答パターンは以下の3通り。「答え」を入力させるパターン「答え」を選択させるパターン(複数回答候補から1つ選択させる)「答え」を選択させるパターン(複数回答候補から複数選択させる(AND…全て正解を答えないと不正解))「答え」を選択させるパターン(複数回答候補から複数選択させる(OR…正解のどれか1つ答えると正解))ランキング機能同じ名前+ホスト情報でランキングを管理します。携帯対応不正防止機能付き。「ブラウザの戻る」及び「ブラウザのページ更新(本当はエラーにしたくなかったんだけど(^_^;)」はエラーとしてその場でゲーム終了となります。 設置方法 ※重要な部分のみ説明します ■u-mu.cgiをエディタで開いて設定を行います。#!/usr/local/bin/perl (Perlへのパスを指定。※プロバイダによって異なりますので不明な場合はプロバイダーへ質問してね) $logfile = ‘./u-mu.txt’; (プレイヤーのゲーム中の情報を管理するファイルです)…特に修正する必要はありません ※問題No+名前+リモートホスト単位で1件データが作成されます。 よって、1台のパソコンで同時にブラウザを開いて同じ問題+名前でゲームしたとしても 片方の情報しか管理出来ませんので、2回目にゲーム開始した側は「不正行為」をしたと 判断されます。 ※ゲーム途中で違うページを表示したりブラウザを閉じると、同ファイルにデータが残ってしまいますが ゲーム開始時刻から6時間以上経過したら自動的にそのデータを削除します。 $q_cnt = 1;#問題を選択するプルダウン表示件数(一度に表示する件数) ▼$q_cnt=1の場合▼$q_cnt=5の場合 $Qcount = 10 ; #PC時$Qcount_k = 3 ; #携帯時#1つの問題Noに対しての1画面で入力する問題数を指定。※1つの問題での問題数の限度はありません。 $QComm = 1;#問題に対する「回答」について『備考』を入力する欄は必要?(0:不要 1:必要) #PC時$q_textflg = 1; #「問題」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)$q_col = 60 ; #「問題」入力部の文字数$q_row = 3 ; #「問題」入力部の行数 ※複数行テキストボックス時のみ$b_textflg = 1; #$QComm=1(備考有)の場合、「備考」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)$b_col = 60 ; #$QComm=1(備考有)の場合、「備考」入力部の文字数$b_row = 2 ; #$QComm=1(備考有)の場合、「備考」入力部の行数 ※複数行テキストボックス時のみ$b_width = ‘50%’; #$QComm=1(備考有)の場合、「備考」を表示する際のテーブル幅 #携帯時$q_textflg_k = 1; #「問題」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)$b_textflg_k = 0; #$QComm=1(備考有)の場合、「備考」入力部は?(0:1行テキストボックス 1:複数行テキストボックス)$ansdisp = 2;#問題回答後、次の問題が表示された際に、前の問題の回答が正解か不正解かを表示する?#0:表示しない#1:表示する(正解か不正解かだけを表示)#2:表示する(回答も表示する)#初期画面の「ランキング表示」のプルダウン内に「最終更新日」を表示する?(0:no 1:yes)$upflg = 1;#問題毎に「名前」が重複したらエラーとする?(0:no 1:yes)#$dup=1の場合、重複の判断を行う為、画面上に「パスワード」が追加されます(必須)#同じ名前でパスワードが違う場合はエラーとなります。$dup = 1 ■名前の重複はエラー($dup=1)の場合初めて使用した時の「名前」と「パスワード」が記録され、同じ名前で2回目以降は「初回入力時のパスワード」でなければエラーとなります。■名前の重複はエラーにしない($dup=0)の場合他人が自分と同じ「名前」を使用してもエラーとならないので、自分の記録が上書きされてしまいます。 $HEAD_COMMENT#初期画面上部に何か表示したい文章があれば記述。(PC) $HEAD_COMMENT_K#初期画面上部に何か表示したい文章があれば記述。(携帯) #▼入力フォームの文字$lbl_ques = ‘問題 –>’; #初期画面の「問題 –>」に表示する文字(PC)$lbl_ques_k = ‘▼問題<br />’; #初期画面の「問題 –>」に表示する文字(携帯)$lbl_name = ‘お名前 –>’; #初期画面の「お名前 –>」に表示する文字(PC)$lbl_name_k = ‘▼お名前<br />’; #初期画面の「お名前 –>」に表示する文字(携帯)$lbl_rank = ‘ランキング表\示’; #「ランキング表示」に表示する文字(PC)$lbl_rank_k = ‘ランキング表\示’; #「ランキング表示」に表示する文字(携帯)$lbl_disp_k = ‘選択’; #初期画面の「問題を選択」に表示する文字(携帯のみ)$lbl_ok = ‘ — OK –‘; #回答中画面の回答用ボタンに表示する文字(PC)$lbl_ok_k = ‘ — OK –‘; #CC3300 #投稿時に管理者にメール送信する場合、sendmailのパスを指定#プロバがsendmailに対応していなければなりません。詳細はプロバに質問して下さいね。#※使用しない(又は、できない)場合は、$sendmail = “”;のようにして下さい!!$sendmail = “”; #メール送信先アドレス。(管理者のアドレス)…「@」の前には「\」を必ずつけてね。「\」を付けないとInternalServererrorになるかも。#(Sendmailを使わない場合は設定しても意味ありません)$smail_address = “xxxxx@xxxx.com”;$smpcolor = ‘#FF0000’; #問題更新画面での例文内の強調表示される文字色$kyocolor = ‘#00FF00’; #問題内で強調表示(文字の前後で”*”)する場合の文字色■各ファイルをサーバーへアップロードします。 ファイル名説明パーミッション転送モードu-mu.cgi本体755アスキーモードu-mu.txtゲーム中の情報を管理するファイル666アスキーモードlogdir(問題&ランキングファイル保存用フォルダ)問題&ランキングファイルを保存するフォルダ777 Q_nnn.ini (問題ファイル。 nnnには問題No.が入ります)(スクリプト側で自動作成します)問題ファイル666アスキーモードR_nnn.txt(ランキング管理ファイル。 nnnには問題No.が入ります)(スクリプト側で自動作成します)ランキングファイル666アスキーモードjcode.pl日本語コード変換ライブラリ755アスキーモード ※パーミッションはプロバイダーによって上記以外の設定となる事がありますので、設置出来ない場合は、一度プロバイダーのサイトなりで調査してみて下さい。※自動作成するファイルは、サーバーによって自動作成出来ない場合があるかもしれませんのでもし問題登録時にエラーとなる場合は、各自テキストエディタで空の「Q_001.ini」、「R_0001.txt」等を作成しサーバーへアップロードしてください。 ■問題&ランキングファイル保存用フォルダ($logdir)をサーバーに作成してください。 パーミッションは777にして下さい。(プロバイダーによっては異なるかもしれませんので 不明な場合はプロバイダーに確認してください) ※パーミッションはサーバー管理者から指定されている値で設定して下さい。 ■問題の登録方法初期画面下部にある「問題No.」に番号を入力(まだ登録していない番号を入力)「問題のタイトル」と「問題に対する説明文」を入力 ※「問題のタイトル」は必須問題登録:「答え」を入力させるパターン→↓「備考欄」は、回答表示有り($ansdisp=2(回答も表示する))の場合、以下のように表示されます又、強調したい文字がある場合は、文字の前後に「*」を入力すると以下のようになります。「*」の指定は1問につき1回のみですex. 【*盲点*】「答え」を選択させるパターン(複数回答候補から1つ選択させる)◎「回答候補」…回答として表示する候補を入力して下さい。※回答候補を複数する場合は半角カンマで区切って下さい。ex. りんご,トマト,バナナ◎「正解」・「回答候補」を入力した場合、「回答候補」で指定した候補の内、正解となる番号(回答候補の何番目か)を入力して下さい。・「回答候補」を省略した場合、正解となる文字を入力して下さい。※指定例:「回答候補入力時」→《赤、青、黄、緑、白》で、正解が「赤、青、緑」の場合「正解」には【1,2,4】と入力して下さい※複数正解の場合は、番号を半角カンマで区切って下さい。 例:1,2,5※指定例:「回答候補省略時」→正解欄には【これが正解です】等と文字を入力 →▼「答え」を選択させるパターン(複数回答候補から複数選択させる(AND…全て正解を答えないと不正解))◎「AND/OR」は「正解」が複数回答有る場合、全て一致で正解とするか一部正解で正解とするかの指定です →▼「答え」を選択させるパターン(複数回答候補から複数選択させる(OR…正解のどれか1つ答えると正解)) →画面内の問題を入力し終えたら「登録ボタン」を押下する事によって、そのページの問題が作成されます。問題が登録されました。 引き続き問題を登録したい場合は「続きの問題を登録するボタン」を押下してください。続きの問題を登録出来ます。 ※問題修正時も同じような手順となります。1画面毎に更新していきますので、修正したい問題が3画面目に存在している場合は、3画面目まで1画面ずつ更新していくことになります。↓登録した問題が表示されました。 更新履歴 ◆2007.07.24 ・「最終更新日表示設定項目($upflg)」が機能していませんでした ・「回答候補未設定で正解複数回答有」に対応 ◆2007.07.19 … Ver0.5正式版配布開始 ◆2007.07.13 … Ver0.5 β3版配布開始 ・名前重複チェック変更 ・パスワード暗号化 ・問題/ランキングファイルの拡張子を設定可能に ◆2007.07.12 … Ver0.5 β2版配布開始 (名前重複チェック指定…$dupの追加) ◆2007.07.10 … Ver0.5 β版配布開始