2022年跨年烟花代码可复制

2022年跨年烟花代码可复制,第1张

烟花代码如下:

package love

import java.applet.Applet

import java.awt.Color

import java.awt.Graphics

import java.net.URL

import java.util.Random

烟花

@author enjoy

@SuppressWarnings("serial")

public class Q extends Applet implements Runnable

public int speed, variability, Max_Number, Max_Energy, Max_Patch,

Max_Length, G

public String sound

private int width, height

private Thread thread = null

private BeaClassDemo bcd[]

public void init()                     

int i

this.setSize(1900, 900)

width = getSize().width - 1

height = getSize().height - 1

speed = 1                        // 烟花备消绽放的速度

variability = 10

Max_Number = 980                    // 可发出烟花的最大数目

Max_Energy = width + 50

Max_Patch = 90 仿山知                   // 最大的斑点数

Max_Length = 90      唯睁              // 斑点的最大距离

G = 150                            // 向地面弯曲的力度

bcd = new BeaClassDemo[Max_Number]

for (i = 0i <Max_Numberi++)

bcd[i] = new BeaClassDemo(width, height, G)

}

public void start() {

if (thread == null) {

thread = new Thread(this)

thread.start()

}

}

@SuppressWarnings("deprecation")

public void stop() {

if (thread != null) {

thread.stop()

thread = null

}

}

@SuppressWarnings({ "unused", "static-access" })

