Random Driver Generation Fix

This commit is contained in:
ssyyhhrr
2023-03-18 00:24:34 +00:00
parent a4faf442ad
commit e18f3fae70
2 changed files with 38 additions and 22 deletions

57
app.js
View File

@@ -149,46 +149,64 @@ async function updateDrivers() {
function processStats(dotd = false) { function processStats(dotd = false) {
const date = dayjs().format("YYYY-MM-DD"); const date = dayjs().format("YYYY-MM-DD");
console.log(`[DEBUG] processStats Date is ${date}`)
let statsFile = {}; let statsFile = {};
if (fs.existsSync(statsPath)) { if (fs.existsSync(statsPath)) {
statsFile = JSON.parse(fs.readFileSync(statsPath)); statsFile = JSON.parse(fs.readFileSync(statsPath));
} }
if (dotd) { console.log(`[DEBUG] statsFile ${statsFile}`)
statsFile[date] = {
visits: stats.visits,
guesses: stats.guesses,
driver: stats.driver,
};
} else if (statsFile[date]) {
statsFile[date].visits = Math.max(statsFile[date].visits, stats.visits);
statsFile[date].guesses = Math.max(statsFile[date].guesses, stats.guesses);
statsFile[date].driver = stats.driver || statsFile[date].driver;
} else {
statsFile[date] = {
visits: stats.visits,
guesses: stats.guesses,
driver: stats.driver,
};
}
if (dotd) {
console.log(`[DEBUG] dotd TRUE`)
statsFile[date] = {
visits: stats.visits,
guesses: stats.guesses,
driver: stats.driver,
};
console.log(`[DEBUG] statsFile[date] ${statsFile[date]}`)
} else if (statsFile.hasOwnProperty(date)) {
console.log(`[DEBUG] statsFile.hasOwnProperty(date) TRUE`)
if (statsFile[date].visits > stats.visits) {
console.log(`[DEBUG] statsFile[date].visits > stats.visits`)
statsFile[date].visits += stats.visits
stats.visits = statsFile[date].visits
}
else statsFile[date].visits = stats.visits
if (statsFile[date].guesses > stats.guesses) {
console.log(`[DEBUG] statsFile[date].guesses > stats.guesses`)
statsFile[date].guesses += stats.guesses
stats.guesses = statsFile[date].guesses
}
else statsFile[date].guesses = stats.guesses
} else return
console.log(`[DEBUG] Writing ${statsFile} to ${statsPath}`)
fs.writeFileSync(statsPath, JSON.stringify(statsFile)); fs.writeFileSync(statsPath, JSON.stringify(statsFile));
} }
function dotd() { function dotd() {
console.log("Selecting Driver of the Day...") console.log("Selecting Driver of the Day...")
let date = dayjs().format("YYYY-MM-DD") let date = dayjs().format("YYYY-MM-DD")
console.log(`dotd Date is ${date}`)
let pastDrivers = [] let pastDrivers = []
let pastDates = [] let pastDates = []
if (fs.existsSync(statsPath)) { if (fs.existsSync(statsPath)) {
pastDrivers = Object.values(JSON.parse(fs.readFileSync(statsPath))).map(x => x.driver).filter((x) => { return typeof x === "string"}) let statsFile = JSON.parse(fs.readFileSync(statsPath))
pastDates = Object.keys(JSON.parse(fs.readFileSync(statsPath))) pastDates = Object.keys(statsFile)
pastDrivers = Object.values(statsFile).map(x => x.driver).filter((x) => { return typeof x === "string"})
console.log(`[DEBUG] pastDates ${pastDates}`)
console.log(`[DEBUG] pastDrivers ${pastDrivers}`)
} }
if (pastDrivers.length > 0 && pastDates.length > 0 && pastDates[pastDates.length - 1] === date) { if (pastDrivers.length > 0 && pastDates.length > 0 && pastDates[pastDates.length - 1] === date) {
console.log(`[DEBUG] Date is TODAY`)
driver = pastDrivers[pastDrivers.length - 1] driver = pastDrivers[pastDrivers.length - 1]
console.log(`[DEBUG] driver ${driver}`)
} else { } else {
let newDriver = getRandomProperty(drivers) let newDriver = getRandomProperty(drivers)
console.log(`[DEBUG] newDriver ${newDriver}`)
if (pastDrivers.slice(-7).includes(newDriver)) { if (pastDrivers.slice(-7).includes(newDriver)) {
console.log("Driver was picked recently, re-selecting...") console.log("Driver was picked recently, re-selecting...")
return dotd() return dotd()
@@ -200,6 +218,7 @@ function dotd() {
"guesses": 0, "guesses": 0,
"driver": driver "driver": driver
} }
console.log(`[DEBUG] stats ${stats}`)
processStats(true) processStats(true)
console.log(`Driver of the Day is ${driver}!`) console.log(`Driver of the Day is ${driver}!`)
console.log(drivers[driver]) console.log(drivers[driver])

View File

@@ -96,7 +96,6 @@
<div class="splitter"></div> <div class="splitter"></div>
<div class="content"> <div class="content">
<div class="vertical-ad"> <div class="vertical-ad">
<script data-cfasync="false" type="text/javascript" src="//dexpredict.com/a/display.php?r=6829866"></script>
</div> </div>
<div class="game"> <div class="game">
<div class="board"> <div class="board">
@@ -170,11 +169,9 @@
</div> </div>
</div> </div>
<div class="banner-ad"> <div class="banner-ad">
<script data-cfasync="false" type="text/javascript" src="//dexpredict.com/a/display.php?r=6829898"></script>
</div> </div>
</div> </div>
<div class="vertical-ad"> <div class="vertical-ad">
<script data-cfasync="false" type="text/javascript" src="//dexpredict.com/a/display.php?r=6829862"></script>
</div> </div>
</div> </div>
<div class="credits"> <div class="credits">