java好多烟花绽放代码 java实现烟花

2022年跨年烟花代码可复制烟花代码如下java好多烟花绽放代码:
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 = width50;
Max_Patch = 90;// 最大的斑点数
Max_Length = 90;// 斑点的最大距离
G = 150;// 向地面弯曲的力度
bcd = new BeaClassDemo[Max_Number];
for (i = 0; iMax_Number; i)
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 / 41;
int P = (int) (Math.random() * Max_Patch * 3 / 4)// 烟花的斑点数
Max_Patch / 41;
int L = (int) (Math.random() * Max_Length * 3 / 4)// 烟花可发射出的距离
Max_Length / 41;
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 = 0; iMax_Number; i)
sleep = sleepbcd[i].sleep;
if (sleepMath.random() * 100variability) {
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 = 0; iMax_Number; i) {
if (bcd[i].sleepMath.random() * Max_Number * L1)
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, width1, height1);
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 = 0; ipatch; i) {
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 (tlength)
int i, c;
double s;
Color color;
c = (int) (random.nextDouble() * 64) - 32Red;
if (c = 0c256)
Red = c;
c = (int) (random.nextDouble() * 64) - 32Blue;
if (c = 0c256)
Blue = c;
c = (int) (random.nextDouble() * 64) - 32Green;
if (c = 0c256)
Green = c;
color = new Color(Red, Blue, Green);
for (i = 0; ipatch; i)
s = (double) t / 100;
x = (int) (Ex[i] * s);
y = (int) (Ey[i] * s - G * s * s);
g.setColor(color);
g.drawLine(Xxx, Xy - y, Xxx, Xy - y);
if (t = length / 2)
int j;
for (j = 0; j2; j)
s = (double) ((t - length / 2) * 2j) / 100;
x = (int) (Ex[i] * s);
y = (int) (Ey[i] * s - G * s * s);
g.setColor(Color.black);
g.drawLine(Xxx, Xy - y, Xxx, Xy - y);
常用的编程语言 。
编程语言一java好多烟花绽放代码:C语言
C语言是世界上最流行、使用最广泛的高级程序设计语言之一 。在操作系统和系统使用程序以及需要对硬件进行操作的场合java好多烟花绽放代码,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的 。
编程语言二:java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称 。
编程语言三:c
C这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus" , "CPP” 。它是一种使用非常广泛的计算机编程语言 。C是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言 。
java烟花程序看不懂,求解释!import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
public class Fireworks extends Applet implements MouseListener, Runnable {
int x, y;//记录鼠标点击的坐标
int top, point;//好像没用到
public void init() {
x = 0;
y = 0;
setBackground(Color.black);// 设置背景色为黑色
addMouseListener(this);//添加鼠标监听
}
public void paint(Graphics g) {
}
public static void main(String args[]) {
Fireworks applet = new Fireworks();
JFrame frame = new JFrame("TextAreaNew");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {//右上角的叉
System.exit(0);
}
});
frame.add(applet, BorderLayout.CENTER);
frame.setSize(800, 400);//程序的框框大小
applet.init();
applet.start();
frame.setVisible(true);//
}
public void run() {
// 变量初始化
Graphics g1;
g1 = getGraphics();//这是画笔,得到一个画笔
int y_move, y_click, x_click;
int v;//用于计算等待的时间
x_click = x;
y_click = y;//把点击的坐标保存下来,因为其它线程会去改这两个坐标 。
y_move = 400;//用来计算变动的那个点,现在是屏幕的最大高度
v = 3;
int r, g, b;
while (y_movey_click)//如果点击的位置小于最大高度 。
{
g1.setColor(Color.black);//画笔设成黑色
g1.fillOval(x_click, y_move, 5, 5);//画圆,圆点在点击的X轴,程序界面的最高点 , 长为5,宽为5
y_move -= 5;//最高点-5
r = (((int) Math.round(Math.random() * 4321)) % 200)55;
g = (((int) Math.round(Math.random() * 4321)) % 200)55;
b = (((int) Math.round(Math.random() * 4321)) % 200)55;//rgb是光的三原色,这个就是烟花产生的颜色 , 这里定义成随机的,但在一个范围里
g1.setColor(new Color(r, g, b));//把画笔改成那个颜色
g1.fillOval(x_click, y_move, 5, 5);//画一个这样的圆
for (int j = 0; j = 10; j) {
if (r55)
r -= 20;
if (g55)
g -= 20;
if (b55)
b -= 20;
g1.setColor(new Color(r, g, b));
【java好多烟花绽放代码 java实现烟花】g1.fillOval(x_click, y_movej * 5, 5, 5);//这一段都是改变颜色,然后画圆的
}
g1.setColor(Color.black);
g1.fillOval(x_click, y_move5 * 10, 5, 5);//把上一次画的彩色圆,用黑色画一遍,就能让它消失在背景里
try {
Thread.currentThread().sleep(v);//让程序等一下,让你看到效果,不然画完的东西一下就不见了,你看不清 。
} catch (InterruptedException e) {
}
}//上面这段代码是烟花的升上去的那一串东西的效果
for (int j = 12; j = 0; j--) {
g1.setColor(Color.black);
g1.fillOval(x_click, y_move(j * 5), 5, 5);
try {
Thread.currentThread().sleep((v) / 3);
} catch (InterruptedException e) {
}
}//让最后的那串东西的点消失
y_move = 400;
g1.setColor(Color.black);
while (y_movey_click) {
g1.fillOval(x_click - 2, y_move, 9, 5);
y_move -= 5;
}//这段不太清楚是干什么的 , 我把它去掉 , 看不出效果的变化
v = 15;
for (int i = 0; i = 25; i) {
r = (((int) Math.round(Math.random() * 4321)) % 200)55;
g = (((int) Math.round(Math.random() * 4321)) % 200)55;
b = (((int) Math.round(Math.random() * 4321)) % 200)55;
g1.setColor(new Color(r, g, b));
g1.drawOval(x_click - 3 * i, y_click - 3 * i, 6 * i, 6 * i);
if (i23) {
g1.drawOval(x_click - 3 * (i1), y_click - 3 * (i1),
6 * (i1), 6 * (i1));
g1.drawOval(x_click - 3 * (i2), y_click - 3 * (i2),
6 * (i2), 6 * (i2));
}//上面这段是画爆炸的效果
try {
Thread.currentThread().sleep(v);//停一下,看效果
} catch (InterruptedException e) {
}
g1.setColor(Color.black);
g1.drawOval(x_click - 3 * i, y_click - 3 * i, 6 * i, 6 * i);//然后画黑圈,相当于让彩圈消失 。
}
}
public void mousePressed(MouseEvent e) {//点击从这里开始~~~~~~~~~~~~~~
x = e.getX();
y = e.getY();//得到鼠标点击的坐标
Thread one = new Thread(this);//新建一个线程
one.start();//启动这个线程,到上面的run方法
one = null;//把这个线程置为空 , 让它执行完以后就释放
}
如果你想一下自己写要怎样写这个程序,就很容易理解这个程序了 。
一直从下向上画圆,然后把下面的圆擦掉,就能得到一个向上升的烟花效果,
爆炸效果就是先画小圆再画大圆,然后擦掉小圆,再擦掉大圆 。
烟花程序解释 , 请大家帮帮忙!一定要详细啊,最好每个语句都能有解释 。感谢啦!# define PI 3.14 :定义常量 PI=3.14
======以下为引入的头文件, 类似java中的import page, C#中的using namespace==
#includegraphics.h == 画图
#includestdio.h== 标准输入输出
#includestdlib.h==系统函数
#includebios.h==主板输入输出
#includemath.h==数学函数
#includetime.h==日期
#includealloc.h== 这个...忘记了, 自己百度吧~
#includeconio.h== 控制台输入输出
#includedos.h==dos命令
#includestring.h ==字符串
====以下为声明方法 C中需要先声明方法 ...介个就不用多说了吧~~
void star(int x,int y);
void drawstar();
void Putstar(void);
void starflower();
=====以下为函数主体 Main函数为启动函数 主程序入口=====
int main()
{
int gdriver=DETECT; = 介个.... 楼主确定代码齐全? 感觉是定义的常量, 但是前面米有看到这个定义额
int gmode=0;
=========系统方法. 不多说了
initgraph(gdriver,gmode,"c:\\tc30\\bgi");/*注意bgi路径的设置*/
========调用自定义方法,具体方法实现都在下面==========
drawstar();
starflower();
getch();
closegraph();
return 0;
}
=======以下是自定义方法的实现=======================
void star(int x,int y)/*画星星函数*/
{
========定义变量,初始化,设置颜色
int i,a;
int n=5;
int x1[5],y1[5],x2[5],y2[5];
setcolor(YELLOW);
=======获取坐标(都是数学公式计算 ,就不用多说了吧~~)
for(i=0;i5;i)
{
x1[i]=x n*cos(i*72*PI/180);
y1[i]=y n*sin(i*72*PI/180);
x2[i]=x n/2*cos(i*72*PI/180 PI/5);
y2[i]=y n/2*sin(i*72*PI/180 PI/5);
}
for(i=0;i5;i)
{
a=i 1;
if(a4) a=0;
========根据获取的坐标画直线(连线)
line(x1[i],y1[i],x2[i],y2[i]);/*两点间画直线*/
line(x2[i],y2[i],x1[a],y1[a]);
}
}
void Putstar(void)/*画繁星函数*/
{
====定义变量, 初始化
int seed=1858;
int i,dotx,doty,h,w,color,maxcolor;
w=getmaxx();/*得到屏幕最大X坐标*/
h=getmaxy();/*得到屏幕最大Y坐标*/
srand(seed);/*产生随机数*/
for(i=0;i100;i)
{
===循环获取随机坐标, 随机颜色
dotx=i random(w-1);
doty=1 random(h-1);
color=random(h-1);
setcolor(color);
===画图
putpixel(dotx,doty,color);/*在指定位置画一像素*/
===下面介个... 应该是自定义的画圈圈的类吧.... 我猜的...
circle(dotx 1,doty 1,1);
}
srand(seed);
}
void drawstar()
{
int a[]={70,280,230,440,140,110,180,90,500,360};
int b[]={50,27,88,99,100,37,67,98,60,78},i;
===设置填充模式跟颜色神马的...
setfillstyle(1,14);
===循环调用方法
for(i=0;i10;i)
{
==介个是画星星
star(a[i],b[i]);
==介个是给刚刚画的那个填充颜色
floodfill(a[i],b[i],YELLOW);
}
==介个是第二个画星星的函数(前面有的)
Putstar();
}
void starflower() /*烟花绽放函数*/
{
===定义,初始化数据
int i=0,j,n=60,n1=2;
int x=200,y=200,size=100;
int cover=0;
int delay1=20;
int wid,hei;
int px,py;
int color=9;
===检查是不是有keyboard input, 有就不放烟花了....
while(!kbhit())
{
if(isize)
{
=====循环画一像素....(模拟烟花绽放, 到处涂鸦...)
for(j=0;jn;j)
{
==计算坐标
px=x i*cos(j*360/n*PI/180);
py=y i*sin(j*360/n*PI/180);
== 涂鸦开始....
putpixel(px,py,rand());
putpixel(px-1,py,color);
putpixel(px,py 1,color);
putpixel(px 1,py-1,YELLOW);
putpixel(px,py-1,YELLOW);
putpixel(px 1,py,RED);
putpixel(px 1,py 1,RED);
}
}
== 如果没画满就继续涂鸦
if(isizecoversize)
{
setcolor(BLACK);
circle(x,y,cover);
delay1=20;
}
== 如果画满了就清除, 重新开始
if(cover==size)
{
i=0;
x=50 rand()U0;
y=rand()@0;
cover=0;
color=rand();
size=50 rand()%0;
delay1=40;
===清除图象
clearviewport();
====重新开始
drawstar();
}
i =n1;
delay(delay1);/*暂停*/
}
}
=================================
好吧就这样了....逐行看代码很累的.楼主自己走走流程吧...
百度上java烟花代码改成按类编写,改变其烟花消失方式,实现鼠标一点实现多个烟花绽放喔哇,
都是啥子年代了 ,
还食古不化,
在触摸屏幕用手指划动而产生燃放烟花的虚拟图像效果,
早就被时代彻底底抛弃了?。?
现在都是在空中一划,根据手势,根据手势的空间运动,
立即就是实际来真格的,
真实、震撼、空间大爆炸、场面骇人、惊天动地 。
无接触,
摒弃虚拟的虚假玩意儿 。
你吹一口气,
燃放装置就喷出一股火焰 。
机械加工能力和基础强劲的 ,
产生1米边长见方立体焰火造型,
与产生100米见方焰火造型的设备是通用的 。
你与情侣自拍“刷脸”就立即产生肖像燃放造型,
其详细的工程技术细节,
早就有中英文对照的文本,
照着去做就可以了,
无需操作机床加工的人员,
去“进一步研究思考”、去开展“创造性的工作” 。
关于java好多烟花绽放代码和java实现烟花的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读