# HG changeset patch # User KASHIWAGURA Aya # Date 1501062855 -32400 # Node ID c450bb1162ce8895468e8aa5afa91f3e19236b7c # Parent 768da5008d6d3e8b1a39633e4335c8b93a00d235 pro2 diff -r 768da5008d6d -r c450bb1162ce event/oasis2017/idol/pro.rb --- a/event/oasis2017/idol/pro.rb Wed Jul 26 18:41:00 2017 +0900 +++ b/event/oasis2017/idol/pro.rb Wed Jul 26 18:54:15 2017 +0900 @@ -1,10 +1,93 @@ #!/usr/bin/env ruby -# coding: utf-8 - -# tail -f /usr/local/apache2/logs/error_log +# -*- coding: utf-8 -*- +require 'sqlite3' +file = "db/point.sq3" require 'cgi' -c = CGI.new(:accept_charset => 'utf-8') +c = CGI.new(:accept_charset => "UTF-8") + +# 前回のアクセスで既に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("db/users.sq3") +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 +point = 0# 開始直後は0点 +# SELECTの検索結果に値があるかは [0] が nil かどうかで判定できる +name = db.execute("SELECT name FROM users WHERE id=?", id)[0] + +print(<<-EOF) + + + + +アイキス、しよ? + + + + + +EOF + + +if !name # もしユーザのプレイ名が未設定なら + title = "アイドルを育成しよう!" + hello = "プレイ名を入力してね" + input = '' + +print('
') +printf(<<-EOF, + +

%s

+

%s

+ +

%s
+
+ + + + + +

+
+EOF + title, hello, input,) + + +#導入画面 + +#require 'cgi' +#c = CGI.new(:accept_charset => 'utf-8') page = Hash.new n = 0 @@ -56,19 +139,18 @@ # ページ番号による切り替え処理 printf("

%s

\n",page[p]) - case p when "1" img = "1.jpg" nextpage = "2" - + when "2" nextpage = "3" when "3" nextpage = "4" img = "blue1.png" - + when "4" nextpage = "5" img = "white1.png" @@ -87,7 +169,8 @@ print(<<-"EOF")


-
+ +

EOF @@ -97,7 +180,9 @@ when "red" print(<<-"EOF") -

「初めまして、日和あかね(ひより あかね)だよ!
好きなのは歌とダンス!
!夢は大きなステージでライブをすることでっす!
たっくさん努力するから応援よろしくね

+

「初めまして、日和山あかね(ひよりやま あかね)だよ!
好きなのは歌とダンス!!夢は大きなステージでライブをすることでっす!
たっくさん努力するから応援よろし\\ +くね

この子にする

@@ -108,7 +193,8 @@ when "white" print(<<-"EOF") -

初めまして白鳥ゆき(しらとり ゆき)です。
他の娘たちみたいな輝くもののない普通の子ですが、
精一杯頑張りますのでよろしくお願いします。」

+

初めまして白鳥ゆき(しらとり ゆき)です。
他の娘たちみたいな輝くもののない普通\ +の子ですが、
精一杯頑張りますのでよろしくお願いします。」

この子にする?

@@ -118,8 +204,10 @@ when "blue" print(<<-"EOF") - -

「は、初めまして。えっと、鳥海あおい(とりみ あおい)と申します。
人前に立つのは苦手で、少しでもこんな自分を変えられたらって思ったんですけど。
やっぱり私、向いてないですよね…?」

+ +

「は、初めまして。えっと、鳥海あおい(とりみ あおい)と申します。
人前に立つ\\ +のは苦手で、少しでもこんな自分を変えられたらって思ったんですけど。
やっぱり私、向\\ +いてないですよね…?」

この子にする?
@@ -135,6 +223,7 @@ + if p =="9" printf("\n", gin) printf("\n", nextpage) @@ -151,7 +240,18 @@ puts('') end +else # プレイ名設定済みならホーム画面へ + print('
') + print('') -puts "
- -" +end + +db.close + + + +print(<<-EOF) + + + +EOF