Mercurial > hgrepos > hgweb.cgi > skipweb
changeset 702:5f5d3f690d67
oasis2015 added
author | ARAKI Tsuyohito <c113007@e.koeki-u.ac.jp> |
---|---|
date | Tue, 30 Jun 2015 19:01:49 +0900 |
parents | 54b08f411d60 |
children | 36216adc18c2 |
files | oasis2015/#.htaccess# oasis2015/.htaccess oasis2015/accountcheck.rb oasis2015/deletetest.rb oasis2015/gets.rb oasis2015/gohan.rb oasis2015/img/cabage.png oasis2015/img/gets.png oasis2015/img/gohan.png oasis2015/img/lvb.png oasis2015/img/sisip.png oasis2015/img/snail.png oasis2015/img/tamago.png oasis2015/index.html oasis2015/magic.rb oasis2015/main.css oasis2015/main2.css oasis2015/prof.rb oasis2015/profeel.css oasis2015/test.rb |
diffstat | 20 files changed, 631 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/#.htaccess# Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,3 @@ +AddHandler cgi-script .rb +Options +ExecCGI +AddType "text/html; charset=utf-8" .html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/.htaccess Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,4 @@ +AddHandler cgi-script .rb +AddType "text/html; charset=UTF-8" .rb +AddType "text/html; charset=UTF-8" .html +Options +ExecCGI
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/accountcheck.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,62 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'sqlite3' +require 'kconv' +require 'cgi' + +c = CGI.new(:tag_maker => "html5", :accept_charest => "UTF-8") +db = SQLite3::Database.new("sql/main.sq3") +sql = "insert into test values (?, ?, ?, ?, ?, ?, ?, ?, ?)" +toi = "insert into toi values (?, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)" +item = "insert into goods values (?, 0, 0, 0, 0, 0, 0)" + +name = c["name"] +cal = c["cal"] +age = c["age"] +sex = c["sex"] +aria = c["aria"] + +id = c.cookies["id"][0] +if id == nil + srand + id = rand(1000) + exp = 0 + pt = 0 + lv = 1 + db.execute(sql, id, name, cal, age, sex, aria, exp, pt, lv) + db.execute(toi, id) + db.execute(item, id) +end + srand(id.to_i) + id2 = rand(1000000) + + + +expires = "SAT, 24 Oct 2015 00:00:00 GMT" + +printf("Content-type: text/html; charset=UTF-8 +Set-Cookie:id=%s ;expires=%s +Set-Cookie:pass=%s ;expires=%s\n\n", id, expires, id2, expires) + +printf(<<_EOS_, name, id.to_i-1) +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>Registering Account</title> +<link rel="stylesheet" type="text/css" href="design.css"> +</head> +<p>ようこそ%sさん。</p> +<p>あなたのIDは%04dです。抽選はこのIDを元に行われます</p> +<p>下記リンクからスタンプラリーを開始して下さい!</p> +<p><a href="prof.rb"> >> Let\'s go oasis-fes! << </a></p> +<form method="POST" type="text"> +</form> +</body></html> +_EOS_ + + +if name == "deleteman123123123" +`cp sql/tsback.sq3 sql/main.sq3` +`chmod a+w sql/main.sq3` +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/deletetest.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,4 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +`cp sql/tsback.sq3 sql/arere.sq3`
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/gets.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,147 @@ +#!/usr/bin/env ruby +# -*- coding:utf-8 -*- + +require 'sqlite3' +require 'cgi' + +c = CGI.new(:tag_maker => "html5", :accept_charest => "UTF-8") +db = SQLite3::Database.new("sql/main.sq3") + +id = c.cookies["id"][0] +person = id.to_i + +data = "select * from test where id = ?" +cook = db.execute(data, person) +upd = "update test set pt = ? where id = ?" +goods = "update goods set g1 = ?, g2 = ?, g3 = ?, g4 = ?, g5 = ?, g6 = ? where id = ?" + + +name = cook[0][1] +pt = cook[0][7] + +ticket = "select * from goods where id = ?" +have = db.execute(ticket, person) +g1 = have[0][1] +g2 = have[0][2] +g3 = have[0][3] +g4 = have[0][4] +g5 = have[0][5] +g6 = have[0][6] + +gets = c["sho"] +c1 = 3 +c2 = 10 +c3 = 20 +c4 = 2 +c5 = 5 +c6 = 100 + +h1 = "チケットを発行したよ!" +if gets == "s1" && pt >= c1 +g1 += 1 +pt -= c1 +kekka = "おちゃ交換券をゲット!" +elsif gets == "s2" && pt >= c2 +g2 += 1 +pt -= c2 +kekka = "おんせんのもと交換券をゲット!" +elsif gets == "s3" && pt >= c3 +g3 += 1 +pt -= c3 +kekka = "せんざい交換券をゲット!" +elsif gets == "s4" && pt >= c4 +g4 += 1 +pt -= c4 +kekka = "あめ交換券をゲット!" +elsif gets == "s5" && pt >= c5 +g5 += 1 +pt -= c5 +kekka = "10円金券をゲット!" +elsif gets == "s6" && pt >= c6 +g6 += 1 +pt -= c6 +kekka = "まぐろ交換券をゲット!" +else +h1 = "チケット発行できません!!" +kekka = "ポイントたりませんが!!!" +end + +trade = c["trade"] +if trade == "おちゃ" && g1 > 0 +g1 -= 1 +kekka = "おちゃ と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "おちゃと交換します!" +elsif trade == "おんせんのもと" && g2 > 0 +g2 -= 1 +kekka = "おんせんのもと と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "おんせんのもと と交換します!" +elsif trade == "せんざい" && g3 > 0 +g3 -= 1 +kekka = "せんざい と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "せんざいと交換します!" +elsif trade == "あめ" && g4 > 0 +g4 -= 1 +kekka = "あめ と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "あめと交換します!" +elsif trade == "10えん金券" && g5 > 0 +g5 -= 1 +kekka = " 10えん と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "10えんと交換します!" +elsif trade == "まぐろ" && g6 > 0 +g6 -= 1 +kekka = "まぐろ と交換します!<br>スタッフの人は、スタッフがボタンを押した場合のみ、交換してください!" +h1 = "まぐろと交換します!" +end + + + + + +db.execute(goods, g1, g2, g3, g4, g5, g6, person) +db.execute(upd, pt, person) + + +pre = "%" +printf(<<_EOS_, h1, name, pt, kekka, g1, g2, g3, g4, g5, g6) + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>こうかん!</title> +<style type="text/css"> +<!-- +--> +</style> +<link rel="stylesheet" type="text/css" href="main.css"> +</head> + +<body> +<h1>%s</h1> +<p> +%sさん<br> +pt:%d<br> +%s +</p> +<table> +<title>もっているチケット</title> +<tr><td> +おちゃ</td><td>:%d</td></tr><tr><td> +おんせんのもと</td><td>:%d</td></tr><tr><td> +せんざい</td><td>:%d</td></tr><tr><td> +あめ</td><td>:%d</td></tr><tr><td> +10えん金券</td><td>:%d</td></tr><tr><td> +まぐろ</td><td>:%d</td></tr> +</table> +<br><br> +<a href="prof.rb">もどる!</a> +<br><br> +<form method="POST" action="gets.rb"> +<input type="text" name="trade" value="ここは スタッフ の 人 が つかうよ!"> +<input type="submit" value="スタッフ ぼたん"><br>スタッフじゃない人はおさないでね! +</form> +</body> +</html> + + +_EOS_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/gohan.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,105 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +require 'cgi' +require 'sqlite3' +require 'kconv' +c = CGI.new(:tag_maker => "html5", :accept_charest => "UTF-8") +db = SQLite3::Database.new("sql/main.sq3") + +id = c.cookies["id"][0] +person = id.to_i + +data = "select * from test where id = ?" + #idが?(後で代入)のデータをtest票から探す。という命令をdataにしくむ。全てがほしい場合は「*」。「*」を「name」に変えると該当データのnameだけとりだす。 + +cook = db.execute(data, person) + #dataに仕組んでいた命令を、personを代入しつつ実行。 + +upd = "update test set exp = ?, pt = ? where id = ?" + #「idが?3のとき、expを?1にする。ptを?2にする。」という命令文。 +lvupd = "update test set lv = ? where id = ?" + +que = "select q10 from toi where id = ?" +queupd = "update toi set q10 = 1 where id = ?" +q10 = db.execute(que, person) + + name = cook[0][1] + cal = cook[0][2] + exp = cook[0][6] + pt = cook[0][7] + lv = cook[0][8] + pre = "%" + + +gohan = c["gohan"] +himitu = "" +if gohan == "g1" && pt >= 1 + exp += 1 + pt -= 1 + db.execute(upd, exp, pt, person) + kekka = "#{cal}が成長した!" +elsif gohan == "g2" && pt >= 3 + exp += 5 + pt -= 3 + db.execute(upd, exp, pt, person) + kekka = "#{cal}がすごく成長した!" +elsif gohan == "skipskip" + if q10[0][0] == 0 + exp += 10 + db.execute(upd, exp, pt, person) + kekka = "" + db.execute(queupd, person) + else + kekka ="しつもん に こたえられるのは いっかい だけだよ!" + end +else + kekka = "ぽいんと足りてないでしょ!!!!" +end + +if exp >= lv*10 && lv < 5 + lv += 1 + db.execute(lvupd, lv, person) + kekka += "<br>レベルが上がった!<br>レベルが#{lv}になった!" +end +modoru = '<br><a href="prof.rb">もどる!</a\>' +back = modoru +if lv < 5 && gohan == "g1" || lv < 5 && gohan == "g2" + mo = '<input type="button" value="おかわり!" onclick="location.reload();" />' + back = mo + modoru +elsif lv >= 5 + back += "レベルマックスだよ!" +end + +cook = db.execute(data, person) +exp = cook[0][6] +pt = cook[0][7] +lv = cook[0][8] + +printf(<<_EOS_, name, exp, pt, kekka, back) + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>ごはぁん!</title> +<style type="text/css"> +<!-- +--> +</style> +<link rel="stylesheet" type="text/css" href="main.css"> +</head> + +<body> +<h1>gohanwoageruyooooooo!!!</h1> +<p> +%sさん<br> +exp:%d<br> +pt:%d<br> +%s + +</p> +<p>%s</p> +</body> +</html> + +_EOS_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/index.html Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,44 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>2015オアシス酒田祭</title> +<link rel="stylesheet" type="text/css" href="main.css"> +</head> + +<body> +<h1>2015オアシス酒田祭</h1> +<p>入力してね</p> + +<form method="POST" action="./accountcheck.rb"> +<p>名前:<input name="name" type="text">(ニックネーム)</p> +<p>性別:<select name="sex"> + <option value="B">男 + <option value="G">女 + </select></p> +<p>年代:<select name="age"> + <option>10代以下 + <option>20代 + <option>30代 + <option>40代 + <option>50代 + <option>60代以上 + </select></p> +<p>出身地:<select name="aria"> + <option>酒田市内 + <option>山形県内 + <option>県外 + </select></p> +<p>キャラ:<select name="cal"> + <option value="snail">なめくじ + <option value="sisip">シシップ + <option value="kamon">カモン + <option value="boy">男の子 + <option value="girl">女の子 + </select></p> +<p>(好きなキャラを選んでください)</p> +<input type="submit" value="OK"><br> +<img src="account.png" width="幅" height="画像の高さ" alt=""> +</form> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/magic.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +def magic() + srand(123456789) + hoge = Array.new + while hoge.length < 100 + hoge << rand(1000000) + hoge.uniq! + end + return hoge +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/main.css Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,8 @@ +body{ +text-align:center; +border-style:dashed; +border-color:#000; +color:#000; +} + +a{margin:-2px;}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/main2.css Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,15 @@ +##headのstyleのなかに既述しないと、%sなどの情報が受け取れない。prof.rb用。 + + +h2 { +text-align:left;xs +color: #f00; +font-size: 15px; +padding: 5px 20px 5px 5px; +font-family: Consolas, 'Courier New', 'Bitstream Vera Sans Mono', Courier, monospace; +margin: 2%s %d%s 2%s 20%s; +border-left: 2px solid #fcc; +border-bottom: 2px solid #fcc; +text-shadow: #66f 2px 5px 5px; +background:url("./img/lvb.png"); + }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/prof.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,154 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +require 'cgi' +require 'sqlite3' +require 'kconv' +c = CGI.new(:tag_maker => "html5", :accept_charest => "UTF-8") +db = SQLite3::Database.new("sql/main.sq3") + +id = c.cookies["id"][0] +person = id.to_i +data = "select * from test where id = ?" #idが?(後で代入)のデータをtest票から探す。という命令をdataにしくむ。全てがほしい場合は「*」。「*」を「name」に変えると該当データのnameだけとりだす。 +cook = db.execute(data, person) #dataに仕組んでいた命令を、personを代入しつつ実行。 +jikan1 = "select * from time where cd = ?" +timeupd = "update time set now = ?, id = ? where cd = ?" + +# id = cook[0][0] + name = cook[0][1] + cal = cook[0][2] + age = cook[0][3] + sex = cook[0][4] + aria = cook[0][5] + exp = cook[0][6] + pt = cook[0][7] + lv = cook[0][8] + + +per ="%" + +##################ptを獲得した際の反応。#################### +#########前の人が書き込んだ時間と比べて60秒以内なら追加ポイント#### + +bom = c["bom"] +if bom == "skip" +jikan2 = db.execute(jikan1, "a") +now1 = jikan2[0][1] +nowper = jikan2[0][2] +now2 = Time.now.to_i +db.execute(timeupd, now2, person, "a") + if person == nowper + elsif now1 == nil + elsif now2-now1 < 60 + pt += 2 + end + pt += 10 + bomd = "update test set pt = ? where id = ?" + db.execute(bomd, pt, person) +end + +if cal == "snail" +image = "./img/snail.png" +elsif cal == "sisip" +image = "./img/sisip.png" +elsif cal == "kamon" +image = "./img/kamon.png" +elsif cal == "boy" +image = "./img/boy.png" +elsif cal == "girl" +image = "./img/girl.png" +else +image = "./image/none.png" +end + + + + + +#さかたぽいんと +gage = 50 #styleのmargin部分。50でちょうど中央。「経験値/必要経験値=いま何パー」のかたちで出力。 +#24/24 = 1 =20 +#22 = 0.916=25 +#20 = 0.833=30 +#18/24 = 0.75 =35 +#16 = 0.666=40 +#14 = 0.583=45 +#12/24 = 0.5 =50 +#10 = 0.416=55 +# 8 = 0.333=60 +# 6/24 = 0.25 =65 +# 4 = 0.166=70 +# 2 = 0.083=75 +# 0/24 = 0 =80 +#marginのleftが20パーであることに留意。(gageがレフトに揃うと(この場合20)で見た感じゲージMAXになる)20~80(79)の値を変動 + + +#以下のprintfについて +#pre*4はstyleの部分、<h2>{margin(本来OS_,per,gage,per,per,per,name...) +printf(<<_EOS_, name, lv, exp, pt, image, cal) + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>さかたっち</title> +<style type="text/css"> +</style> +<link rel="stylesheet" type="text/css" href="profeel.css"> +</head> +<body> + +<h1>さかたっち~酒田の自然に囲まれて~</h1> + +<p>NAME:%s</p> + +<form method="POST" action="prof.rb"> +<input type="text" name="bom"> +<input type="submit"> +</form> + +<form method="POST" action="gohan.rb"> +<input type="checkbox" name="hdn">ごはん!<span><br> +<input type="radio" name="gohan" value="g1">たまごのから:1pt<img src="./img/tamago.png" + width="32" height="32"><br> +<input type="radio" name="gohan" value="g2">きゃべつ:3pt<img src="./img/cabage.png" width="32"height="32"><br> +<input type="text" name="gohan" value="ひみつ の こたえ を いれてね!"><br> +<input type="reset" value="とりけし"> +<input type="submit" value="こうかんする!"></span> +</form> +<form method="POST" action="gets.rb"> +<input type="checkbox" name="hdn">しょうひん!<span><br> +<input type="radio" name="sho" value="s1">おちゃ:3pt<br> +<input type="radio" name="sho" value="s2">おんせんのもと:10pt<br> +<input type="radio" name="sho" value="s3">せんたくせんざい:20pt<br> +<input type="reset" value="とりけし"> +<input type="submit" value="こうかんする!"></span><br> + +</span><br> +</form> + +<table style="border: 0px solid; border-collapse: collapse; margin-left: + auto; margin-right: auto;"> +<tr><td>lv</td><td>:%d</td></tr> +<tr><td>exp</td><td>:%d</td></tr> +<tr><td>pt</td><td>:%d</td></tr> +</table> +<h2>lv1</h2> + +<p><img src=%s alt=%s width="200" height="200"></p> + +<address>skip@xxxx.co.jp</address> +</body> +</html> + +_EOS_ + +#<p><a href="gohan.rb" name="trade1"><img src="./img/gohan.png" +#alt="trade1" width="100"height="60"></a> +#<a href="gets.rb" name="trade2"><img src="./img/gets.png" alt="trade2" width="100" height="60"></a> +#</p> + +#<address>skip@xxxx.co.jp</address> +#</body> +#</html> + +#_EOS_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/profeel.css Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,2 @@ +input[type="checkbox"][name="hdn"] + span {display: none;} +input[type="checkbox"][name="hdn"]:checked + span {display: inline;}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/oasis2015/test.rb Tue Jun 30 19:01:49 2015 +0900 @@ -0,0 +1,71 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +require 'cgi' +require 'sqlite3' +require './magic.rb' + +c = CGI.new(:accept_charset => "UTF-8") +db = SQLite3::Database.new("./sql/stamp.sq3") + +begin + result = db.execute("select * from main;") + max = "select max(id) from main;" +rescue + db.execute("create table main(id INTEGER PRIMARY KEY AUTOINCREMENT,name,sex,age,aria,cal,stamp_status,stamp_img,exp INTEGER,rank INTEGER,magic)"); + db.execute("insert into main(name,sex,age,aria,cal,stamp_status,stamp_img,exp,rank,magic) values('名前','性別','年代','住所','職業','スタンプ状況','スタンプ画像','レベル','当選順位','本人確認用')"); + result = db.execute("select * from main;") + max = "select max(id) from main;" +end + +id = c.cookies["id"][0] +c_magic = c.cookies["magic"][0] +name = c["name"] +cal = c["cal"] +age = c["age"] +sex = c["sex"] +aria = c["aria"] + +begin +sel = 'select * from main where id=? AND magic=?' +h = db.execute(sel, id.to_i, c_magic.to_i) +rescue +h == [] +end + +if id != nil && h != [] +update = 'update main set name=?, cal=?, age=?, sex=?, aria=? where id=? and magic=?' +mg = c_magic +db.execute(update, name, cal, age, sex, aria, id.to_i, mg.to_i) +else +code = magic() +id = db.execute(max).flatten(2)[0].to_i + 1 +mg = code[id] +sql = "insert into main(name,sex,age,aria,cal,stamp_status,stamp_img,exp,rank,magic) values (?,?,?,?,?,?,?,?,?,?);" +db.execute(sql,name,sex,age,aria,cal,'000010000','n,n,n,n,kamo1,n,n,n,n',0,0,mg); #初期値 +end + +expires = "SAT, 26 Oct 2015 00:00:00 GMT" + + +printf(<<_EOS_,id, expires, mg.to_s, expires) +Content-type: text/html; charset=UTF-8 +Set-Cookie:id=%s ;expires=%s +Set-Cookie:magic=%s;expires=%s + +<html> +<head> +<title>#{id}</title> +<link rel="stylesheet" type="text/css" href="../cssrubyII.css"> +</head> +<body> +<p> +・#{name}<br>・#{cal}<br>・#{age}<br>・#{sex}<br>・#{aria}<br>・#{id} +</p> + +<p> +tukaretanaaaa、#{name} +</p> +</body> +</html> +_EOS_