#!/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=[] 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] elsif result[1] == "2" case2 = result zahyo[a] << case2[2].to_i elsif result[1] == "3" case3 = result zahyo[a] << case3[2].to_i end # p zahyo 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][l]]] 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][n]]] 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][q]]] 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"</style>\n" print"<body>\n" print"<h1>#{han}班の結果</h1>\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"</body>\n" print"</html>\n"