1024版烟花--2的10次方 快乐

news2024/9/30 3:32:26

效果:

 

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class App extends Frame {
    //背景
    int b1x[] = {0, 666, 666, 0};
    int b1y[] = {00, 0, 666, 666};
    Thread thread;
    int count = 8;//个数

    App() {
        setLayout(new FlowLayout());
        setTitle("1024快乐");
        setSize(666, 666);
        setVisible(true);
        setLocation(850,100);
    }

    public void paint(Graphics g) {
        g.setColor(Color.BLACK);                   // 描画颜色
        g.fillPolygon(b1x, b1y, 4);              // 描画

        while (true) {
            g.setColor(Color.BLACK);                   // 描画颜色
            g.fillPolygon(b1x, b1y, 4);              // 描画
            int flowerx = (int) (Math.random() * 666);//x坐标
            int flowery = 100 + (int) (Math.random() * 300); //最终y坐标
            int movey = 666;//弹移动变量
            while (movey >= flowery)//当
            {
                g.setColor(Color.BLACK);                   // 描画颜色
                g.fillPolygon(b1x, b1y, 4);              // 描画
                g.setColor(Color.WHITE);                   // 弹颜色白色
                g.drawString("1024",flowerx,movey);
                try {
                    Thread.sleep(20);//延时
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                //用黑色抹去弹踪迹
                g.setColor(Color.BLACK);
                g.drawString("1024",flowerx,movey + 1200 / flowery);

                movey -= 1200 / flowery;//向上移动幅度
            }
            g.setColor(Color.WHITE);                   // 弹颜色白色
            g.fillOval(flowerx, flowery, 1600 / flowery, 1600 / flowery);//弹大小
            try {
                Thread.sleep(30);//延时

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //抹去弹
            g.setColor(Color.BLACK);                   // 描画颜色
            g.fillPolygon(b1x, b1y, 4);              // 描画
            //炸出以弹终点坐标为圆心的40个小
            for (int i = 0; i < 10; i++) {//

                int r = 3 + (int) (Math.random() * 400 / flowery);//花骨朵半径

                //右下象限
                Color c1 = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255));//花骨朵颜色
                g.setColor(c1);
                g.fillOval(flowerx + (int) (Math.random() * r * 50), flowery + (int) (Math.random() * r * 50), r, r);
                g.drawString("1024",flowerx + (int) (Math.random() * r * 50), flowery + (int) (Math.random() * r * 50));

                //左上象限
                Color c2 = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255));//花骨朵颜色
                g.setColor(c2);
                g.fillOval(flowerx - (int) (Math.random() * r * 50), flowery - (int) (Math.random() * r * 50), r, r);
                g.drawString("8",flowerx - (int) (Math.random() * r * 50), flowery - (int) (Math.random() * r * 50));
                //左下象限
                Color c3 = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255));//花骨朵颜色
                g.setColor(c3);
                g.fillOval(flowerx - (int) (Math.random() * r * 50), flowery + (int) (Math.random() * r * 50), r, r);
                g.drawString("16",flowerx - (int) (Math.random() * r * 50), flowery + (int) (Math.random() * r * 50));
                //右上象限
                Color c4 = new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255));//花骨朵颜色
                g.setColor(c4);
                g.fillOval(flowerx + (int) (Math.random() * r * 50), flowery - (int) (Math.random() * r * 50), r, r);
                g.drawString("32",flowerx + (int) (Math.random() * r * 50), flowery - (int) (Math.random() * r * 50));
            }
            try {
                Thread.sleep(600);//延时

            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            count--;//减1
            if (count <= 0) break;//放完退出循环
        }
        System.exit(0); //退出窗体
    }


    class WinAdapter extends WindowAdapter {
        public void windowClosing(WindowEvent we) {
            System.exit(0);
        }
    }

    public static void main(String[] args) {
        App f = new App();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1129682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Potplayer通过公网访问群晖WebDav,快速搭建远程办公环境

文章目录 1 使用环境要求&#xff1a;2 配置webdav3 测试局域网使用potplayer访问webdav4 内网穿透&#xff0c;映射至公网5 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内容让人一言难尽&#xff0c;就算是购买了国外的优秀作品&#xff0c;也总是在关键剧情上删删…

apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】

往期教程 apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】 上期演示了下如何修改apk的名称。相信只要用心的友友都会操作了。这次讲解下如何修改软件的版本号与版本名字的操作 名词浅释&#xff1a; 在apk反编译中的VersionCode---是版本号的意思.是一…

【Linux学习】—Linux常用指令(一)

【Linux学习】—Linux常用指令&#xff08;一&#xff09; 一、组管理和权限管理 在Linux中的每个用户必须属于一个组&#xff0c;不能独立于组外。 1️⃣所有者 一般为文件的创建者&#xff0c;谁创建了该文件&#xff0c;就自然的成为该文件的所有者。 查看文件的所有者…

马尔科夫链、PCV及贝叶斯动图详解

马尔科夫链、主成分分析以及条件概率等概念&#xff0c;是计算机学生必学的知识点&#xff0c;然而理论的抽象性往往让学生很难深入地去体会和理解。而本文&#xff0c;将这些抽象的理论概念&#xff0c;用可视化的方式来解释&#xff0c;还可调节相应参数来改变结果&#xff0…

1997-2021年世界各国GDP数据

1997-2021年世界各国GDP数据 1、时间&#xff1a;1997-2021年 2、来源&#xff1a;世界银行 3、范围&#xff1a;世界各国 4、指标&#xff1a;国内生产总值&#xff08;固定LCU&#xff09;、国内生产总值&#xff08;当前LCU&#xff09;、国内生产总值&#xff08;现值美…

2023年或者每一年值得最被关注的技术趋势是什么?

2023年或者近几年中&#xff0c;值得关注的技术趋势有很多&#xff0c;其中一些主要的包括&#xff1a; 人工智能与机器学习: 人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;继续在各个行业中引起变革&#xff0c;从医疗保健到金融服务&#xff0c;再…

快速入门Elasticsearch:安装、基本概念、分词器和文档基本操作详解

本文主要介绍快速入门 Elasticsearch&#xff0c;从 安装 、 基本概念 、 分词器 、*** 文档基本操作 *** 这 4 个方面快速入门。 Elasticsearch 是一款近实时的搜索引擎&#xff0c;底层是基于 Lucene 做搜索&#xff0c;再此基础上加入了分布式的特性&#xff0c;以便支持海…

QListWidget 类使用教程

文章目录 1、简介2、属性3、functions3.1、访问属性相关 function3.2、公共槽3.3、Signal3.4、其他方法 QT 官方文档参考地址&#xff1a;https://doc.qt.io/qt-5/qlistwidget.html 1、简介 moudleclass说明PyQt5.QtWidgets包含了一整套UI元素控件&#xff0c;用于建立符合系统…

Hugging face下载的离线模型不会用?没关系,看这里

可能遇到的问题&#xff1a; 不知道大家有没有碰到这样的问题&#xff0c;想从hugging face 加载模型&#xff0c;使用其提供的接口做一个简单的demo,但是由于网络的原因没办法正常访问&#xff1a; (MaxRetryError("HTTPSConnectionPool(hosthuggingface.co, port443):…

【封装--限定符private--包】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 封装访问限定符 private快捷键实现get和set 封装扩展之包如何导包怎么找包 自定义包方法: 总结 封装 访问限定符 private 什么是封装&#xff1f; 就像电脑&…

DC-8 靶机

DC_8 信息搜集 存活检测 详细扫描 后台网页扫描 网站信息搜集 访问不同的页面的时候 url 随之变化 尝试 sql 注入 在 url 后输入 验证 直接报数据库语法错误 漏洞利用 使用 sqlmap 工具 爆破数据库 sqlmap -u 10.4.7.153/?nid2 --dbs --batch成功爆破出两个数据库 d7db…

【数据结构】数组和字符串(一):矩阵的数组表示

文章目录 4.1 数组4.1.1 数组的存储和寻址4.1.2 一维数组的基本操作 4.2 矩阵4.2.1 矩阵的数组表示a. 矩阵的二维数组存储及其乘法运算b. 一维数组存储 4.1 数组 4.1.1 数组的存储和寻址 数组是一种用于存储多个相同类型元素的数据结构。在内存中&#xff0c;数组的元素是连续…

视频上的水印文字如何去掉?

嘿&#xff0c;大家好&#xff01;作为一个自媒体从业者&#xff0c;我相信大家都想知道如何去掉视频上的水印文字&#xff0c;想必大家和我一样每天都会在互联网寻找素材&#xff0c;而大部分图片或者视频都带有各种各样的水印&#xff0c;这给我的创作带来了不小的麻烦&#…

SQL Delete 语句(删除表中的记录)

SQL DELETE 语句 DELETE语句用于删除表中现有记录。 SQL DELETE 语法 DELETE FROM table_name WHERE condition; 请注意删除表格中的记录时要小心&#xff01;注意SQL DELETE 语句中的 WHERE 子句&#xff01; WHERE子句指定需要删除哪些记录。如果省略了WHERE子句&#xff…

【题解 单调队列优化dp】 简单的加法乘法计算题

题目描述&#xff1a; 分析&#xff1a; 由于对于每一步而言&#xff0c;我们都需要的是最小步数 所以我们很显然的可以写出一个dp方程&#xff1a; 设 f [ i ] f[i] f[i]表示达到i时的最小步数 我们有两种操作&#xff0c;也就是说我们可以通过一下两种方式转移过来&#xff…

前端开发实践:vue中用qrcode库将超链接生成二维码图片

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责…

VBA_MF系列技术资料1-212

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

LinkedList概念+MyLinkedList的实现

文章目录 LinkedList笔记一、 LinkedList1.概念2.LinkedList的构造方法3.LinkedList的遍历 二、MyLinkedList的实现1.定义内部类2.打印链表、求链表长度、判断是否包含关键字3. 头插法和尾插法4.在任意位置插入5.删除结点6.清空链表 LinkedList笔记 一、 LinkedList 1.概念 L…

IAR For ARM 安装教程

电脑环境 安装包下载 1、官网下载 ①搜索 IAR ②切换产品&#xff0c;选择Arm ③选择IAR Embedded Workbench for Arm ④免费试用 2、网盘下载 EWARM-CD-8202-14838.exe(访问密码: 1666) https://url48.ctfile.com/f/33868548-961057458-611638?p1666 软件下载 1、点击安…

华为数通方向HCIP-DataCom H12-831题库(多选题:41-60)

第41题 下列哪些属于VLAN聚合的优点? A、增加了编址的灵活性 B、增加了可用的VLAN数量 C、减少了IP地址的浪费 D、实现Sub-VLAN间广播域的隔离 答案:ACD 解析: 各个Sub-VLAN作为一个独立广播域实现广播隔离,又节省了IP地址资源,提高了编址的灵活性 第42题 在进行结构化的…