xxxxxxxxxx
90
var cList = new Array(
"山羊座",
"水瓶座",
"魚座",
"牡羊座",
"牡牛座",
"双子座",
"蟹座",
"獅子座",
"乙女座",
"天秤座",
"蠍座",
"射手座"
);
var img = [];
function preload() {
for (let i = 0; i < cList.length; i++) {
img[i] = loadImage(cList[i] + ".png");
}
console.log(img);
}
// 境界となる日付
var borderDays = new Array(20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22);
var constellation;
function doIt() {
// 結果表示欄
var cField = document.getElementById("constellation");
// 年
var year = document.getElementById("year").value;
// 月
var month = document.getElementById("month").value;
// 日
var day = document.getElementById("day").value;
// 日付取得
var date = getDate(year, month, day);
if (date) {
// 星座を取得
constellation = getConstellation(date);
cField.value = "あなたは" + constellation;
} else {
cField.value = "入力エラー";
}
}
// 日付取得関数
function getDate(year, month, day) {
var date = new Date(year, month - 1, day);
if (
date.getFullYear() != year ||
date.getMonth() != month - 1 ||
date.getDate() != day
) {
// 不正な日付の場合はnullを返す
date = null;
}
return date;
}
// 星座取得関数
function getConstellation(date) {
var month = date.getMonth();
var day = date.getDate();
// 境界日付との前後関係から星座を決定
var borderDay = borderDays[month];
var cIndex = day < borderDay ? month : month + 1;
if (cIndex >= cList.length) {
cIndex = 0; // 12月後半生まれの時の処置
}
return cList[cIndex];
}
function setup() {
createCanvas(700, 700);
}
function draw() {
background(0);
switch (constellation) {
case "山羊座":
image(img[0], 0, 0);
break;
case "水瓶座":
image(img[1], 0, 0);
break;
}
}