Mercurial > hgrepos > hgweb.cgi > skipweb
comparison event/oasis2017/ikusei/kayaku4.rb @ 3333:984378a72e95
gazou add
author | OOTANI Hiroyuki <c115036@g.koeki-u.ac.jp> |
---|---|
date | Fri, 21 Jul 2017 14:23:56 +0900 |
parents | |
children | 66800997eb47 |
comparison
equal
deleted
inserted
replaced
3331:6d29a6d6eab2 | 3333:984378a72e95 |
---|---|
1 #!/usr/bin/env ruby | |
2 # -*- coding: utf-8 -*- | |
3 Encoding.default_internal = "UTF-8" | |
4 Encoding.default_external = "UTF-8" | |
5 | |
6 require 'cgi' | |
7 require 'csv' | |
8 | |
9 c = CGI.new(:accept_charset => "UTF-8") | |
10 print "Content-type: text/html; charset=UTF-8\n\n" | |
11 | |
12 number = c["rd"] | |
13 img = c["img"] | |
14 | |
15 x = Hash.new | |
16 CSV.foreach("ikusei.csv") do |row| | |
17 q_number = row.shift | |
18 question = row.shift | |
19 x[q_number] = [question, Hash[*row]] | |
20 ##x[number] = {"Q" => question, "A" => Hash[*row]} | |
21 end | |
22 #p x | |
23 #encoding:"SJIS:UTF-8" | |
24 | |
25 gazou1="04.png"#1ページ目の画像 | |
26 link1 ="04.png"#1ページ目のリンク画像 | |
27 alt1 ="kona"#1ページ目のalt画像 | |
28 gazou2="05.png"#2ページ目の画像 | |
29 link2 ="05.png"#2ページ目のリンク画像 | |
30 alt2 ="kayaku"#2ページ目のalt画像 | |
31 gazou3="06.png"#3ページ目の画像 | |
32 link3 ="06.png"#3ページ目のリンク画像 | |
33 alt3 ="hanabi"#3ページ目のalt画像 | |
34 ongaku1="hanabi1.mp3" | |
35 ongaku2="hanabi2.mp3" | |
36 ongaku3="hanabi3.mp3" | |
37 ongaku4="hanabi.ogg" | |
38 | |
39 | |
40 def outinput(value, name) | |
41 printf("<label><input type=\"radio\" name=\"rd\" value=\"%s\">%s</label>", value, name) | |
42 end | |
43 | |
44 def imgsrc(img) | |
45 printf("<img src=\"%s\">", img) | |
46 end | |
47 | |
48 if number == "" #初回起動時のみ | |
49 number = "1" #numberに"1"を代入 | |
50 end | |
51 | |
52 | |
53 print"<html><head><title>花火</title></head><body>\n" | |
54 | |
55 print"<form method=\"POST\" action=\"./kayaku4.rb\">\n" | |
56 | |
57 q = x[number] | |
58 | |
59 #ifで場合分け初めてその問題に行く、正解、不正解1、不正解2,の4通り | |
60 | |
61 if number == "1" || number == "5" || number == "9" #初めて挑戦 | |
62 printf("<p>%s</p>", q[0]) | |
63 if number == "1" | |
64 | |
65 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link1,gazou1,alt1) | |
66 | |
67 elsif number == "5" | |
68 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link2,gazou2,alt2) | |
69 elsif number == "9" | |
70 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link3,gazou3,alt3) | |
71 end | |
72 for v, sel in q[1] | |
73 outinput(v, sel) | |
74 end | |
75 print"<input name=\"ok\" type=\"submit\" value=\"送信\">\n" | |
76 print"<input name=\"ng\" type=\"reset\" value=\"リセット\">\n" | |
77 | |
78 elsif number == "3" || number == "8" || number == "10" #正解 | |
79 printf("%s", q[0]) | |
80 #printf("%s", q[1]) | |
81 if number == "3" | |
82 print("<p>") | |
83 printf("<audio controls autoplay loop false preload=\"auto\"><source src=\"%s\"></audio>",ongaku1) | |
84 print("<\p>") | |
85 | |
86 printf("<label><input type=\"radio\" name=\"rd\" value=\"5\">次へ進もう<br></label>") | |
87 # printf("<input type=\"submit\" value=\"次へ\">") | |
88 | |
89 elsif number =="8" | |
90 print("<p>") | |
91 | |
92 printf("<audio controls autoplay loop false preload=\"auto\"><source src=\"%s\"></audio>",ongaku2) | |
93 print("</p>") | |
94 printf("<label><input type=\"radio\" name=\"rd\" value=\"9\">次へ進もう<br></label>") | |
95 | |
96 | |
97 | |
98 elsif number == "10" | |
99 print("<p>") | |
100 | |
101 printf("<audio controls autoplay loop false preload=\"auto\"><source src=\"%s\"></audio>",ongaku3) | |
102 print("<\p>") | |
103 printf("<label><input type=\"radio\" name=\"rd\" value=\"13\">次へ進もう<br></label>") | |
104 end | |
105 printf("<input type=\"submit\" value=\"次へ\">") | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 elsif number == "2" || number == "6" || number == "11" #不正解1 | |
113 print("<h1>残念!もう一度挑戦だーー</h1>") | |
114 printf("<p>%s</p>", q[0]) | |
115 if number == "2" | |
116 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link1,gazou1,alt1) | |
117 elsif number == "6" | |
118 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link2,gazou2,alt2) | |
119 elsif number == "11" | |
120 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link3,gazou3,alt3) | |
121 end | |
122 for v, sel in q[1] | |
123 outinput(v, sel) | |
124 end | |
125 print"<input name=\"ok\" type=\"submit\" value=\"送信\">\n" | |
126 print"<input name=\"ng\" type=\"reset\" value=\"リセット\">\n" | |
127 | |
128 | |
129 | |
130 elsif number == "4" || number == "7" || number == "12" #不正解2 | |
131 print("<h1>惜しい!もう一度やってみよーー</h1>") | |
132 printf("<p>%s</p>", q[0]) | |
133 if number == "4" | |
134 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link1,gazou1,alt1) | |
135 elsif number == "7" | |
136 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"500px\"></a></p>",link2,gazou2,alt2) | |
137 elsif number == "12" | |
138 printf("<p><a href=\"%s\"><img src=\"%s\" alt=\"%s\" height=\"300px\" width=\"300px\"></a></p>",link3,gazou3,alt3) | |
139 end | |
140 for v, sel in q[1] | |
141 outinput(v, sel) | |
142 end | |
143 print"<input name=\"ok\" type=\"submit\" value=\"送信\">\n" | |
144 print"<input name=\"ng\" type=\"reset\" value=\"リセット\">\n" | |
145 | |
146 elsif number == "13" | |
147 print("<p>音楽の融合</p>\n") | |
148 printf("<audio controls autoplay loop false preload=\"auto\"><source src=\"%s\"></audio>\n",ongaku4) | |
149 printf("<p><a href=\"http://roy.e.koeki-u.ac.jp/~c115036/ikusei2017/ikusei.html\">topページに戻る</a></p>\n") | |
150 end | |
151 | |
152 print"</form>\n" | |
153 print "</body>\n" | |
154 print "</html>\n" |