Created
October 28, 2013 01:28
-
-
Save KenjiOhtsuka/7190055 to your computer and use it in GitHub Desktop.
数秘術に基づくあの年の運勢
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ブログにあったものをこっちにコピーした。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="ja"> | |
<head> | |
<meta charset="utf-8" /> | |
<meta name="viewport" content="width=device-width,initial-scale=1" /> | |
<title>あの年の運勢診断</title> | |
<style> | |
.number { | |
text-align: right; | |
} | |
</style> | |
<script> | |
var CommonMonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | |
function isLeapYear(year) { | |
return (year % 4 == 0) && (!(year % 100 == 0) || year % 400 == 0); | |
} | |
function resolve() { | |
var doc = document; | |
var year = doc.getElementById('year').value; | |
var month = doc.getElementById('month').value; | |
var day = doc.getElementById('day').value; | |
if (hasError(year, month, day)) { | |
return; | |
} | |
var targetNumber = | |
parseInt(year) * 10000 + parseInt(month) * 100 + parseInt(day); | |
while (targetNumber >= 10) { | |
targetNumber = calcNumber(targetNumber); | |
} | |
var messages = getMessage(year, targetNumber); | |
doc.getElementById('result').innerHTML = messages[0] | |
doc.getElementById('tweet').innerHTML = '<a href="https://twitter.com/intent/tweet?text=' + encodeURIComponent(messages[1]) + '&via=escamilloIII&url=http://oad.up.seesaa.net/program/personalyear.htm" target="_blank">つぶやく</a>'; | |
} | |
function calcNumber(inputNumber) { | |
var remain = inputNumber % 10; | |
if (inputNumber >= 10) { | |
remain += calcNumber((inputNumber - remain) / 10); | |
} | |
return remain; | |
} | |
function hasError(year, month, day) { | |
if (!year.match(/^[1-9][0-9]{3}$/)) { | |
alert('知りたい年は西暦(整数4桁)で入力してください。'); | |
return true; | |
} | |
var monthDays = {} | |
for (var i = 0; i < CommonMonthDays.length; i++) { | |
monthDays[i] = CommonMonthDays[i]; | |
} | |
if (isLeapYear(parseInt(year))) { | |
monthDays[1]++; | |
} | |
if (!isFinite(month) || !isFinite(day) || | |
parseInt(month) < 1 || 12 < parseInt(month) || | |
parseInt(day) < 1 || monthDays[parseInt(month) - 1] < parseInt(day)) { | |
alert('誕生日を正しく入力してください。'); | |
return true; | |
} | |
return false; | |
} | |
function getMessage(year, personalNumber) { | |
var resultMessage = ''; | |
var postMessage = '' | |
switch (personalNumber) { | |
case 1: | |
resultMessage = '始まりの年。新しいことを始めるチャンス、更なる飛躍のチャンスがあります。リスクはつきものですが勇気と自信を持って行動に移しましょう!'; | |
postMessage = '始まりの年。新しいことを始めるチャンス、更なる飛躍のチャンスがあります。リスクはつきものですが勇気と自信を持って行動に移します!'; | |
break; | |
case 2: | |
resultMessage = '人間関係の年。さまざまな出会いがあります。素晴らしい人と出会ったら、チャンスを逃さぬよう、積極的に働きかけましょう!'; | |
postMessage = '人間関係の年。さまざまな出会いがあります。素晴らしい人と出会ったら、チャンスを逃さぬよう、積極的に働きかけます!'; | |
break; | |
case 3: | |
resultMessage = '楽しみを原動力に創造する年。祝福に満ち、人生をおおいに楽しむことができます。後ろ向きな考えを断ち、やってみたいことに取り組みましょう!'; | |
postMessage = '楽しみを原動力に創造する年。祝福に満ち、人生をおおいに楽しむことができます。後ろ向きな考えを断ち、やってみたいことに取り組みます!'; | |
break; | |
case 4: | |
resultMessage = '足固めの年。生活の基盤作りが順調に進みます。なまけることなく、他人に誇れる何かを成し遂げるためにコツコツ取り組みましょう!'; | |
postMessage = '足固めの年。生活の基盤作りが順調に進みます。なまけることなく、他人に誇れる何かを成し遂げるためにコツコツ取り組みます!'; | |
break; | |
case 5: | |
resultMessage = '変革の年。あらゆる面で変化が訪れます。チャンスにできる変化を逃さぬようにしましょう!'; | |
postMessage = '変革の年。あらゆる面で変化が訪れます。チャンスにできる変化を逃さぬようにします!'; | |
break; | |
case 6: | |
resultMessage = '責任の年。自分のことだけでなく、他人のことについても責任を背負うことになります。しかしこの1年力を尽くせば思いがけない収穫があります!'; | |
postMessage = '責任の年。自分のことだけでなく、他人のことについても責任を背負うことになります。この1年力を尽くして思いがけない収穫を手にします!'; | |
break; | |
case 7: | |
resultMessage = '自己革変の年。自分の人生を見つめなおし、新たな知識を吸収することで、視野を広げることができます。'; | |
postMessage = '自己革変の年。自分の人生を見つめなおし、新たな知識を吸収することで、視野を広げます。'; | |
break; | |
case 8: | |
resultMessage = '決断と実行の年。過去7年間の努力が実を結びます。努力の成果は昇格・増収となって現れ、さらに前進するチャンスが訪れます。'; | |
postMessage = '決断と実行の年。過去7年間の努力が実を結びます。努力の成果は昇格・増収となって現れ、さらに前進するチャンスが訪れます。'; | |
break; | |
case 9: | |
resultMessage = '完結の年。自分の周りを見つめなおし、過去への執着を捨てましょう。やりかけの仕事を締めくくり、次のステップに目を向けましょう。'; | |
postMessage = '完結の年。自分の周りを見つめなおし、過去への執着を捨て去ります。やりかけの仕事を締めくくり、次のステップに目を向けます。'; | |
break; | |
} | |
resultMessage = year + '年はあなたにとって' + resultMessage; | |
postMessage = year + '年は私にとって' + postMessage; | |
return [resultMessage, postMessage]; | |
} | |
window.onload = function() { | |
document.getElementById('resolve').onclick = function() {resolve();}; | |
document.getElementById('year').value = ((new Date).getFullYear() + 1).toString(); | |
} | |
</script> | |
</head> | |
<body style="text-align:center;"> | |
<h1>あの年の運勢診断</h1> | |
<p>特定の年がどんな年になるか、あなたの誕生日をもとに判定します。</p> | |
<p>知りたい年: <input type="number" class="number" step="1" id="year" value="2015" max="9999" min="1000" required="required" style="width:4em" />年</p> | |
<p> | |
誕生日: | |
<input type="number" class="number" step="1" id="month" value="1" max="12" min="1" required="required" style="width:3em" />月 | |
<input type="number" class="number" step="1" id="day" value="1" max="31" min="1" required="required" style="width:3em" />日 | |
</p> | |
<p><input type="button" value="診断!" id="resolve" /></p> | |
<h2>診断結果</h2> | |
<p id="result">こちらに結果が表示されます。</p> | |
<p id="tweet"></p> | |
<p>(この診断結果は数秘術を元にしています。)</p> | |
</body> | |
</html> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment