Type in answers that appear in a list
Type in answers that appear in a list
Classic
Can You Name Each Teams 3 Worst Qualified Batting Average In A Single Season Since 1990 including any abbreviated seasons adjusted to that seasons qualification standard (3.1 plate appearances × Total Games)
10m
96 Questions
Give Quiz Kudos
Give Quiz Kudos
")$objective.click(() => {window.onClickObjective(reckoningQuestObjective.quest_number, reckoningQuestObjective.objective_number, reckoningQuestObjective.quest_id, reckoningQuestObjective.objective_id, $objective);});if (!window.mweb) {$j('#snark').hide();$objective.insertAfter($j('#gameOverMsg'));} else if (is_flagship_app_view) {$j('#snark').html();$objective.appendTo($j('#snark'));} else {$objective.appendTo($j('#reckoning .stats-wrapper'));}} else if (showSnark) {var snark = getSnark(userPct);var attachSnarkModalListener = false;if (snark !== '') {snark = ""+snark+"";if (!window.mweb) {if (false) {attachSnarkModalListener = true;snark += "";} else {snark += "";}}} else {$j('#snark').hide();}$j('#snark').html(snark);if(attachSnarkModalListener){ $j('#hide-snark-open-confirmation-modal').on('click', function () { var modalArgs = {title: 'Hide These Messages?',message: 'Are you sure you want to hide post-quiz messages?', onYes: function(remodal){ $j.ajax({ type: "GET", url: "/ajax/user_settings.php", data: {s: 0}, success: function(response) { if (response.success) { $j('#snark').hide(); remodal.close(); } else { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }, error: function(response) { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }); } }; SporcleLib.Modal._openConfirmationModal(modalArgs); }); }} else {$j('#snark').hide();}// Update get reckoning with playlist infovar playlistData;if (mweb) {playlistData = typeof window.playlist === 'object' && window.playlist.hasOwnProperty('games') ? window.playlist : null;} else {playlistData = window.Sporcle.gameData.playlist ? window.Sporcle.gameData.playlist.vm.data : null;}if (playlistData) {playlistReckoning(playlistData, userPct, false && !stopwatch);}$j('#playGameBar').addClass('reckoning');$j('#reckonBox').show();if (mweb) {/* mobile games only */$j('#reckoning-numright').html(numRight);$j('#reckoning-time').html(displayTime(timerSecs));if (stopwatch) {$j('#reckoning-time-title').text("Stopwatch");$j('#reckoning-time, #reckoning-score').addClass('timePast');}var checkToOpenFlorinPlayGoalModal = () => {if (userPct == 0) {return;}if (!florinsPlayGoalData) {return;}var openModal = false;if (florinsPlayGoalData.reward_claimable) {openModal = true;} else if (florinsPlayGoalData.curr_streak + 1 == florinsPlayGoalData.goal_days && florinsPlayGoalData.plays_today == 0) {// First play of the day, this should complete their play goalopenModal = true;}if (openModal) { window.SporcleLib.Modal.openFlorinPlayGoalModal({ // Fudge these values to be at the goal, since we haven't necessarily logged this play yet and it might be the 7th curr_streak : florinsPlayGoalData.goal_days, reward_claimable : true, plays_today : florinsPlayGoalData.plays_today + 1, goal_days : florinsPlayGoalData.goal_days, reward_amount : florinsPlayGoalData.reward_amount, })}}if (is_flagship_app_view) {let animations = window.animations;let hapticType = 'success';let completeMsg;let animConfig = {animationData : animations.checkmark,loop : true,playSegments : [[0, 30], [31, 75]]};if (userPct == 1) {animConfig.animationData = animations.perfectScore;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Perfect Score!";} else if (timerSecs == 0) {hapticType = 'error';animConfig.animationData = animations.outOfTime;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Out of Time!";} else if (_spks && !didGiveUp) {hapticType = 'error';animConfig.animationData = animations.bomb;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "You Hit a Mine!";}window.SporcleLib.Modal.openModalFromTpl($j('#post-game-modal-tpl').html(), {show_loading : false,onInit : (modal) => {let $modal = modal.$modal; $modal.attr('id', 'postGameModal'); postGameAnim = lottie.loadAnimation({container : $modal.find('#postGameIcon')[0],animationData : animConfig.animationData,loop : animConfig.loop,autoplay : false});$modal.find('.modal-close').on('click', () => {window.continuePostQuiz();}); $modal.find('#completeMsg').html(completeMsg); $modal.find('#postPct').html(roundPercentScore(userPct));$modal.find('#postCorrect').html($j('#reckoning-score').text());if (snark) {$modal.find('#snark').html(snark);} else {$modal.find('#snark').hide();}setTimeout(() => {postGameAnim.playSegments(animConfig.playSegments, true);// if (hapticType) {// setTimeout(() => {// window.SporcleApp.api.playHaptic(hapticType);// }, 150);// }}, 150);},onClose : () => {// Need this delay because if we open a new modal right as the close animation finishes,// Then the modal events get confused and the "onOpen" callback never gets calledsetTimeout(() => {checkToOpenFlorinPlayGoalModal();}, 50);}});} else {checkToOpenFlorinPlayGoalModal();}}$j('#playGameBox').empty().hide();$j('#postGameBox').show();}function toggleshow() {showans = !showans;}function roundPercentScore(pctScore) {return _.round(100 * pctScore);}function updateBadge(userPct) {var earned = false;if (quizBadge && userPct > 0) { if (quizBadge.criteria && quizBadge.criteria.length) { var requiredCount = quizBadge.criteria.length; var earnedCount = 0; //Loop through possible badge criteria to see if we earned them quizBadge.criteria.forEach(function (criterion) { var comparison = parseInt(criterion.compare); if(criterion.name === 'percent'){ if ((comparison === 0 && userPct === parseFloat(criterion.value)) || //'0' means percent needs to equal (comparison === 1 && userPct > parseFloat(criterion.value)) || //'1' means percent needs to be greater than (comparison === -1 && userPct < parseFloat(criterion.value)) //'-1' means percent needs to be less than (at the time of writing, no badge exists like this) ) { earnedCount++; } } else if (criterion.name === 'month'){ var d = new Date(); //getMonth() starts at 0 if((d.getMonth() + 1 == criterion.value && comparison === 0) || (d.getMonth() + 1 > criterion.value && comparison === 1) || (d.getMonth() + 1 < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day'){ var d = new Date(); if((d.getDate() == criterion.value && comparison === 0) || (d.getDate() > criterion.value && comparison === 1) || (d.getDate() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day_of_the_week'){ var d = new Date(); if((d.getDay() == criterion.value && comparison === 0) || (d.getDay() > criterion.value && comparison === 1) || (d.getDay() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'avg_percent' && typeof averageScore !== 'undefined') {var roundedUserPct = _.round(userPct, 2); //matches backend precision in badge trackervar roundedAvgPct = _.round(averageScore, 2);if((roundedUserPct == roundedAvgPct && comparison === 0) || (roundedUserPct > roundedAvgPct && comparison === 1) || (roundedUserPct < roundedAvgPct && comparison === -1) ){ earnedCount++; } }}); earned = earnedCount == requiredCount;} else {earned = true;}} if (earned) {quizBadge.condition_earned = true;quizBadge.achieved_count++; var spliceIndex = null;_(quizBadge.remaining_conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {spliceIndex = index;}});_(quizBadge.conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {condition.earned = true;}});if (spliceIndex !== null) {quizBadge.remaining_conditions.splice(spliceIndex, 1); quizBadge.condition_earned_date = (new Date()).toLocaleDateString(undefined, { year: 'numeric', month: 'long', day: 'numeric' });; }if (quizBadge.remaining_conditions.length === 0 ) {if (quizBadge.badge_earned && quizBadge.levelable) {quizBadge.achieved_count = 0;quizBadge.level++;var currDate = new Date();quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();} else {quizBadge.badge_earned = true;var currDate = new Date();quizBadge.earned_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();if (quizBadge.levelable) {quizBadge.level = 1;quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();quizBadge.achieved_count = 0;}}}if (badgeTooltip) {badgeTooltip.deactivate();}if (badgeTooltipRightRail) {badgeTooltipRightRail.deactivate();}var template = _.template($j('#quiz-badge-template').html());if (window.mweb) {$j('#main-wrapper .quiz-badge').replaceWith($j(template(quizBadge)));} else {quizBadge.tooltip_trigger_id = 'quiz-badge-art';$j('#main-quiz-content .quiz-badge').replaceWith($j(template(quizBadge)));quizBadge.tooltip_trigger_id = 'quiz-badge-art-right-rail';$j('#right-rail .quiz-badge').replaceWith($j(template(quizBadge)));if (!quizBadge.badge_earned) {if (window.setupUnearnedBadgeTooltip) {window.setupUnearnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupUnearnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);} else {var conditionsTemp = _.template($j('#badge-conditions-template').html());var tooltipHtml = $j(conditionsTemp(quizBadge));const badgeTooltipOptions = { //this should match /sporcle-ui/tooltips/functionalTooltipstarget : true,tipJoint : 'bottom middle',showOn : 'mouseover',hideTriggers : ['target','tip'],stemLength : 8,stemBase : 12,hideOn : 'mouseout',removeElementsOnHide : true,background : 'white',borderColor : '#d8d8d8',borderWidth : 1,shadowOffset : [3,3],shadowBlur : 10,showEffect : 'slide',showEffectDuration : 0.1,hideEffectDuration : 0.3,className : 'badge-tooltip',shadowColor : 'rgba(0,0,0,0.25)'};badgeTooltip = new Opentip('#quiz-badge-art', tooltipHtml.html(), badgeTooltipOptions);badgeTooltipRightRail = new Opentip('#quiz-badge-art-right-rail', tooltipHtml.html(), badgeTooltipOptions);}} else {if (window.setupEarnedBadgeTooltip) {window.setupEarnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupEarnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);}}}}}function showHintTooltip(x, y, hint) {$hint = $j('#hintTooltip');if ($hint.length == 0) {$hint = $j('
').appendTo($j('body'));}if (hint) {var $afterContainer = $hint.find('.afterContainer');var $after = $hint.find('.after');// Set to max width before resize$afterContainer.css({width: '120px'});$hint.show();// Set tooltip text to hint$after.html(hint);// Get width of tooltip with textvar width = Math.ceil($after[0].offsetWidth) + 1;var leftShift = 0;if (mweb) {// Make sure the tooltip doesn't go off either side of the screenvar leftBound = 51;var rightBound = $j('body').width() - 71;var buf = 11;// Shift based on width of textvar shiftLimit = Math.max(width/2 - 20, 0);if (x < leftBound) {// Too close to left edge of screenleftShift = -shiftLimit;x = Math.max(x, buf);} else if (x > rightBound) {// Too close to right edge of screenleftShift = shiftLimit;x = Math.min(x, $j('body').width() - buf);}}// Set the position of the hint$hint.css({left: x + 'px',top: y + 'px',});// Set outer container size and position$afterContainer.css({width: width + 'px',left: '-' + ((width / 2) + leftShift) + 'px'});} else {$hint.hide();}}function getRandomColor() {var r = Math.round(Math.random() * 255);var g = Math.round(Math.random() * 255);var b = Math.round(Math.random() * 255);return 'rgb(' + r + ',' + g + ',' + b + ')';}function hintTooltipIsDisplayed() {return $j('#hintTooltip').is(':visible');}function getCurrentHintText() {return $j('#hintTooltip .afterContainer .after').text();}// This is used to yield execution to the main javascript thread so that we can break longer running tasks into smaller tasks.// See here: https://web.dev/articles/optimize-long-tasks?utm_source=devtoolsfunction yieldToMain () {return new Promise(resolve => {setTimeout(resolve, 0);});}async function runStartCode(stopwatch) {if (typeof gamePageIsLoaded != "undefined" && gamePageIsLoaded) {if (window.startTriggered) {return;} else {window.startTriggered = true;}if (typeof stopwatch !== 'undefined') {if (stopwatch) {window.selectTimerSetting('stopwatch');} else {window.selectTimerSetting('timer');}}// The `startGame` function does a lot, so we want to yield execution both before and after this call. Yielding before// will allow the existing task to finish, freeing up the runtime to move to the next thing in the message queue before startGame// executes. Yielding after will do the same, before we perform the rest of the actions related to starting a quiz.await yieldToMain();await startGame(600);await yieldToMain();callSPHooks('postStart');}}function callSPHooks(name) {if (typeof _spHooks != 'undefined') {var hlen = _spHooks[name].length;for (var i = 0; i < hlen; i++) {_spHooks[name][i]();}}}
Quiz is untimed. Quiz plays in practice mode will not be counted towards challenge completion or badge progress.
10:00
Orioles |
---|
2018/.168(522) 16hr 49rbi | | 2014/.196(525) 26hr 72rbi | | 2017/.215(524) 26hr 61rbi | |
| Mariners |
---|
2020/.176(202) 8hr 26rbi | | 2019/.208(558) 30hr 76rbi | | 2021/.212(670) 35hr 101rbi | |
|
Tigers |
---|
1991/.179(539) 25hr 64rbi | | 2022/.202(510) 11hr 38rbi | | 2023/.222(547) 9hr 59rbi | |
| Braves |
---|
2013/.179(537) 22hr 55rbi | | 2014/.208(582) 12hr 35rbi | | 1995/.211(504) 12hr 31rbi | |
|
Rangers |
---|
2020/.181(226) 10hr 26rbi | | 2017/.204(651) 30hr 75rbi | | 2019/.205(581) 30hr 93rbi | |
| Padres |
---|
2022/.184(524) 17hr 53rbi | | 2023/.198(555) 13hr 50rbi | | 1994/.220(385) 18hr 41rbi | |
|
Cubs |
---|
2020/.188(224) 11hr 24rbi | | 2020/.203(235) 8hr 24rbi | | 2022/.207(534) 25hr 66rbi | |
| Pirates |
---|
2020/.189(208) 7hr 19rbi | | 2023/.224(534) 26hr 74rbi | | 2020/.226(223) 8hr 22rbi | | 2013/.226(506) 15hr 55rbi | | 2021/.226(554) 5hr 39rbi | |
|
Dodgers |
---|
2020/.192(248) 12hr 27rbi | | 2022/.196(565) 21hr 69rbi | | 2022/.210(550) 19hr 68rbi | | 1990/.210(502) 1hr 35rbi | | 2015/.210(585) 26hr 54rbi | |
| Athletics |
---|
2020/.195(245) 14hr 42rbi | | 1991/.201(585) 22hr 75rbi | | 1997/.203(526) 11hr 41rbi | |
|
Rays |
---|
2010/.196(582) 21hr 69rbi | | 2012/.197(600) 19hr 61rbi | | 2009/.227(570) 39hr 100rbi | |
| Phillies |
---|
2023/.197(720) 47hr 104rbi | | 2003/.209(599) 21hr 64rbi | | 2022/.218(669) 46hr 94rbi | | 1995/.218(477) 1hr 32rbi | |
|
Reds |
---|
2021/.198(574) 31hr 79rbi | | 2020/.202(231) 15hr 38rbi | | 2012/.213(544) 14hr 40rbi | |
| Diamondbacks |
---|
2010/.198(596) 32hr 85rbi | | 2020/.212(222) 4hr 20rbi | | 2020/.226(228) 16hr 40rbi | |
|
Guardians |
---|
2020/.199(255) 8hr 30rbi | | 2022/.221(596) 0hr 32rbi | | 2018/.230(601) 18hr 75rbi | |
| Royals |
---|
2020/.201(192) 1hr 13rbi | | 2017/.208(541) 9hr 45rbi | | 2021/.214(659) 19hr 69rbi | |
|
Blue Jays |
---|
2017/.203(686) 23hr 65rbi | | 2010/.205(580) 26hr 68rbi | | 2023/.220(581) 20hr 61rbi | |
| White Sox |
---|
2012/.204(649) 41hr 96rbi | | 2004/.216(504) 30hr 70rbi | | 2013/.219(607) 34hr 86rbi | | 2008/.219(588) 24hr 69rbi | |
|
Twins |
---|
1994/.204(359) 5hr 35rbi | | 2020/.204(205) 13hr 25rbi | | 2007/.210(536) 1hr 25rbi | |
| Brewers |
---|
2020/.205(247) 12hr 22rbi | | 1990/.209(511) 27hr 69rbi | | 2020/.212(246) 13hr 32rbi | |
|
Angels |
---|
2018/.208(552) 19hr 57rbi | | 1994/.215(355) 9hr 30rbi | | 1990/.217(503) 11hr 44rbi | |
| Yankees |
---|
2023/.209(601) 21hr 60rbi | | 2014/.216(508) 22hr 62rbi | | 1991/.220(592) 23hr 63rbi | |
|
Nationals |
---|
2016/.209(601) 24hr 72rbi | | 2020/.220(189) 3hr 15rbi | | 1992/.223(602) 9hr 59rbi | |
| Red Sox |
---|
2020/.213(237) 7hr 27rbi | | 2019/.225(567) 21hr 62rbi | | 1991/.229(519) 16hr 70rbi | |
|
Giants |
---|
2022/.214(558) 17hr 57rbi | | 2007/.218(528) 11hr 71rbi | | 2021/.224(532) 25hr 71rbi | |
| Astros |
---|
2014/.215(607) 16hr 57rbi | | 2020/.219(210) 5hr 18rbi | | 2014/.222(512) 14hr 56rbi | |
|
Mets |
---|
2002/.215(550) 19hr 54rbi | | 2023/.217(658) 46hr 118rbi | | 1994/.225(379) 18hr 59rbi | |
| Rockies |
---|
2020/.215(193) 9hr 26rbi | | 2006/.220(535) 7hr 56rbi | | 2018/.236(619) 22hr 88rbi | |
|
Marlins |
---|
2013/.227(578) 3hr 42rbi | | 2011/.227(530) 16hr 57rbi | | 1993/.230(516) 13hr 50rbi | |
| Cardinals |
---|
1997/.229(562) 17hr 62rbi | | 2019/.233(664) 30hr 78rbi | | 2019/.238(574) 19hr 67rbi | |
|