diff --git a/event/oasis2017/gpsquiz/mane.html b/event/oasis2017/gpsquiz/mane.html
new file mode 100644
index 0000000..7062503
--- /dev/null
+++ b/event/oasis2017/gpsquiz/mane.html
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/event/oasis2017/idol/white1.txt b/event/oasis2017/idol/white1.txt
index 1b5ffe5..19be1c2 100644
--- a/event/oasis2017/idol/white1.txt
+++ b/event/oasis2017/idol/white1.txt
@@ -1,10 +1,10 @@
-1 白鳥のパフォーマンスは、地域密着型アイドルとして至って平均的だ。
日和山のように既存の振りにアドリブを付け足し、オリジナリティを表現するわけでもなく、
鳥海のように自信なさげに控えめなダンスを披露するわけでもない。
-
-2 ただ振付師の指示を従順に守り、与えれたアピールシーンでのみ
さりげなく手を振ったり、うちわに描かれたパフォーマンスをする。
持っている技術は申し分ないというのに、少し……いや、大幅に勿体無い。
-
-3 「初ライブお疲れ様。どうだった?」
ステージ裏のこじまんりとした簡易控え室に戻り労いの言葉をかける。
-頭から被ったタオルの奥から見えた表情は何処と無く納得のいっていないようだった
-
-4 「凄く楽しかったです!でも、このままでいいのか正直不安で……」
声を震わせ視線を伏せる
彼女自身、悩んでいたようだ。
そっと微笑み、落ち込んだ様子の彼女の頭をやんわりと撫でる
-
-5 「大丈夫。君はいいセンスを持っているんだ。このフェスで自分にあったパフォーマンスを探っていけばいい」
「は、はい!私、頑張ります!!」
まだ1回目のライブ。お客さんもこれからどんどん集まって来るだろう。
今回のフェスを通して彼女自身が自分の持っている物に気付けば、
きっと最高のアイドルに成長するかもしれない
\ No newline at end of file
+1 白鳥のパフォーマンスは、地域密着型アイドルとして至って平均的だ。
日和山のように既存の振りにアドリブを付け足し、オリジナリティを表現するわけでもなく、
鳥海のように自信なさげに控えめなダンスを披露するわけでもない。
+
+2 ただ振付師の指示を従順に守り、与えれたアピールシーンでのみ
さりげなく手を振ったり、うちわに描かれたパフォーマンスをする。
持っている技術は申し分ないというのに、少し……いや、大幅に勿体無い。
+
+3 「初ライブお疲れ様。どうだった?」
ステージ裏のこじまんりとした簡易控え室に戻り労いの言葉をかける。
+頭から被ったタオルの奥から見えた表情は何処と無く納得のいっていないようだった
+
+4 「凄く楽しかったです!でも、このままでいいのか正直不安で……」
声を震わせ視線を伏せる
彼女自身、悩んでいたようだ。
そっと微笑み、落ち込んだ様子の彼女の頭をやんわりと撫でる
+
+5 「大丈夫。君はいいセンスを持っているんだ。このフェスで自分にあったパフォーマンスを探っていけばいい」
「は、はい!私、頑張ります!!」
まだ1回目のライブ。お客さんもこれからどんどん集まって来るだろう。
今回のフェスを通して彼女自身が自分の持っている物に気付けば、
きっと最高のアイドルに成長するかもしれない
diff --git a/event/oasis2017/idol/white_1.rb b/event/oasis2017/idol/white_1.rb
index 0d132db..d3585f4 100755
--- a/event/oasis2017/idol/white_1.rb
+++ b/event/oasis2017/idol/white_1.rb
@@ -11,6 +11,52 @@
img = ""
+require 'sqlite3'
+file = "../db/point.sq3"
+
+# 前回のアクセスで既にcookieが定義されていたら取得
+# ブラウザからのcookieは、c.cookies[変数名][0] で受け取る
+cookie_id=c.cookies["id"][0]
+
+# 前回のアクセスで入力された値を取得
+form_name=c["playname"] # nameをフォームから取得(もしあれば)
+form_kwd=c["keyword"] # keywordも取得(もしあれば)
+form_clr=c["clear"] # クリアボタン
+
+if cookie_id == nil # (1)もしcookieからのidがなければ新規生成
+ # 新規idは、現在時刻を秒(to_i)にした文字列(to_s)と乱数の組み合わせ
+ newid = Time.now.to_i.to_s + "/" + rand(99999).to_s
+ id=newid # 新規idをidとする
+else # (2)cookieからのidがあればそれをidとする
+ id=cookie_id
+end
+
+# idをすぐcookieで相手ブラウザに送る
+# 変数の期限を24時間に設定し、expire変数に入れる
+expire = (Time.now+24*3600).gmtime.strftime("%a, %d %b %Y %H:%M:%S GMT")
+printf("Content-type: text/html; charset=UTF-8\n")
+printf("Set-Cookie: id=%s; expires=%s\n\n", id, expire)
+
+db = SQLite3::Database.new(file)
+db.execute("PRAGMA foreign_keys=on")
+db.execute("CREATE TABLE IF NOT EXISTS " +
+ "users(id text primary key, name text, creation text)")
+db.execute("CREATE TABLE IF NOT EXISTS " +
+ "point(id, keyword text, FOREIGN KEY(id) REFERENCES users(id))")
+
+if form_clr > "" && id > ''# クリアボタンが押されていたら
+ db.execute("DELETE FROM point WHERE id=?", id)
+end
+if form_name > "" # formからの名前設定がもしあれば
+ db.execute("REPLACE INTO users VALUES(?, ?, ?)", id, form_name, Time.now.to_s)
+end
+
+pt = 0 # 開始直後は0点
+# SELECTの検索結果に値があるかは [0] が nil かどうかで判定できる
+
+name = db.execute("SELECT name FROM users WHERE id=?", id)[0]
+
+
open("white1.txt","r:utf-8") do |cat|
while line = cat.gets
@@ -30,7 +76,7 @@
gin = c["adm"]
name = c["name"]
-puts "Content-type: text/html; charset=utf-8
+puts "
アイエキ、しよ?
@@ -65,18 +111,15 @@
when "6"
print(<<-"EOF")
-NEXT STAGE・・・
+NEXT LIVE……
-
-
-
+
EOF
nextpage = nil
end
-
if nextpage
printf("\n", nextpage)
@@ -85,7 +128,7 @@
puts('')
end
-
+db.close
puts "
"
diff --git a/event/oasis2017/idol/white_2.rb b/event/oasis2017/idol/white_2.rb
index dceae22..5859e2b 100644
--- a/event/oasis2017/idol/white_2.rb
+++ b/event/oasis2017/idol/white_2.rb
@@ -6,12 +6,63 @@
require 'cgi'
c = CGI.new(:accept_charset => 'utf-8')
+
+
+
+
+require 'sqlite3'
+file = "../db/point.sq3"
+
+# 前回のアクセスで既にcookieが定義されていたら取得
+# ブラウザからのcookieは、c.cookies[変数名][0] で受け取る
+cookie_id=c.cookies["id"][0]
+
+# 前回のアクセスで入力された値を取得
+form_name=c["playname"] # nameをフォームから取得(もしあれば)
+form_kwd=c["keyword"] # keywordも取得(もしあれば)
+form_clr=c["clear"] # クリアボタン
+
+if cookie_id == nil # (1)もしcookieからのidがなければ新規生成
+ # 新規idは、現在時刻を秒(to_i)にした文字列(to_s)と乱数の組み合わせ
+ newid = Time.now.to_i.to_s + "/" + rand(99999).to_s
+ id=newid # 新規idをidとする
+else # (2)cookieからのidがあればそれをidとする
+ id=cookie_id
+end
+
+
+# idをすぐcookieで相手ブラウザに送る
+# 変数の期限を24時間に設定し、expire変数に入れる
+expire = (Time.now+24*3600).gmtime.strftime("%a, %d %b %Y %H:%M:%S GMT")
+printf("Content-type: text/html; charset=UTF-8\n")
+printf("Set-Cookie: id=%s; expires=%s\n\n", id, expire)
+
+db = SQLite3::Database.new(file)
+db.execute("PRAGMA foreign_keys=on")
+db.execute("CREATE TABLE IF NOT EXISTS " +
+ "users(id text primary key, name text, creation text)")
+db.execute("CREATE TABLE IF NOT EXISTS " +
+ "point(id, keyword text, FOREIGN KEY(id) REFERENCES users(id))")
+
+if form_clr > "" && id > ''# クリアボタンが押されていたら
+ db.execute("DELETE FROM point WHERE id=?", id)
+end
+if form_name > "" # formからの名前設定がもしあれば
+ db.execute("REPLACE INTO users VALUES(?, ?, ?)", id, form_name, Time.now.to_s)
+end
+
+pt = 0 # 開始直後は0点
+# SELECTの検索結果に値があるかは [0] が nil かどうかで判定できる
+
+name = db.execute("SELECT name FROM users WHERE id=?", id)[0]
+
+
page = Hash.new
n = 0
img = ""
-open("red1a.txt","r:utf-8") do |cat|
+open("white1.txt","r:utf-8") do |cat|
while line = cat.gets
if /(\d+)\s+(\S+)\s+/ =~line
@@ -65,7 +116,7 @@
when "6"
print(<<-"EOF")
-NEXT STAGE・・・
+NEXT STAGE・・・
@@ -85,7 +136,7 @@
puts('')
end
-
+db.close
puts "