JavaScript練習2
バイオリズムを作る
以下ソース
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>生まれてからの日数</title>
</head>
<script type="text/javascript" src="glibkv3.js"></script>
<script type="text/javascript">
<!--
var y1;
var m1;
var d1;
var y2;
var m2;
var d2;
var mm;
var ikni=0;
function func1() {
document.F1.T1.value ="1955";
document.F1.T2.value ="8";
document.F1.T3.value ="6";
dd = new Date();
y3 = dd.getYear();
m3 = dd.getMonth() + 1;
d3 = dd.getDate();
if (y2 < 2000) { y2 += 1900; }
if (m2 < 10) { m2 = "0" + mm; }
if (d2 < 10) { d2 = "0" + dd; }
//document.write(yy + "/" + mm + "/" + dd);
document.F1.T4.value =y3;
document.F1.T5.value =m3;
document.F1.T6.value =d3;
}
function func2() {
y1 = parseFloat(document.F1.T1.value);
m1 = parseFloat(document.F1.T2.value);
d1 = parseFloat(document.F1.T3.value);
y2 = parseFloat(document.F1.T4.value);
m2 = parseFloat(document.F1.T5.value);
d2 = parseFloat(document.F1.T6.value);
mm = parseFloat(document.F1.T7.value);
var kday1;
var kday2;
var kday3;
//1年1月1日から M月1日までの日数
kday1=( 365 * (y1 - 1))+((y1 >> 2) -( y1/100) + ((y1/100) >> 2))+ ((m1 * 979 - 1033) >> 5)+d1-1;
kday2=( 365 * (y2 - 1))+((y2 >> 2) -( y2/100) + ((y2/100) >> 2))+ ((m2 * 979 - 1033) >> 5)+d2-1;
kday3=( 365 * (y2 - 1))+((y2 >> 2) -( y2/100) + ((y2/100) >> 2))+ ((m2 * 979 - 1033) >> 5)+1-1;
ikni=Math.floor(kday3-kday1);
document.F1.T7.value =Math.floor(kday2-kday1);
}
function graphic1(gm) {
gopen("lightcyan",680,400,"私のバイオリズム",gm); //背景色:lightcyan, サイズ:400×400, タイトル:グラフの例, 表示方法:-2(現在位置)
// xyinit(200,200,0,0,0,0); //基準点は(x,y)=(200,200)
xyinit(20,200,0,0,0,0); //基準点は(x,y)=(200,200)
goffset(0,0,0); //基準のオフセットは(x,y,z)=(0,0,0)
gscale(5,10,1); //各軸の感度は(x,y,z)=(1,1,1)
xscale("BLACK",31,"日付",5); xscale("BLACK",0,""); //X軸表示
yscale("BLACK",15,"レベル",5); yscale("BLACK",-15,"",-5); //Y軸表示
gplot(-1); //gplot()の初期化
var pai=Math.PI;
for(x=0;x<=31;x+=0.5){ //x:-1.1〜1.1を0.1きざみ
th1=(x+ikni)/23*360/180*pai;
th2=(x+ikni)/28*360/180*pai;
th3=(x+ikni)/33*360/180*pai;
var y1=15*Math.sin(th1);
var y2=15*Math.sin(th2);
var y3=15*Math.sin(th3);
x1=x;
gplot(1,"RED", x1,y1,0,"×");//データ系列1:
gplot(2,"BLUE", x1,y2,0,"○");//データ系列2:
gplot(3,"GREEN",x1,y3,0,"△");//データ系列3:
}
gclose();
}
// -->
</script>
<form name="F1" action="#">
<input type="button" text" value="本日OK" onclick="func1()">
<br />
生まれ<input type="text" name="T1">月
<input type="text" name="T2">月
<input type="text" name="T3">日<br />
本 日<input type="text" name="T4">月
<input type="text" name="T5">月
<input type="text" name="T6">日
<input type="button" value="計算" onclick="func2()">
<input type="text" name="T7">
<br />
<input type="button" value="バイオリズム:表示" onclick="graphic1(-1)" style="width:200;font-size:13pt;cursor:pointer;border:1px solid navy;">
</form>
赤 身体
青 感情
緑 知性
<body>
</body>
</html>

