打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

用户:RedDragon/Test2:修订间差异

来自Rizline中文维基
 
(未显示同一用户的68个中间版本)
第1行: 第1行:
<html>
<html>
<table class="infobox" cellspacing="3" style="border-collapse:separate;border-spacing:2px;float:right;">
<table class="infobox" cellspacing="3" style="border-collapse:separate;border-spacing:2px;float:right;">
<tbody>
    <tbody>
<tr class="infobox-title"><th colspan="2" style="padding:8px;background:#ccc;">曲目</th></tr>
        <tr class="infobox-title">
<tr><td colspan="2" style="text-align:center;">
            <th colspan="2" style="padding:8px;background:#ccc;">曲目</th>
<img id="song-image" src="/images/thumb/4/41/%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png/200px-%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png" width="200" height="200">
        </tr>
</td></tr>
        <tr>
<tr class="infobox-header"><th colspan="2" style="padding:8px;background:#ccf;">限制</th></tr>
            <td colspan="2" style="text-align:center;">
<tr><th scope="row" class="infobox-label" style="width:90px;background:#ddf;">难度</th><td class="infobox-data" id="difficulty-data">a</td></tr>
                <img id="song-image"
<tr><th scope="row" class="infobox-label" style="width:90px;background:#ddf;">流速</th><td class="infobox-data" id="speed-data">b</td></tr>
                    src="/images/thumb/4/41/%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png/300px-%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png"
<tr><th scope="row" class="infobox-label" style="width:90px;background:#ddf;">MOD</th><td class="infobox-data" id="mod-data">c</td></tr>
                    width="300" height="300">
<tr><th scope="row" class="infobox-label" style="width:90px;background:#ddf;">其他</th><td class="infobox-data" id="other-data">d</td></tr>
            </td>
</tbody></table>
        </tr>
        <tr class="infobox-header">
            <th colspan="2" style="padding:8px;background:#ccf;">限制</th>
        </tr>
        <tr>
            <th scope="row" class="infobox-label" style="width:90px;background:#ddf;">难度</th>
            <td class="infobox-data" id="difficulty-data">a</td>
        </tr>
        <tr>
            <th scope="row" class="infobox-label" style="width:90px;background:#ddf;">流速</th>
            <td class="infobox-data" id="speed-data">b</td>
        </tr>
        <tr>
            <th scope="row" class="infobox-label" style="width:90px;background:#ddf;">MOD</th>
            <td class="infobox-data" id="mod-data">c</td>
        </tr>
        <tr>
            <th scope="row" class="infobox-label" style="width:90px;background:#ddf;">其他</th>
            <td class="infobox-data" id="other-data">d</td>
        </tr>
        <tr class="infobox-below" style="display:none;">
            <td colspan="2" style="padding:0.5em;text-align:center;">e</td>
        </tr>
    </tbody>
