烟花代码编程(烟花代码编程教程)

今日出生 2022年08月21日

本文目录一览:

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_move  y_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 (r  55)

r -= 20;

if (g  55)

g -= 20;

if (b  55)

b -= 20;

g1.setColor(new Color(r, g, b));

g1.fillOval(x_click, y_move + j * 5, 5, 5);//这一段都是改变颜色,然后画圆的

}

g1.setColor(Color.black);

g1.fillOval(x_click, y_move + 5 * 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_move  y_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 (i  23) {

g1.drawOval(x_click - 3 * (i + 1), y_click - 3 * (i + 1),

6 * (i + 1), 6 * (i + 1));

g1.drawOval(x_click - 3 * (i + 2), y_click - 3 * (i + 2),

6 * (i + 2), 6 * (i + 2));

}//上面这段是画爆炸的效果

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;//把这个线程置为空,让它执行完以后就释放

}

如果你想一下自己写要怎样写这个程序,就很容易理解这个程序了。

一直从下向上画圆,然后把下面的圆擦掉,就能得到一个向上升的烟花效果,

爆炸效果就是先画小圆再画大圆,然后擦掉小圆,再擦掉大圆。

电脑的烟花及编程码

就是就是

这方面用c麻烦死了

还是学学flash吧

简单得多

有c的基础

actionscript也不难学

在编写那个烟花的程序(java),以下是对烟花进行绘制的代码,我是新手看不懂,请帮忙解释下呢··

就是找了三个随机数, r,g,b作为颜色的初始色彩,在三个数字上偏移, 得到相近的颜色.. 并画出来..

礼花代码

我这里网速比较慢,打不开网页,你自己去看看吧,应该不会错的,希望能够帮到你

c语言放烟花代码

#include "stdlib.h"

#include "graphics.h"

#include "stdio.h"

#include "math.h"

#include "conio.h "

#define PI  3.1425926

main()

{

int gdriver=DETECT,gmode,errorcode;

int a[10],b[10],x,y,c,r,i,j,t;

double rad = 0.0;

/* initialize graphics and local variables */

initgraph(gdriver , gmode ,"");

/* read result of initialization */

errorcode = graphresult();

if (errorcode != grOk)  /* an error occurred */

{

printf("Graphics error : %s/n",grapherrormsg(errorcode));

printf("Please any key to halt:");

getch();

exit(1);  /* terminate with an error code */

}

randomize();

for(;!kbhit();)

{

x=rand()%500+100; /*随机中心坐标*/

y=rand()%300+100;

for(r = 0 ;r = 8 ; r++  )    /*烟花的大小设定*/

{

for(i = 0,rad = 0.0 ; rad 2*PI; rad += 0.78 )  /*设定坐标*/

{

a[i++] = x + (int)r *10* cos(rad);

b[ i ] = y + (int)r *10* sin(rad);

}

t = i;

for(i=1;it;i++)

{

c=rand()%13+1; /*各点的颜色随机*/

setcolor(c);       /*功能:将当前图形屏幕的当前笔画颜色置为color.*/

circle(a[i],b[i],1);/* a[i],b[i] 为圆心 1 为半径 画圆 */

}

delay(10000);

delay(10000);

cleardevice();

函数名: cleardevice         

功  能: 清除图形屏幕 

用  法: void far cleardevice(void);

}

}

getch();

closegraph();

函数名: closegraph

功  能: 关闭图形系统

用  法: void far closegraph(void);

}

扩展资料

C语言:表白显示(多彩小心心)

#include stdio.h

#include math.h

#include stdlib.h

#define I 20

#define R 340

#include string.h

int main()

{

char answer[10];

printf("遇到你\n我才发现\n曾经所有的条件\n似乎都成了我等你的借口\n\n");

printf("我对你的感情已经决堤\n所以\n请允许我,从今往后映入你\n明媚的眼\n");

printf("我\n想和你\n耳鬓厮磨,相濡以沫!");

printf("答应我吧!\n输入yes,你可以看到我的真心\n");

scanf("%s", answer);

float y, x, z, f;

for (y = 1.5f; y -1.5f; y -= 0.1f)

{

for (x = -1.5f; x 1.5f; x += 0.05f)

{

z = x * x + y * y - 1;

f = z * z*z - x * x*y*y*y;

putchar(f = 0.0f ? "*********"[(int)(f*-8.0f)] : ' ');

}

putchar('\n');

}

long time;

for (;;)

{

system("color a");

for (time = 0; time99999999; time++);

system("color b");

for (time = 0; time99999999; time++);

system("color c");

for (time = 0; time99999999; time++);

system("color d");

for (time = 0; time99999999; time++);

system("color e");

for (time = 0; time99999999; time++);

system("color f");

for (time = 0; time99999999; time++);

system("color 0");

for (time = 0; time99999999; time++);

system("color 1");

for (time = 0; time99999999; time++);

system("color 2");

for (time = 0; time99999999; time++);

system("color 3");

for (time = 0; time99999999; time++);

system("color 4");

for (time = 0; time99999999; time++);

system("color 5");

for (time = 0; time99999999; time++);

system("color 6");

for (time = 0; time99999999; time++);

system("color 7");

for (time = 0; time99999999; time++);

system("color 8");

for (time = 0; time99999999; time++);

system("color 9");

}

getchar();

return 0;

}

想用c#做一个烟花的动画,用窗口还是程序台?思路是什么,怎么写?求大神指教我是初学者,什么都不懂

控制台肯定不行。窗口程序至少属于可视化界面。

初学者别搞这个了,你要做的这个可以用其他软件更方便实现。

非要用C#的winform来做动画,研究一下System.Drawing吧。

至于编程思路可以简单给你讲一个:

定义个烟花类:

属性:

烟花的颜色【Color】,

烟花当前位置【Point】,

飞行方向【int】,

飞行轨迹【Point集合】,

烟花尾巴长度【int】,

爆炸生成烟花数量【int】

方法:

烟花爆炸()——如果爆炸生成的烟花数量设置是0,那么就不爆炸;否则安装数量new 新的烟花出来,360°除以烟花数量设置烟花方向。

烟花飞行()——飞行轨迹记录之前的位置,通过飞行方向计算当前位置,通过尾巴长度颜色属性进行图像刷新。

。。。。。。

关键词: 烟花代码编程
我来说两句
黑客技术 2年前 (2022-08-21) | 回复
是什么,怎么写?求大神指教我是初学者,什么都不懂控制台肯定不行。窗口程序至少属于可视化界面。初学者别搞这个了,你要做的这个可以用其他软件更方便实现。非要用C#的winform来做动画,研究一下System.Drawing吧。至于编程思路可以简单给你讲一个:定义个烟花
黑客技术 2年前 (2022-08-21) | 回复
int r, g, b; while (y_move  y_click)//如果点击的位置小于最大高度。 { g1.setColor(Color.black);//画笔设成黑色 g1.fill
黑客技术 2年前 (2022-08-21) | 回复
(time = 0; time99999999; time++); system("color 9"); } getchar(); return 0;}想用c#做一个烟花的动画,用窗口还是程序台?思路是什