Apps Home
|
My Uploads
|
Create an App
CodeChallenge
Author:
aaron123454321
Description
Source Code
Launch App
Current Users
Created by:
Aaron123454321
App Images
let prizeSettings = { name: '', type: 'str', label: '', minLength: 1, maxLength: 255, required: true, }; let settings_choices = []; // The tip price (integer) let tipPrice = { name: 'tip_price', type: 'int', label: 'Tip Price', minValue: 1, maxValue: 99, } settings_choices.push(tipPrice); const NUM_REQUIRED_PRIZES = 12; const NUM_TOTAL_PRIZES = 36; // The top prize { let copiedSettings = Object.assign({}, prizeSettings); copiedSettings.name = 'prize_0' copiedSettings.label = 'Top Prize'; copiedSettings.required = true; settings_choices.push(copiedSettings); } // The next 36 prizes for (let i = 0; i < NUM_REQUIRED_PRIZES; i++) { let copiedSettings = Object.assign({}, prizeSettings); let prizeIdx = (i + 1); copiedSettings.name = 'prize_' + prizeIdx copiedSettings.label = 'Prize ' + prizeIdx; copiedSettings.required = true; settings_choices.push(copiedSettings); } for (let i = 0; i < (NUM_TOTAL_PRIZES - NUM_REQUIRED_PRIZES); i++) { let copiedSettings = Object.assign({}, prizeSettings); let prizeIdx = (i + NUM_REQUIRED_PRIZES + 1); copiedSettings.name = 'prize_' + prizeIdx; copiedSettings.label = 'Prize ' + prizeIdx; copiedSettings.required = false; settings_choices.push(copiedSettings); } cb.settings_choices = settings_choices; cb.onTip(function (tip) { let tipAmount = parseInt(tip['amount']); if (tipAmount < cb.settings['tip_price']) { return; } drawGif(); let prizeNum = determinePrizeNumber(); let prizeStr = determinePrize(prizeNum); const GIF_DELAY = 7000; cb.setTimeout(printWinnerToChat.bind(null, prizeNum, prizeStr), GIF_DELAY); cb.setTimeout(drawWinnerPanel.bind(null, tip['from_user'], prizeNum, prizeStr), GIF_DELAY); }); function drawWinnerPanel(winnerName, prizeNum, prizeStr) { cb.onDrawPanel(function(user) { return { 'template': '3_rows_of_labels', 'row1_label': 'Winner:', 'row1_value': winnerName, 'row2_label': 'Landed On:', 'row2_value': prizeNum, 'row3_label': 'Prize:', 'row3_value': prizeStr, }; }); cb.drawPanel(); } var backgroundImage = 'f79cbadd-b2e1-46ad-8fca-9d482d7ac70b'; function drawGif() { cb.onDrawPanel(function(user) { return { "template": "image_template", "layers": [ { 'type': 'image', 'fileID': backgroundImage }, ], }; }); cb.drawPanel(); } function determinePrizeNumber() { return Math.floor(Math.random() * (NUM_TOTAL_PRIZES + 1)); } function determinePrize(num) { let prize = cb.settings['prize_' + num]; if (prize) { return prize; } // TODO: evenly distribute return cb.settings['prize_1']; } function printWinnerToChat(num, prize) { cb.chatNotice('The winning prize is (' + num + ') ' + prize); }
© Copyright Chaturbate 2011- 2025. All Rights Reserved.