</table>
<script>
    document.addEventListener('DOMContentLoaded', function () {
        initRandomChallenge()
    })
 
    function regenerateChallenge() {
        initRandomChallenge()
    }
 
    function useMockData() {
        updateSongInfo({
            title: "Pastel Lines",
            ez: "1",
            hd: "6",
            in: "11"
        }, {
            titleStyle: '#94E1FF',
            headerStyle: '#A3E5FF',
            labelStyle: '#B2E9FE'
        })
    }
 
    function initRandomChallenge() {
        var encodedUrl = 'https://rizwiki.cn/api.php?action=query%26titles=曲目列表%26prop=revisions%26rvprop=content%26format=json'
        var decodedUrl = decodeURIComponent(encodedUrl)


<div id="debug-output" style="border:1px solid #ccc; padding:10px; margin-top:20px;"></div>
        fetch(decodedUrl)
            .then(function (r) { return r.json() })
            .then(function (data) {
                if (data.query) {
                    if (data.query.pages) {
                        var pages = data.query.pages
                        var pageId = Object.keys(pages)[0]
                        var wikitext = pages[pageId].revisions[0]['*']
                        var songs = parseSongsFromWikitext(wikitext)


<script>
                        if (songs.length > 0) {
$(document).ready(function() {
                            loadSongColors(songs[Math.floor(Math.random() * songs.length)])
    // 调试输出
                        } else {
    function debug(msg) {
                            useMockData()
        $('#debug-output').append('<div>' + msg + '</div>');
                        }
        console.log(msg);
                    } else {
                        useMockData()
                    }
                } else {
                    useMockData()
                }
            })
            .catch(function (e) {
                console.error('获取曲目列表失败:', e)
                useMockData()
            })
     }
     }
      
 
    debug('脚本开始执行...');
     function parseSongsFromWikitext(wikitext) {
   
        const songs = []
    // 首先测试默认颜色是否工作
        const rows = wikitext.split('|-')
    setTimeout(function() {
 
        debug('测试默认颜色...');
        for (const row of rows.slice(1)) {
        $('.infobox-title th').css('background', '#94E1FF');
            const columns = row.split('\n').filter(function (col) { return col.trim().startsWith('|') })
        $('.infobox-header th').css('background', '#A3E5FF');
 
        $('.infobox-label').css('background', '#B2E9FE');
            if (columns.length >= 7) {
        debug('默认颜色已应用');
                const imageMatch = columns[0].match(/\[\[文件:([^|\]]+)/)
    }, 1000);
                const titleMatch = columns[1].match(/\[\[([^|\]]+)/)
   
 
    // 获取曲目列表
                if (imageMatch) {
    debug('开始获取曲目列表...');
                    if (titleMatch) {
    $.ajax({
                        const song = {
        url: mw.util.wikiScript('api'),
                            image: imageMatch[1].trim(),
        data: {
                            title: titleMatch[1].trim(),
            action: 'parse',
                            author: columns[2].replace(/^\|/, '').trim(),
            page: '曲目列表',
                            duration: columns[3].replace(/^\|/, '').trim(),
            prop: 'text',
                        }
            format: 'json'
                        if (song.title === "BRAVE: ROAD") {
        },
                            song.ez = ""
        success: function(data) {
                            song.hd = columns[4].replace(/^\|/, '').trim()
            debug('成功获取曲目列表API响应');
                            song.in = columns[5].replace(/^\|/, '').trim()
            console.log('API响应:', data);
                            song.at = columns[6].replace(/^\|/, '').trim()
           
                        } else {
            if (!data.parse || !data.parse.text) {
                            song.ez = columns[4].replace(/^\|/, '').trim()
                debug('错误:API响应格式不正确');
                            song.hd = columns[5].replace(/^\|/, '').trim()
                 return;
                            song.in = columns[6].replace(/^\|/, '').trim()
                        }
 
                        if (song.title) {
                            if (song.title !== '') {
                                if (song.title !== '?') {
                                    songs.push(song)
                                }
                            }
                        }
                    }
                 }
             }
             }
           
        }
            var content = data.parse.text['*'];
 
            var $content = $('<div>').html(content);
        return songs
            var songs = [];
    }
           
 
            debug('开始解析表格...');
    function loadSongColors(song) {
           
        const encodedUrl = `https://rizwiki.cn/api.php?action=query%26titles=${encodeURIComponent(song.title)}%26prop=revisions%7Cpageimages%26rvprop=content%26pithumbsize=300%26format=json`
            // 尝试多种选择器
        const decodedUrl = decodeURIComponent(encodedUrl)
            var $tables = $content.find('table.wikitable, table, .wikitable');
 
            debug('找到表格数量: ' + $tables.length);
        fetch(decodedUrl)
           
            .then(function (r) { return r.json() })
            if ($tables.length === 0) {
            .then(function (data) {
                debug('错误:未找到表格,尝试直接查找行...');
                 const pages = data.query.pages
                $content.find('tr').each(function(index) {
                const pageId = Object.keys(pages)[0]
                    if (index < 5) debug('行 ' + index + ' HTML: ' + $(this).html().substring(0, 100));
                const pageData = pages[pageId]
                 });
 
            }
                 if (!pageData.revisions) {
           
                     throw new Error('页面不存在')
            $tables.first().find('tr').each(function(index) {
                 if (index === 0) {
                     debug('表头: ' + $(this).text());
                    return;
                 }
                 }
               
 
                 var $cells = $(this).find('td, th');
                 const wikitext = pageData.revisions[0]['*']
                 debug('行 ' + index + ' 单元格数量: ' + $cells.length);
                 const styles = parseStylesFromWikitext(wikitext)
                  
 
                 if ($cells.length >= 3) {
                 let imageUrl = null
                    var song = {
                 if (pageData.thumbnail) {
                        image: extractImageUrl($cells.eq(0)),
                     if (pageData.thumbnail.source) {
                        title: $cells.eq(1).text().trim(),
                         imageUrl = pageData.thumbnail.source
                        ez: $cells.eq(4) ? $cells.eq(4).text().trim() : '?',
                        hd: $cells.eq(5) ? $cells.eq(5).text().trim() : '?',
                        in: $cells.eq(6) ? $cells.eq(6).text().trim() : '?'
                    };
                   
                     if (song.title && song.title !== '') {
                         songs.push(song);
                        debug('找到曲目: ' + song.title);
                     }
                     }
                 }
                 }
             });
 
              
                updateSongInfo(song, {
            debug('总共找到曲目: ' + songs.length);
                    titleBg: styles.titleBg || '#94E1FF',
              
                    titleColor: styles.titleColor || '#000000',
            if (songs.length > 0) {
                    headerBg: styles.headerBg || '#A3E5FF',
                var randomSong = songs[Math.floor(Math.random() * songs.length)];
                    headerColor: styles.headerColor || '#000000',
                debug('随机选择曲目: ' + randomSong.title);
                    labelBg: styles.labelBg || '#B2E9FE',
                loadSongDetails(randomSong);
                    labelColor: styles.labelColor || '#000000',
            } else {
                    imageUrl: imageUrl,
                debug('错误:未找到任何曲目,使用备用方案...');
                    pageUrl: `https://rizwiki.cn/wiki/${encodeURIComponent(song.title)}`
                useFallbackData();
                })
            }
             })
         },
             .catch(function (e) {
        error: function(xhr, status, error) {
                console.error('获取曲目颜色失败:', e)
            debug('获取曲目列表失败: ' + error);
                updateSongInfo(song, {
            useFallbackData();
                    titleBg: '#94E1FF',
                    titleColor: '#000000',
                    headerBg: '#A3E5FF',
                    headerColor: '#000000',
                    labelBg: '#B2E9FE',
                    labelColor: '#000000',
                    imageUrl: null,
                    pageUrl: `https://rizwiki.cn/wiki/${encodeURIComponent(song.title)}`
                })
             })
    }
 
    function parseStylesFromWikitext(wikitext) {
        var styles = {}
        var color1Match = wikitext.match(/\|color1\s*=\s*([^\n}]+)/)
        var color3Match = wikitext.match(/\|color3\s*=\s*([^\n}]+)/)
        var color4Match = wikitext.match(/\|color4\s*=\s*([^\n}]+)/)
 
        var textcolor1Match = wikitext.match(/\|textcolor1\s*=\s*([^\n}]+)/)
        var textcolor3Match = wikitext.match(/\|textcolor3\s*=\s*([^\n}]+)/)
        var textcolor4Match = wikitext.match(/\|textcolor4\s*=\s*([^\n}]+)/)
 
        if (color1Match) styles.titleBg = color1Match[1].trim()
        if (color3Match) styles.headerBg = color3Match[1].trim()
        if (color4Match) styles.labelBg = color4Match[1].trim()
 
        if (textcolor1Match) styles.titleColor = textcolor1Match[1].trim()
        if (textcolor3Match) styles.headerColor = textcolor3Match[1].trim()
        if (textcolor4Match) styles.labelColor = textcolor4Match[1].trim()
 
         return styles
    }
 
    function updateSongInfo(song, data) {
        var titleElement = document.querySelector('.infobox-title th')
        var headerElement = document.querySelector('.infobox-header th')
        var labelElements = document.querySelectorAll('.infobox-label')
        var belowElement = document.querySelector('.infobox-below')
 
        titleElement.textContent = song.title
        titleElement.style.background = data.titleBg || '#94E1FF'
        titleElement.style.color = data.titleColor || '#000000'
 
        headerElement.style.background = data.headerBg || '#A3E5FF'
        headerElement.style.color = data.headerColor || '#000000'
 
        for (var i = 0; i < labelElements.length; i++) {
            labelElements[i].style.background = data.labelBg || '#B2E9FE'
            labelElements[i].style.color = data.labelColor || '#000000'
         }
         }
    });
 
   
        belowElement.style.background = data.labelBg || '#B2E9FE'
    function extractImageUrl($cell) {
        belowElement.style.color = data.labelColor || '#000000'
         var $img = $cell.find('img');
 
         if ($img.length > 0) {
        // 更新图片
            var src = $img.attr('src') || $img.attr('data-src');
        var container = document.querySelector('.infobox td[colspan="2"]')
             debug('找到图片: ' + src);
         container.innerHTML = `<a href="${data.pageUrl}" target="_blank"><img id="song-image" width="300" height="300" src="${data.imageUrl || '/images/thumb/4/41/插画图标.png/300px-插画图标.png'}"></a>`
            return src;
 
        var availableDifficulties = []
        if (song.ez) availableDifficulties.push({ type: "EZ", value: song.ez })
        if (song.hd) availableDifficulties.push({ type: "HD", value: song.hd })
        if (song.in) availableDifficulties.push({ type: "IN", value: song.in })
         if (song.at) availableDifficulties.push({ type: "AT", value: song.at })
        window.difficultyArray = availableDifficulties.map(function (diff) {
            return createDiffSpan(diff.type, diff.value);
        });
        window.difficultyArray.push('<span style="width:max-content;text-align:center;display:inline-block;border-radius:1em;color:white;background:#53D6FF;padding:0 0.80em;margin:0.1em 0.50em">无限制</span>');
 
        generateRandomRestrictions()
    }
 
    function createDiffSpan(diff, level) {
        var colors = {
             EZ: '#57E4C4', HD: '#FDBA61', IN: '#FE8661', AT: '#4C364B'
         }
         }
         return $cell.text().trim();
         return `<span style="width:max-content;text-align:center;display:inline-block;border-radius:1em;color:white;background:${colors[diff]};padding:0 0.80em;margin:0.1em 0.50em">${diff} ${level}</span>`
     }
     }
      
 
    function useFallbackData() {
     function generateRandomRestrictions() {
         debug('使用备用数据...');
        // 流速选项
         var fallbackSong = {
        var speeds = Array(40).fill("无限制").concat(Array.from({ length: 91 }, function (_, i) { return (i + 10) / 10 }))
             title: '测试曲目',
         // 随机流速
             image: '/images/thumb/4/41/%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png/200px-%E6%8F%92%E7%94%BB%E5%9B%BE%E6%A0%87.png',
        var selectedSpeed = speeds[Math.floor(Math.random() * speeds.length)]
             ez: '1',
        // 随机难度
             hd: '6',
        var selectedDifficulty = window.difficultyArray[Math.floor(Math.random() * window.difficultyArray.length)]
             in: '11'
 
         };
        // 流速难度显示
         updateSongInfo(fallbackSong);
        document.getElementById('speed-data').textContent = selectedSpeed
         updateStyles({
        document.getElementById('difficulty-data').innerHTML = selectedDifficulty
            titleStyle: '#94E1FF',
 
            headerStyle: '#A3E5FF',
        // MOD权重配置
            labelStyle: '#B2E9FE'
         var modOptions = [
         });
            { name: "无MOD", weight: 9 },
             { name: "无限制", weight: 9 },
            { name: "观赏模式", weight: 1 },
 
            { name: "镜像模式", weight: 4 },
            { name: "保护模式", weight: 4 },
             { name: "Bad保护模式", weight: 4 },
            { name: "特殊计量条", weight: 1, exclude: ["特殊计量条100%", "特殊计量条110%", "特殊计量条120%"] },
            { name: "特殊计量条100%", weight: 1, exclude: ["特殊计量条", "特殊计量条110%", "特殊计量条120%"] },
            { name: "特殊计量条110%", weight: 1, exclude: ["特殊计量条", "特殊计量条100%", "特殊计量条120%"] },
            { name: "特殊计量条120%", weight: 1, exclude: ["特殊计量条", "特殊计量条100%", "特殊计量条110%"] },
            { name: "隐藏计量条", weight: 4 }
        ]
 
        // 其他限制权重配置
        var otherOptions = [
            { name: "无限制", weight: 12 },
            { name: "静音", weight: 2 },
            { name: "单手", weight: 2, exclude: ["全拆打法", "全换打法", "禁止出张"] },
            { name: "手持", weight: 2 },
            { name: "Bad数比Hit数多", weight: 1 },
             { name: "Combo低于50", weight: 1 },
            { name: "全拆打法", weight: 2, exclude: ["单手", "全换打法"] },
            { name: "全换打法", weight: 2, exclude: ["单手", "全拆打法"] },
             { name: "禁止出张", weight: 2, exclude: ["单手"] },
             { name: "反色", weight: 1 }
        ]
 
         // 随机MOD
         var selectedMods = selectWeightedItemsWithExclude(modOptions, 0.3, ["无MOD", "无限制", "观赏模式"])
 
         // 随机其他限制
        var selectedOthers = selectWeightedItemsWithExclude(otherOptions, 0.8, ["无限制"])
 
        updateRestrictionElement('mod-data', selectedMods)
        updateRestrictionElement('other-data', selectedOthers)
         updateBelowText(selectedDifficulty, selectedSpeed, selectedMods, selectedOthers)
     }
     }
      
 
     function loadSongDetails(song) {
    // 加权随机选择函数,逐个检查冲突
         debug('加载曲目详情: ' + song.title);
     // options: 选项数组
        updateSongInfo(song);
    // singleProbability: 只选择一个项的概率
       
    // excludeItem: 选择多个时要排除的项
        $.ajax({
     function selectWeightedItemsWithExclude(options, singleProbability, excludeItems) {
             url: mw.util.wikiScript('api'),
         var selectedItems = []
             data: {
 
                 action: 'parse',
        if (Math.random() < singleProbability) {
                page: song.title,
            var weightedOptions = []
                prop: 'text',
            for (var i = 0; i < options.length; i++) {
                format: 'json'
                for (var j = 0; j < options[i].weight; j++) {
             },
                    weightedOptions.push(options[i].name)
             success: function(data) {
                }
                 debug('成功获取曲目详情');
            }
                 var content = data.parse.text['*'];
             selectedItems = [weightedOptions[Math.floor(Math.random() * weightedOptions.length)]]
                var $content = $('<div>').html(content);
        } else {
               
             var availableOptions = options.filter(function (opt) {
                var titleStyle = getBackgroundColor($content.find('.infobox-title')) || '#94E1FF';
                 return !excludeItems.includes(opt.name)
                var headerStyle = getBackgroundColor($content.find('.infobox-header')) || '#A3E5FF';
            })
                var labelStyle = getBackgroundColor($content.find('.infobox-label')) || '#B2E9FE';
 
               
             var weightedOptions = []
                debug('提取的颜色 - 标题: ' + titleStyle + ', 头部: ' + headerStyle + ', 标签: ' + labelStyle);
             for (var i = 0; i < availableOptions.length; i++) {
                updateStyles({ titleStyle: titleStyle, headerStyle: headerStyle, labelStyle: labelStyle });
                 for (var j = 0; j < availableOptions[i].weight; j++) {
            },
                    weightedOptions.push(availableOptions[i])
            error: function() {
                 }
                debug('获取曲目详情失败,使用默认颜色');
            }
                updateStyles({
 
                     titleStyle: '#94E1FF',
            var count = Math.floor(Math.random() * 3) + 2  // 2-4个项
                     headerStyle: '#A3E5FF',
            var maxAttempts = 20
                     labelStyle: '#B2E9FE'
 
                 });
            while (maxAttempts > 0) {
                if (selectedItems.length < count) {
                    if (weightedOptions.length > 0) {
                        maxAttempts--
 
                        var randomIndex = Math.floor(Math.random() * weightedOptions.length)
                        var candidate = weightedOptions[randomIndex]
                        var canAdd = true
 
                        for (var j = 0; j < selectedItems.length; j++) {
                            var selectedItem = selectedItems[j]
                            if (candidate.exclude) {
                                if (candidate.exclude.includes(selectedItem)) {
                                    canAdd = false
                                    break
                                }
                            }
                            var selectedOption = availableOptions.find(function (opt) { return opt.name === selectedItem })
                            if (selectedOption) {
                                if (selectedOption.exclude) {
                                    if (selectedOption.exclude.includes(candidate.name)) {
                                        canAdd = false
                                        break
                                    }
                                }
                            }
                        }
 
                        if (canAdd) {
                            selectedItems.push(candidate.name)
                            weightedOptions = weightedOptions.filter(function (opt) { return opt.name !== candidate.name })
                        } else {
                            weightedOptions.splice(randomIndex, 1)
                        }
                     } else {
                        break
                     }
                } else {
                     break
                 }
             }
             }
        });
    }
   
    function getBackgroundColor($element) {
        if ($element.length === 0) {
            debug('未找到样式元素');
            return null;
         }
         }
         var bgColor = $element.css('background-color');
 
        debug('原始背景色: ' + bgColor);
         for (var i = 0; i < excludeItems.length; i++) {
       
            if (selectedItems.includes(excludeItems[i])) {
        if (bgColor && bgColor.startsWith('rgb')) {
                 selectedItems = [excludeItems[i]]
            var rgb = bgColor.match(/\d+/g);
                 break
            if (rgb && rgb.length === 3) {
                 var hex = '#' +
                    ('0' + parseInt(rgb[0]).toString(16)).slice(-2) +
                    ('0' + parseInt(rgb[1]).toString(16)).slice(-2) +
                    ('0' + parseInt(rgb[2]).toString(16)).slice(-2);
                 debug('转换后的HEX: ' + hex);
                return hex;
             }
             }
         }
         }
         return bgColor;
 
         return selectedItems
     }
     }
   
 
     function updateSongInfo(song) {
     function updateRestrictionElement(elementId, items) {
         debug('更新曲目信息: ' + song.title);
         var element = document.getElementById(elementId)
         $('.infobox-title th').text(song.title);
         if (items.length == 1) {
       
            element.textContent = items[0]
         if (song.image) {
         } else {
             $('#song-image').attr('src', song.image);
             element.innerHTML = '<p>' + items.join('<br>') + '</p>'
            debug('更新图片: ' + song.image);
         }
         }
       
        window.difficultyArray = [
            createDiffSpan("EZ", song.ez),
            createDiffSpan("HD", song.hd),
            createDiffSpan("IN", song.in),
            '<span style="width: max-content;text-align:center;display:inline-block;border-radius:1em;color:white;background-color:#53D6FF;padding:0 0.80em;margin:0.1em 0.50em;">无限制</span>'
        ];
       
        debug('难度数组创建完成');
        generateRandomRestrictions();
     }
     }
   
 
     function createDiffSpan(diff, level) {
     function updateBelowText(difficulty, speed, mods, others) {
         var colors = { EZ: '#57E4C4', HD: '#FDBA61', IN: '#FE8661' };
         var belowElement = document.querySelector('.infobox-below')
         return '<span style="width: max-content;text-align:center;display:inline-block;border-radius:1em;color:white;background-color:' + colors[diff] + ';padding:0 0.80em;margin:0.1em 0.50em;">' + diff + ' ' + level + '</span>';
         var belowText = ""
    }
 
   
        if (mods[0] == "观赏模式") {
    function updateStyles(styles) {
            belowText = "WOW奖励关!"
         debug('更新样式...');
         } else if (difficulty.includes('EZ')) {
        $('.infobox-title th').css('background', styles.titleStyle);
            if (speed == "无限制") {
        $('.infobox-header th').css('background', styles.headerStyle);
                if (mods[0] == "无限制") {
        $('.infobox-label').css('background', styles.labelStyle);
                    if (others[0] == "无限制") {
        debug('样式更新完成');
                        belowText = "最简单的一集"
    }
                    }
   
                }
    function generateRandomRestrictions() {
            }
         debug('生成随机限制...');
         } else if (difficulty.includes('无限制')) {
        var randomDifficulty = window.difficultyArray[Math.floor(Math.random() * window.difficultyArray.length)];
            if (speed == "无限制") {
        $('#difficulty-data').html(randomDifficulty);
                if (mods[0] == "无限制") {
       
                    if (others[0] == "无限制") {
        var speedOptions = ["无限制", "无限制", "无限制"].concat(Array.from({ length: 91 }, (_, i) => (i + 10) / 10.0));
                        belowText = "无限制!"
        $('#speed-data').text(speedOptions[Math.floor(Math.random() * speedOptions.length)]);
                    }
       
                }
        var modOptions = ["无MOD"];
            }
         var otherOptions = ["无限制"];
        } else if (difficulty.includes('AT')) {
         $('#mod-data').text(modOptions[Math.floor(Math.random() * modOptions.length)]);
            belowText = "这么强?!"
         $('#other-data').text(otherOptions[Math.floor(Math.random() * otherOptions.length)]);
         }
          
 
        debug('随机限制生成完成');
         if (belowText) {
            belowElement.style.display = ""
            belowElement.querySelector('td').textContent = belowText
         } else {
            belowElement.style.display = "none"
         }
     }
     }
});
</script>
</script>
</html>
</html>
神秘的随机挑战!
神秘的随机挑战!
Ver.1.6
<html>
<button onclick="regenerateChallenge()"
    style="padding: 10px 20px; font-size: 16px; background-color: var(--background-color-interactive-subtle); border: var(--border-width-base) solid var(--border-color-base); border-radius: var(--border-radius-large); cursor: pointer; transition-duration: 100ms;"
    onmouseover="this.style.backgroundColor='var(--background-color-base)'"
    onmouseout="this.style.backgroundColor='var(--background-color-interactive-subtle)'">
    新挑战
