- 追加された行はこの色です。
- 削除された行はこの色です。
[[Perl]]
***2進数を利用して、年齢当てをするスクリプト [#qf0136b6]
-ある居酒屋の年齢当て
--http://nlp.kimura-s.otaru-uc.ac.jp/InformationProcessing/HowOldAreYou.cgi
#!/usr/bin/perl
use CGI;
my $charset="utf-8";
my $title="小樽商科大学";
my $myself = './HowOldAreYou.cgi';#<------------------修正
my $q = new CGI;
print $q->header(-charset=>$charset);
print $q->start_html(-title=>$title, -encoding=>$charset);
#print $q->h1('あなたのイメージした数字を当てます。');
print $q->h2('ある居酒屋で・・・');
print $q->h2('ある居酒屋で・・・');
print $q->h3("<a href=\"$myself\">最初から始める。</a><br>");
#入力単語
#質問数
$Bit = "";
for($i=1;$i<=6;$i++){
$Qnum = "Q" . $i;
if($q->param($Qnum)){
$value = $q->param($Qnum);
print "Q$i $value<br>\n";
$Bit .= $value;
$Hidden .= qq|<input type="hidden" name="Q$i" value="$value">\n|;
}
else{
$num = $i;
last;
}
}
#
if($q->param("Q6")){
$Bit =~ s/ある/1/g;
$Bit =~ s/ない/0/g;
$Bit = reverse $Bit;
my $dec = oct "0b" . $Bit;
print "<br>あなたのイメージした数字は<font color=red>" . $dec, "</font>です。<br>"; # 1000
}
else{
#数字
$Qnum = "Q" . $num;
print $q->start_form(-method => 'POST', -action => $myself);
print $Hidden;
print qq|イメージした数字はありますか?<br>\n|;
print qq|<img src="page$num.png"><br>\n|;
print qq|<input type="radio" name="$Qnum" value="ある">ある|;
print qq|<input type="radio" name="$Qnum" value="ない">ない<br>|;
print qq|<input type="submit" value="送信">|;
#print qq|<input type="reset" value="リセット">|;
print $q->end_form();
}
print $q->end_html();