本篇文章是通过JavaScript实现的小demo
文件放置位置
第一步、创建一个utils.js文件(自己写的一些函数,嫌麻烦的也可以不用创)
//生成概率相等的随机数
function randomNum(max, min) {
//如果max小于min交换数值,这里采用的是异或的方法
if (max < min) {
max = max ^ min;
min = max ^ min;
max = max ^ min;
}
return Math.floor(Math.random() * (max - min + 1) + min);
}
/* 求任意数字的和 */
function sum() {
var res = 0;
for (let i = 0; i < arguments.length; i++) {
res += arguments[i];
}
return res;
}
//导出函数
module.exports = {
randomNum,
sum,
};
第二步、创建实现占逻辑的js文件
//引入自己写的方法 一个是获取随机数 一个是求和
const { randomNum, sum } = require("./utils");
//模仿三枚硬币获取三个随机数放入arr数组
let arr = [];
//把三枚硬币的和,放入arrSum数组
let arrSum = [];
//三个硬币一起抛一次,求和,获得一个爻(yao 第二声),一起抛六次整合后得到一个卦象
for (let i = 0; i < 6; i++) {
//清空arr数组
arr = [];
//模仿三枚硬币,每次抛一个硬币获取一个随机数,并存入数组
for (let j = 0; j < 3; j++) {
//这里定义每一次抛的结果为2或3
let number = randomNum(2, 3);
//把获取的随机数放入数组
arr.push(number);
}
//把抛三次硬币结果的和放入一个数组
arrSum.unshift(sum(...arr));
}
//遍历获取到的数组实现卦象
//6属阴 7属阳 9属阳 8属阴
//阴阳表示符
//阴 --
//阳 ——
console.log(arrSum);
console.log("***** 卦象展示 *****");
//遍历数组获得卦象
arrSum.forEach(function (item, index) {
if (index === 0) {
console.log("***** 上卦 *****");
} else if (index === 3) {
console.log("***** 下卦 *****");
}
if (item === 7 || item === 9) {
console.log("***** —— *****");
} else {
console.log("***** -- *****");
}
});
效果展示
数组的最后一个表示 第一次抛硬币获得随机数的和,倒数第二个表示 第二次抛硬币获得随机数的和,依次类推。
特此声明:
本人并非迷信,只是最近在看易经相关的视频,单纯感觉有趣,所以仿照算卦逻辑,写出的程序。写的同时也提高了自己的代码逻辑和代码熟练度。