#!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'cgi' c = CGI.new(:accept_charset => "UTF-8") print "Content-type: text/html; charset=UTF-8\n\n" #<input type="text" name="answer" maxlength="40" <br> nendo=c["nendo"] gakkou=c["gakkou"] gakunen=c["gakunen"] kurasu=c["kurasu"] han=c["han"] i=c["i"].to_i name=c["name"] var1=c["tenshi"] var2=c["go"] time=c["time"] open("tenshi.csv","a:utf-8") do |tenshi| tenshi.printf("%d,%s,%s,%s,%d,%s,%d,%d,%d,%d\n",time,name,var1,var2,nendo,gakkou,gakunen,kurasu,han,i) end i==0 kekka=Hash.new require'csv' date=CSV.read("tenshi.csv", :headers=>false, encoding: 'utf-8') date.each do |row| if row[4]==nendo&&row[5]==gakkou&&row[6]==gakunen&&row[7]==kurasu&&row[8]==han if kekka.key?(row[1]) == false #その人のデータがまだ代入されていなければ kekka[row[1]]=Array.new #valueを配列にする end kekka[row[1]]<<[row[0],row[9],row[2],row[3]] #<<で配列の末尾に右辺を追加 i+=1 end end #p kekka a=0 zahyo=[] wait=[] for hoge,akumado in kekka a+=1 # p hoge,akumado for result in akumado if result[1] == "1" case1 = result zahyo[a]=[hoge,case1[2].to_i] wait[a]=[hoge,case1[3]] elsif result[1] == "2" case2 = result zahyo[a] << case2[2].to_i wait[a] << case2[3] elsif result[1] == "3" case3 = result zahyo[a] << case3[2].to_i wait[a] << case3[3] end # p zahyo #p wait end # printf("<p>%sさんの結果 1回目:悪魔・天使度 %d GO&STOP %s</p>\n",hoge,case1[2],case1[3]) # printf("<p>%sさんの結果 2回目:悪魔・天使度 %d GO&STOP %s</p>\n",hoge,case2[2],case2[3]) # printf("<p>%sさんの結果 3回目:悪魔・天使度 %d GO&STOP %s</p>\n",hoge,case3[2],case3[3]) end #p zahyo zishaku_y = [0,25,80,135,190,245,300,355,410,465] zishaku_x = [50,80,110,140,170,200,230] #p zishaku_x[0] #p zishaku_y[zahyo[1][1]] mag1 = [] #問1用 mag2 = [] #問2用 mag3 = [] #問3用 k = 1 l = 0 while k < zahyo.length #p zahyo[k].length if zahyo[k].length == 4 mag1[l] = [zahyo[k][0],zishaku_x[l],zishaku_y[zahyo[k][1]]] l += 1 else if k==1 zishaku1="" elsif k==2 zishaku2="" elsif k==3 zishaku3="" elsif k==4 zishaku4="" elsif k==5 zishaku5="" elsif k==6 zishaku6="" end end k += 1 end #p mag1 m = 1 n = 0 while m < zahyo.length #p zahyo[m].length if zahyo[m].length == 4 mag2[n] = [zahyo[m][0],zishaku_x[n],zishaku_y[zahyo[m][2]]] n += 1 else if m ==1 zishaku1="" elsif m==2 zishaku2="" elsif m==3 zishaku3="" elsif m==4 zishaku4="" elsif m==5 zishaku5="" elsif m==6 zishaku6="" end end m+=1 end #p mag2 o = 1 q = 0 while o < zahyo.length #p zahyo[o].length if zahyo[o].length == 4 mag3[q] = [zahyo[o][0],zishaku_x[q],zishaku_y[zahyo[o][3]]] q += 1 else if o ==1 zishaku1="" elsif o==2 zishaku2="" elsif o==3 zishaku3="" elsif o==4 zishaku4="" elsif o==5 zishaku5="" elsif o==6 zishaku6="" end end o+=1 end #p mag3 num=mag1.length if num==1 zishaku1="zishaku.red.png" elsif num==2 zishaku1="zishaku.red.png" zishaku2="zishaku.blue.png" elsif num==3 zishaku1="zishaku.red.png" zishaku2="zishaku.blue.png" zishaku3="zishaku.green.png" elsif num==4 zishaku1="zishaku.red.png" zishaku2="zishaku.blue.png" zishaku3="zishaku.green.png" zishaku4="zishaku.purple.png" elsif num==5 zishaku1="zishaku.red.png" zishaku2="zishaku.blue.png" zishaku3="zishaku.green.png" zishaku4="zishaku.purple.png" zishaku5="zishaku.lightblue.png" elsif num==6 zishaku1="zishaku.red.png" zishaku2="zishaku.blue.png" zishaku3="zishaku.green.png" zishaku4="zishaku.purple.png" zishaku5="zishaku.lightblue.png" zishaku6="zishak.yello.png" end print"<html><head><title>結果</title></head><body>\n" print"<style>\n" print"body {padding: 10px; color: #; background-image: url(back.jpg)}\n" print"h1{color: #cc33ff; padding:10px; border: 0px solid#000000; background-color:#99ffff} address {text-align: right}\n" print"h2{color: #cc33ff; padding:5px; border: 0px solid#000000; background-color:#99ffff} address {text-align: right}\n" print"h3{color: #cc33ff; padding:3px; border: 0px solid#000000; background-color:#99ffff} address {text-align: right}\n" print"p{color: #cc33ff; padding:0px; border: 0px solid#000000; margin-top:33px} address {text-align: right}\n" print".blue{background-color:#99ffff; border:1px solid #000000; width:220;height:530 ; padding-left:10px; float:left; margin-right:60px; background-image: url(#{zishaku1}), url(#{zishaku2}), url(#{zishaku3}), url(#{zishaku4}), url(#{zishaku5}), url(#{zishaku6}), url(secondzu.red.png); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:\n" if l==1 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if l==2 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"#{mag1[1][1]}px #{mag1[1][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if l==3 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"#{mag1[1][1]}px #{mag1[1][2]}px,\n" print"#{mag1[2][1]}px #{mag1[2][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if l==4 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"#{mag1[1][1]}px #{mag1[1][2]}px,\n" print"#{mag1[2][1]}px #{mag1[2][2]}px,\n" print"#{mag1[3][1]}px #{mag1[3][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" end if l==5 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"#{mag1[1][1]}px #{mag1[1][2]}px,\n" print"#{mag1[2][1]}px #{mag1[2][2]}px,\n" print"#{mag1[3][1]}px #{mag1[3][2]}px,\n" print"#{mag1[4][1]}px #{mag1[4][2]}px,\n" print"0px 0px,\n" end if l==6 print"#{mag1[0][1]}px #{mag1[0][2]}px,\n" print"#{mag1[1][1]}px #{mag1[1][2]}px,\n" print"#{mag1[2][1]}px #{mag1[2][2]}px,\n" print"#{mag1[3][1]}px #{mag1[3][2]}px,\n" print"#{mag1[4][1]}px #{mag1[4][2]}px,\n" print"#{mag1[5][1]}px #{mag1[5][2]}px,\n" end print"20px 10px}\n" print".red {background-color:#99ffff; border:1px solid #000000; width:220;height:530 ; padding-left:10px; float: left; margin-right:60px; background-image: url(#{zishaku1}), url(#{zishaku2}), url(#{zishaku3}), url(#{zishaku4}), url(#{zishaku5}), url(#{zishaku6}), url(secondzu.green.png); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:\n" if n==1 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if n==2 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"#{mag2[1][1]}px #{mag2[1][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if n==3 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"#{mag2[1][1]}px #{mag2[1][2]}px,\n" print"#{mag2[2][1]}px #{mag2[2][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if n==4 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"#{mag2[1][1]}px #{mag2[1][2]}px,\n" print"#{mag2[2][1]}px #{mag2[2][2]}px,\n" print"#{mag2[3][1]}px #{mag2[3][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" end if n==5 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"#{mag2[1][1]}px #{mag2[1][2]}px,\n" print"#{mag2[2][1]}px #{mag2[2][2]}px,\n" print"#{mag2[3][1]}px #{mag2[3][2]}px,\n" print"#{mag2[4][1]}px #{mag2[4][2]}px,\n" print"0px 0px,\n" end if n==6 print"#{mag2[0][1]}px #{mag2[0][2]}px,\n" print"#{mag2[1][1]}px #{mag2[1][2]}px,\n" print"#{mag2[2][1]}px #{mag2[2][2]}px,\n" print"#{mag2[3][1]}px #{mag2[3][2]}px,\n" print"#{mag2[4][1]}px #{mag2[4][2]}px,\n" print"#{mag2[5][1]}px #{mag2[5][2]}px,\n" end print"20px 10px}\n" print".green {background-color:#99ffff; border:1px solid #000000; width:220;height:530 ; padding-left:10px; float: left; margin-right:60px; background-image: url(#{zishaku1}), url(#{zishaku2}), url(#{zishaku3}), url(#{zishaku4}), url(#{zishaku5}), url(#{zishaku6}), url(secondzu.yello.png); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:\n" if q==1 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if q==2 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"#{mag3[1][1]}px #{mag3[1][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if q==3 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"#{mag3[1][1]}px #{mag3[1][2]}px,\n" print"#{mag3[2][1]}px #{mag3[2][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" print"0px 0px,\n" end if q==4 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"#{mag3[1][1]}px #{mag3[1][2]}px,\n" print"#{mag3[2][1]}px #{mag3[2][2]}px,\n" print"#{mag3[3][1]}px #{mag3[3][2]}px,\n" print"0px 0px,\n" print"0px 0px,\n" end if q==5 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"#{mag3[1][1]}px #{mag3[1][2]}px,\n" print"#{mag3[2][1]}px #{mag3[2][2]}px,\n" print"#{mag3[3][1]}px #{mag3[3][2]}px,\n" print"#{mag3[4][1]}px #{mag3[4][2]}px,\n" print"0px 0px,\n" end if q==6 print"#{mag3[0][1]}px #{mag3[0][2]}px,\n" print"#{mag3[1][1]}px #{mag3[1][2]}px,\n" print"#{mag3[2][1]}px #{mag3[2][2]}px,\n" print"#{mag3[3][1]}px #{mag3[3][2]}px,\n" print"#{mag3[4][1]}px #{mag3[4][2]}px,\n" print"#{mag3[5][1]}px #{mag3[5][2]}px,\n" end print"20px 10px}\n" print".redgo{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float: left; margin-right:60px; margin-top: 10px;\n" wait.shift #1回だけ magname = [ "zishaku.red.png", "zishaku.blue.png", "zishaku.green.png", "zishaku.purple.png", "zishaku.lightblue.png", "zishak.yello.png" ] #1回だけ j= 0 mag1go = ["","","","","",""] for i in wait if i.length == 4 if i[1] == "Go!" mag1go[j] = magname[j] end j += 1 end end #p mag1go print" background-image: url(#{mag1go[0]}), url(#{mag1go[1]}), url(#{mag1go[2]}), url(#{mag1go[3]}),3 url(#{mag1go[4]}), url(#{mag1go[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".bluego{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float : left; margin-right:60px; margin-top: 10px;\n" j= 0 mag2go = ["","","","","",""] for i in wait if i.length == 4 if i[2] == "Go!" mag2go[j] = magname[j] end j += 1 end end #p mag2go print" background-image: url(#{mag2go[0]}), url(#{mag2go[1]}), url(#{mag2go[2]}), url(#{mag2go[3]}), url(#{mag2go[4]}), url(#{mag2go[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".greengo{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float :left; margin-right:60px; margin-top: 10px;\n" j= 0 mag3go = ["","","","","",""] for i in wait if i.length == 4 if i[3] == "Go!" mag3go[j] = magname[j] end j += 1 end end #p mag3go print" background-image: url(#{mag3go[0]}), url(#{mag3go[1]}), url(#{mag3go[2]}), url(#{mag3go[3]}), url(#{mag3go[4]}), url(#{mag3go[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".redwait{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float: left; margin-right:60px; margin-top: 10px;\n" j= 0 mag1stop = ["","","","","",""] for i in wait if i.length == 4 if i[1] == "Stop!" mag1stop[j] = magname[j] end j += 1 end end #p mag1stop print" background-image: url(#{mag1stop[0]}), url(#{mag1stop[1]}), url(#{mag1stop[2]}), url(#{mag1stop[3]}), url(#{mag1stop[4]}), url(#{mag1stop[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".bluewait{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float : left; margin-right:60px; margin-top: 10px;\n" j= 0 mag2stop = ["","","","","",""] for i in wait if i.length == 4 if i[2] == "Stop!" mag2stop[j] = magname[j] end j += 1 end end #p mag2stop print" background-image: url(#{mag2stop[0]}), url(#{mag2stop[1]}), url(#{mag2stop[2]}), url(#{mag2stop[3]}), url(#{mag2stop[4]}), url(#{mag2stop[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".greenwait{background-color:#99ffff; border:1px solid #000000; width:225;height:100 ; padding-left:5px; float :left; margin-right:60px; margin-top: 10px;\n" j= 0 mag3stop = ["","","","","",""] for i in wait if i.length == 4 if i[3] == "Stop!" mag3stop[j] = magname[j] end j += 1 end end #p mag3stop print" background-image: url(#{mag3stop[0]}), url(#{mag3stop[1]}), url(#{mag3stop[2]}), url(#{mag3stop[3]}), url(#{mag3stop[4]}), url(#{mag3stop[5]}); background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat; background-position:50px 10px, 80px 10px,110px 10px, 140px 10px,170px 10px,200px 10px; }\n" print".q1title{ font-size:x-large; color: #000000 font-weight:bold; float :left; width:225; padding-left:5px; margin-right:60px; text-align:center; }\n" print".q2title{ font-size:x-large; color: #000000 font-weight:bold; float :left; width:225; padding-left:5px; margin-right:60px; text-align:center; }\n" print".q3title{ font-size:x-large; color: #000000 font-weight:bold; float :left; width:225; padding-left:5px; margin-right:60px; text-align:center; }\n" print"</style>\n" print"<body>\n" print"<h1>#{han}班の結果</h1>\n" print"<div class=\"q1title\">\n" print"<p>信号の変わり目</p>\n" print"</div>\n" print"<div class=\"q2title\">\n" print"<p>友達といっしょ</p>\n" print"</div>\n" print"<div class=\"q3title\">\n" print"<p>時間がない</p>\n" print"</div>\n" print"<div class=\"name\">\n" num=mag1.length if num==1 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" elsif num==2 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" print"<p><img src=\"zishaku.blue.png\">:#{mag1[1][0]}さん</p>\n" elsif num==3 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" print"<p><img src=\"zishaku.blue.png\">:#{mag1[1][0]}さん</p>\n" print"<p><img src=\"zishaku.green.png\">:#{mag1[2][0]}さん</p>\n" elsif num==4 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" print"<p><img src=\"zishaku.blue.png\">:#{mag1[1[0]}さん</p>\n" print"<p><img src=\"zishaku.green.png\">:#{mag1[2][0]}さん</p>\n" print"<p><img src=\"zishaku.purple.png\">:#{mag1[3][0]}さん</p>\n" elsif num==5 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" print"<p><img src=\"zishaku.blue.png\">:#{mag1[1][0]}さん</p>\n" print"<p><img src=\"zishaku.green.png\">:#{mag1[2][0]}さん</p>\n" print"<p><img src=\"zishaku.purple.png\">:#{mag1[3][0]}さん</p>\n" print"<p><img src=\"zishaku.lightblue.png\">:#{mag1[4][0]}さん</p>\n" elsif num==6 print"<p><img src=\"zishaku.red.png\">:#{mag1[0][0]}さん</p>\n" print"<p><img src=\"zishaku.blue.png\">:#{mag1[1][0]}さん</p>\n" print"<p><img src=\"zishaku.green.png\">:#{mag1[2][0]}さん</p>\n" print"<p><img src=\"zishaku.purple.png\">:#{mag1[3][0]}さん</p>\n" print"<p><img src=\"zishaku.lightblue.png\">:#{mag1[4][0]}さん</p>\n" print"<p><img src=\"zishaku.yello.png\">:#{mag1[5][0]}さん</p>\n" end print"</div>\n" print"<br style=\"clear:both\">\n" print"<div class=\"blue\">\n" print"<p>1</p>\n" print"<p>2</p>\n" print"<p>3</p>\n" print"<p>4</p>\n" print"<p>5</p>\n" print"<p>6</p>\n" print"<p>7</p>\n" print"<p>8</p>\n" print"<p>9</p>\n" print"</div>\n" print"<div class=\"red\">\n" print"<p>1</p>\n" print"<p>2</p>\n" print"<p>3</p>\n" print"<p>4</p>\n" print"<p>5</p>\n" print"<p>6</p>\n" print"<p>7</p>\n" print"<p>8</p>\n" print"<p>9</p>\n" print"</div>\n" print"<div class=\"green\">\n" print"<p>1</p>\n" print"<p>2</p>\n" print"<p>3</p>\n" print"<p>4</p>\n" print"<p>5</p>\n" print"<p>6</p>\n" print"<p>7</p>\n" print"<p>8</p>\n" print"<p>9</p>\n" print"</div>\n" print"<br style=\"clear:both\">\n" print"<div class=\"redgo\">\n" print"<p>GO!</p>\n" print"</div>\n" print"<div class=\"bluego\">\n" print"<p>GO!</p>\n" print"</div>\n" print"<div class=\"greengo\">\n" print"<p>GO!</p>\n" print"</div>\n" print"<br style=\"clear:both\">\n" print"<div class=\"redwait\">\n" print"<p>Stop!</p>\n" print"</div>\n" print"<div class=\"bluewait\">\n" print"<p>Stop!</p>\n" print"</div>\n" print"<div class=\"greenwait\">\n" print"<p>Stop!</p>\n" print"</div>\n" print"</body>\n" print"</html>\n"