日期:2014-05-16  浏览次数:20547 次

【编程游戏】贺岁放礼花。(第一名奖励10000可用分)(续1)
【编程游戏】贺岁放礼花。(第一名奖励10000可用分)(续2)
【编程游戏】贺岁放礼花。(第一名奖励10000可用分)(续1)
【编程游戏】贺岁放礼花。(第一名奖励10000可用分)
博客



说明:
  2009年新年即将到来,让我们一起用代码点燃属于程序员的礼花!
  这个活动是我个人发起的,简单的说:就是用程序模拟燃放礼花的过程,色彩、轨迹等自由发挥,娱乐为主。

要求:
  单一的html文件,8000字内(能一次贴出来);
  尽量不含图片;
  兼容IE6/7/8、FF2/3。

考评:
  动画效果 50%
  可读性/代码简洁 30%
  运行效率 20%

奖项:
  一等奖一名(100专家分、税前10000可用分)
  二等奖一名(50专家分、税前2000可用分)

截止日期:
  2009春节

祝福大家新年快乐

集中燃放点:(实时更新)
【编程游戏】贺岁放礼花。(点燃续帖2-142楼sharp_ice的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-141楼sharp_ice的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-133楼langtse的焰火)(修改自169楼Free_Wind22)
【编程游戏】贺岁放礼花。(点燃续帖2-132楼dh20156的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-123楼dh20156的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-8楼wcwtitxu的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-6楼lshdic的焰火)
【编程游戏】贺岁放礼花。(点燃续帖2-5楼zswang的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-194楼lshdic的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-188楼zswang的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-172楼yonghengdexingxing的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-164楼lshdic的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-145楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-143楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-142楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-141楼YH_Random的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-131楼lshdic的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-123楼cicadu的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-116楼cgisir的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-106楼cgisir的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-77楼muxrwc的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-58楼froole的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-56楼hongmaohouzi的焰火)(请在IE下运行)
【编程游戏】贺岁放礼花。(点燃续帖1-47楼0009的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-37楼muxrwc的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-36楼cgisir的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-24楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃续帖1-18楼Free_Wind22的焰火)
【编程游戏】贺岁放礼花。(点燃201楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃200楼KiteGirl的焰火)
【编程游戏】贺岁放礼花。(点燃190楼lshdic的焰火)(请在IE下运行)
【编程游戏】贺岁放礼花。(点燃175楼web_show的焰火)(修改自169楼Free_Wind22)
【编程游戏】贺岁放礼花。(点燃169楼Free_Wind22的焰火)
【编程游戏】贺岁放礼花。(点燃106楼zhanghezheng的焰火)(请在IE下运行)
【编程游戏】贺岁放礼花。(点燃78楼lsc1202001的焰火)
【编程游戏】贺岁放礼花。(点燃60楼Free_Wind22的焰火)
【编程游戏】贺岁放礼花。(点燃46楼dh20156的焰火)
【编程游戏】贺岁放礼花。(点燃34楼zjsfdxbao的焰火)
【编程游戏】贺岁放礼花。(点燃17楼dh20156的焰火)
已经加入投票,请大家参与评分。

------解决方案--------------------
居然在没有任何说明情况下,能把我的vbs改编成JS,实在够强!
不过有个地方有点不对:R位平面和B位平面是反的,导致爆炸变成了蓝色。
CreateColors()里的RGB算法和VBS有点区别,应该是下面的效果。烟花爆炸的效果应该是橙红色而不是蓝色。
VBS里理应也是下面这样,但不清楚为什么按照R、G、B的顺序在VBS下就是不对。因此VBS下我是倒序的。

Java code

    function CreateColors() {
      var tColor = {};
      for (var tColorIndex = 0; tColorIndex <= 255; tColorIndex++) {
        tColor[0] = Math.random();
        tColor[1] = Math.random();
        tColor[2] = Math.random();       
        tColor[Math.floor(Math.random() * 3)] = 1;
        tLightLen = Math.floor(Math.random() * 50) + 50;
        
        for (var tLightIndex = 0; tLightIndex <= 99; tLightIndex++) {
          pubColors[tColorIndex * 256 + tLightIndex] = rgb( (tLightIndex * 255) / 100, (tLightIndex * 128) / 100,0);
        }   
        for (var tLightIndex = 100; tLightIndex <= 199; tLightIndex++) {
          pubColors[tColorIndex * 256 + tLightIndex] = 0;
        }   
        for (var tLightIndex = 100; tLightIndex <= 100 + tLightLen; tLightIndex++) {
          pubColors[tColorIndex * 256 + tLightIndex] = rgb((tColor[0] * (tLightIndex - 100) * 255) / tLightLen, (tColor[1] * (tLightIndex - 100) * 255) / tLightLen, (tColor[2] * (tLightIndex - 100) * 255) / tLightLen);
        }   
        for (var tLightIndex = 200; tLightIndex <= 224; tLightIndex++) {
          pubColors[tColorIndex * 256 + tLightIndex] = rgb((tLightIndex - 200) * 128 / 24, (tLightIndex - 200) * 64 / 24, 0);
        }   
        for (var tLightIndex = 225; tLightIndex <= 255; tLightIndex++) {
          pubColors[tColorIndex * 256 + tLightIndex] = Math.floor(Math.random() * 3) == 0 ? rgb(255, 255, 255) : rgb(0, 0, 0);
        }
      }
    }
<