public void run() {

int i

int E = (int) (Math.random() * Max_Energy * 3 / 4) + Max_Energy / 4 + 1

int P = (int) (Math.random() * Max_Patch * 3 / 4)    // 烟花的斑点数

+ Max_Patch / 4 + 1

int L = (int) (Math.random() * Max_Length * 3 / 4)    // 烟花可发射出的距离

+ Max_Length / 4 + 1

long S = (long) (Math.random() * 10000)

boolean sleep

Graphics g = getGraphics()

URL u = null

while (true) {

try {

thread.sleep(1000 / speed)

catch (InterruptedException x) {

sleep = true

for (i = 0i <Max_Numberi++)

sleep = sleep &&bcd[i].sleep

if (sleep &&Math.random() * 100 <variability) {

E = (int) (Math.random() * Max_Energy * 3 / 4) + Max_Energy / 4

+ 1

P = (int) (Math.random() * Max_Patch * 3 / 4) + Max_Patch / 4

+ 1

L = (int) (Math.random() * Max_Length * 3 / 4) + Max_Length / 4

+ 1

S = (long) (Math.random() * 10000)

for (i = 0i <Max_Numberi++) {

if (bcd[i].sleep &&Math.random() * Max_Number * L <1)

bcd[i].init(E, P, L, S)

bcd[i].start()

bcd[i].show(g)

public void paint(Graphics g)                 

g.setColor(Color.black)

g.fillRect(0, 0, width + 1, height + 1)

class BeaClassDemo

public boolean sleep = true

private int energy, patch, length, width, height, G, Xx, Xy, Ex[], Ey[], x,

y, Red, Blue, Green, t

private Random random

public BeaClassDemo(int a, int b, int g)       

width = a

height = b

G = g

public void init(int e, int p, int l, long seed) 

int i

energy = e

patch = p

length = l

// 创建一个带种子的随机数生成器

random = new Random(seed)

Ex = new int[patch]

Ey = new int[patch]

Red = (int) (random.nextDouble() * 128) + 128

Blue = (int) (random.nextDouble() * 128) + 128

Green = (int) (random.nextDouble() * 128) + 128

Xx = (int) (Math.random() * width / 2) + width / 4

Xy = (int) (Math.random() * height / 2) + height / 4

for (i = 0i <patchi++) {

Ex[i] = (int) (Math.random() * energy) - energy / 2

Ey[i] = (int) (Math.random() * energy * 7 / 8) - energy / 8

public void start

t = 0

sleep = false

public void show(Graphics g)     

if (!sleep)                  

if (t <length)

int i, c

double s

Color color

c = (int) (random.nextDouble() * 64) - 32 + Red

if (c >= 0 &&c <256)

Red = c

c = (int) (random.nextDouble() * 64) - 32 + Blue

if (c >= 0 &&c <256)

Blue = c

c = (int) (random.nextDouble() * 64) - 32 + Green

if (c >= 0 &&c <256)

Green = c

color = new Color(Red, Blue, Green)

for (i = 0i <patchi++)

s = (double) t / 100

x = (int) (Ex[i] * s)

y = (int) (Ey[i] * s - G * s * s)

g.setColor(color)

g.drawLine(Xx + x, Xy - y, Xx + x, Xy - y)

if (t >= length / 2)

int j

for (j = 0j <2j++)

s = (double) ((t - length / 2) * 2 + j) / 100

x = (int) (Ex[i] * s)

y = (int) (Ey[i] * s - G * s * s)

g.setColor(Color.black)

g.drawLine(Xx + x, Xy - y, Xx + x, Xy - y)

常用的编程语言。

编程语言一:C语言

C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在 *** 作系统和系统使用程序以及需要对硬件进行 *** 作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

编程语言二:java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。

编程语言三:c++

C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus" , "CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。

// Decompiled by DJ v2.9.9.60 Copyright 2000 Atanas Neshkov Date: 2003-1-8 9:49:09

// Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!

// Decompiler options: packimports(3)

//游老 Source File Name: jhanabi.java

import java.applet.Applet

import java.applet.AudioClip

import java.awt.*

import java.awt.image.MemoryImageSource

import java.util.Random

public class jhanabi extends Applet

implements Runnable

{

public jhanabi()

{

m_mouseX = 0

m_mouseY = 0

m_sleepTime = 5

isError = false

isInitialized = false

rand = new Random()

bits = 10000

bit_px = new double[bits]

bit_py = new double[bits]

bit_vx = new double[bits]

bit_vy = new double[bits]

bit_sx = new int[bits]

bit_sy = new int[bits]

bit_l = new int[bits]

bit_f = new int[bits]

bit_p = new int[bits]

bit_c = new int[bits]

ru = 50

rv = 50

}

public void init()

{

String s = getParameter("裂磨梁para_bits")

if(s != null)

bits = Integer.parseInt(s)

s = getParameter("para_max")

if(s != null)

bit_max = Integer.parseInt(s)

s = getParameter("para_blendx")

if(s != null)

ru = Integer.parseInt(s)

s = getParameter("para_blendy"肆运)

if(s != null)

rv = Integer.parseInt(s)

s = getParameter("para_sound")

if(s != null)

bit_sound = Integer.parseInt(s)

m_nAppX = size().width

m_nAppY = size().height

m_centerX = m_nAppX / 2

m_centerY = m_nAppY / 2

m_mouseX = m_centerX

m_mouseY = m_centerY

resize(m_nAppX, m_nAppY)

pixls = m_nAppX * m_nAppY

pixls2 = pixls - m_nAppX * 2

pix0 = new int[pixls]

offImage = new MemoryImageSource(m_nAppX, m_nAppY, pix0, 0, m_nAppX)

offImage.setAnimated(true)

dbImg = createImage(offImage)

for(int i = 0i <pixlsi++)

pix0[i] = 0xff000000

sound1 = getAudioClip(getDocumentBase(), "firework.au")

sound2 = getAudioClip(getDocumentBase(), "syu.au")

for(int j = 0j <bitsj++)

bit_f[j] = 0

isInitialized = true

start()

}

public void run()

{

while(!isInitialized)

try

{

Thread.sleep(200L)

}

catch(InterruptedException interruptedexception) { }

do

{

for(int j = 0j <pixls2j++)

{

int k = pix0[j]

int l = pix0[j + 1]

int i1 = pix0[j + m_nAppX]

int j1 = pix0[j + m_nAppX + 1]

int i = (k &0xff0000) >>16

int k1 = ((((l &0xff0000) >>16) - i) * ru >>8) + i

i = (k &0xff00) >>8

int l1 = ((((l &0xff00) >>8) - i) * ru >>8) + i

i = k &0xff

int i2 = (((l &0xff) - i) * ru >>8) + i

i = (i1 &0xff0000) >>16

int j2 = ((((j1 &0xff0000) >>16) - i) * ru >>8) + i

i = (i1 &0xff00) >>8

int k2 = ((((j1 &0xff00) >>8) - i) * ru >>8) + i

i = i1 &0xff

int l2 = (((j1 &0xff) - i) * ru >>8) + i

int i3 = ((j2 - k1) * rv >>8) + k1

int j3 = ((k2 - l1) * rv >>8) + l1

int k3 = ((l2 - i2) * rv >>8) + i2

pix0[j] = i3 <<16 | j3 <<8 | k3 | 0xff000000

}

rend()

offImage.newPixels(0, 0, m_nAppX, m_nAppY)

try

{

Thread.sleep(m_sleepTime)

}

catch(InterruptedException interruptedexception1) { }

} while(true)

}

public void update(Graphics g)

{

paint(g)

}

public void paint(Graphics g)

{

g.drawImage(dbImg, 0, 0, this)

}

public void start()

{

if(isError)

return

isRunning = true

if(runner == null)

{

runner = new Thread(this)

runner.start()

}

}

public void stop()

{

if(runner != null)

{

runner.stop()

runner = null

}

}

public boolean mouseMove(Event event, int i, int j)

{

m_mouseX = i

m_mouseY = j

return true

}

public boolean mouseDown(Event event, int i, int j)

{

m_mouseX = i

m_mouseY = j

int k = (int)(rand.nextDouble() * 256D)

int l = (int)(rand.nextDouble() * 256D)

int i1 = (int)(rand.nextDouble() * 256D)

int j1 = k <<16 | l <<8 | i1 | 0xff000000

int k1 = 0

for(int l1 = 0l1 <bitsl1++)

{

if(bit_f[l1] != 0)

continue

bit_px[l1] = m_mouseX

bit_py[l1] = m_mouseY

double d = rand.nextDouble() * 6.2800000000000002D

double d1 = rand.nextDouble()

bit_vx[l1] = Math.sin(d) * d1

bit_vy[l1] = Math.cos(d) * d1

bit_l[l1] = (int)(rand.nextDouble() * 100D) + 100

bit_p[l1] = (int)(rand.nextDouble() * 3D)

bit_c[l1] = j1

bit_sx[l1] = m_mouseX

bit_sy[l1] = m_nAppY - 5

bit_f[l1] = 2

if(++k1 == bit_max)

break

}

if(bit_sound >1)

sound2.play()

return true

}

public boolean mouseExit(Event event, int i, int j)

{

m_mouseX = i

m_mouseY = j

return true

}

void rend()

{

boolean flag = false

boolean flag1 = false

boolean flag2 = false

for(int k = 0k <bitsk++)

switch(bit_f[k])

{

default:

break

case 1: // '\001'

bit_vy[k] += rand.nextDouble() / 50D

bit_px[k] += bit_vx[k]

bit_py[k] += bit_vy[k]

bit_l[k]--

if(bit_l[k] == 0 || bit_px[k] <0.0D || bit_py[k] <0.0D || bit_px[k] >(double)m_nAppX || bit_py[k] >(double)(m_nAppY - 3))

{

bit_c[k] = 0xff000000

bit_f[k] = 0

} else

if(bit_p[k] == 0)

{

if((int)(rand.nextDouble() * 2D) == 0)

bit_set((int)bit_px[k], (int)bit_py[k], -1)

} else

{

bit_set((int)bit_px[k], (int)bit_py[k], bit_c[k])

}

break

case 2: // '\002'

bit_sy[k] -= 5

if((double)bit_sy[k] <= bit_py[k])

{

bit_f[k] = 1

flag2 = true

}

if((int)(rand.nextDouble() * 20D) == 0)

{

int i = (int)(rand.nextDouble() * 2D)

int j = (int)(rand.nextDouble() * 5D)

bit_set(bit_sx[k] + i, bit_sy[k] + j, -1)

}

break

}

if(flag2 &&bit_sound >0)

sound1.play()

}

void bit_set(int i, int j, int k)

{

int l = i + j * m_nAppX

pix0[l] = k

}

private int m_nAppX

private int m_nAppY

private int m_centerX

private int m_centerY

private int m_mouseX

private int m_mouseY

private int m_sleepTime

private boolean isError

private boolean m_isPaintFinished

boolean isRunning

boolean isInitialized

Thread runner

int pix0[]

MemoryImageSource offImage

Image dbImg

int pixls

int pixls2

Random rand

int bits

double bit_px[]

double bit_py[]

double bit_vx[]

double bit_vy[]

int bit_sx[]

int bit_sy[]

int bit_l[]

int bit_f[]

int bit_p[]

int bit_c[]

int bit_max

int bit_sound

int ru

int rv

AudioClip sound1

AudioClip sound2

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12343990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存