動物占い

<

iframe sandbox=”allow-scripts” style=”width:100%;max-width:560px;height:280px;border:1px solid #ddd;border-radius:12px”
srcdoc=’

動物占い(番号表示)



番号 → 動物(井上さん定義)
1=子鹿 / 2=ヒツジ / 3=黒ヒョウ / 4=タヌキ / 5=チーター / 6=コアラ / 7=ゾウ / 8=サル / 9=オオカミ / 10=ライオン / 11=トラ / 12=ペガサス

<

script>
function animalCalc(){
var b = document.getElementById(“birthday”);
var out = document.getElementById(“ac-result”);
if(!b || !b.value){ out.textContent = “生年月日を入力してください。”; return; }
var res = animalCalc_calc(b.value);
if(res.error){ out.textContent = res.error; return; }
out.textContent = “あなたの番号は【” + res.number + “】(60分類: ” + res.index60 + ” / 動物: ” + res.animal + “)”;
}

function animalCalc_calc(dateStr){
try{
var dt = new Date(dateStr);
var y = dt.getFullYear(), m = dt.getMonth()+1, d = dt.getDate();
if(!(y in baseTable)) return {error:”現在は 1960〜2020 年生まれに対応しています。”};
var base = baseTable[y][m-1];
if(base===undefined){ return {error:”早見表の参照に失敗しました。”} }
var idx = base + d;
if(idx > 60) idx -= 60;
var animal = idx60toAnimal[idx];
if(!animal){ return {error:”分類が見つかりませんでした。”} }
var num = animalToNumber(animal);
if(!num){ return {error:”番号変換に失敗しました。”} }
return {number:num, animal:animal, index60:idx};
}catch(e){
return {error:”入力の解釈でエラーが発生しました。”};
}
}

// 60 → 動物
var idx60toAnimal = {
1:”チータ”,2:”たぬき”,3:”猿”,4:”子守熊”,5:”黒ひょう”,6:”虎”,
7:”チータ”,8:”たぬき”,9:”猿”,10:”子守熊”,11:”こじか”,12:”ゾウ”,
13:”狼”,14:”ひつじ”,15:”猿”,16:”子守熊”,17:”こじか”,18:”ゾウ”,
19:”狼”,20:”ひつじ”,21:”ペガサス”,22:”ペガサス”,23:”ひつじ”,24:”狼”,
25:”狼”,26:”ひつじ”,27:”ペガサス”,28:”ペガサス”,29:”ひつじ”,30:”狼”,
31:”ゾウ”,32:”こじか”,33:”子守熊”,34:”猿”,35:”ひつじ”,36:”狼”,
37:”ゾウ”,38:”こじか”,39:”子守熊”,40:”猿”,41:”たぬき”,42:”チータ”,
43:”虎”,44:”黒ひょう”,45:”子守熊”,46:”猿”,47:”たぬき”,48:”チータ”,
49:”虎”,50:”黒ひょう”,51:”ライオン”,52:”ライオン”,53:”黒ひょう”,54:”虎”,
55:”虎”,56:”黒ひょう”,57:”ライオン”,58:”ライオン”,59:”黒ひょう”,60:”虎”
};

// 動物 → 番号
function animalToNumber(name){
var n = name.replace(“子守熊”,”コアラ”)
.replace(“チータ”,”チーター”)
.replace(“こじか”,”子鹿”)
.replace(“ひつじ”,”ヒツジ”)
.replace(“たぬき”,”タヌキ”)
.replace(“猿”,”サル”)
.replace(“狼”,”オオカミ”)
.replace(“虎”,”トラ”);
var map = {“子鹿”:1