</button>
</html>
<pre>
{{Infobox
|name = 随机挑战
|title = 曲目
|titlestyle = background:#ccc
|image = [[File:插画图标.png|100px]]
|headerstyle = background:#ccf
|labelstyle = background:#ddf
|header1 = 限制
|label2 = 难度
|data2 = a
|label3 = 流速
|data3 = b
|label4 = MOD
|data4 = c
|label5 = 其他
|data5 = d
|belowstyle = background:#ddf;
|below = e
}}
</pre>
----
----
[[User:RedDragon/Test]]
[[User:RedDragon/Test]]
[[User:RedDragon/Test1]]
[[User:RedDragon/Test1]]
[[User:RedDragon/Test2]]
[[User:RedDragon/Test2]]

2025年10月23日 (四) 01:34的最新版本

曲目
限制
难度 a
流速 b
MOD c
其他 d

神秘的随机挑战!

Ver.1.6

{{Infobox
|name = 随机挑战
|title = 曲目
|titlestyle = background:#ccc
|image = [[File:插画图标.png|100px]]
|headerstyle = background:#ccf
|labelstyle = background:#ddf

|header1 = 限制
|label2 = 难度
|data2 = a
|label3 = 流速
|data3 = b
|label4 = MOD
|data4 = c
|label5 = 其他
|data5 = d

|belowstyle = background:#ddf;
|below = e

}}

User:RedDragon/Test User:RedDragon/Test1 User:RedDragon/Test2