java爱心效果代码来了

本文通过引用村上春树和《小王子》中的名言,强调了生活中的仪式感对提升幸福感的重要性。作者分享了一段用Java实现的爱心代码,展示了如何在编程中创造仪式感,通过绘制动态的心形图案为日常生活增添乐趣。代码运行后,屏幕上会不断生成粉色的爱心,为单调的计算机屏幕带来温馨的变化,提醒我们在忙碌的编程生活中寻找快乐的瞬间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爱心❤代码来了

村上春树说:“仪式是一件很重要的事。”
现实生活被琐事充斥,仪式感总是被人遗忘,凑合的晚饭、乱丢的衣物、杂乱无章的生活让原本平淡的生活过得一潭死水,找不到生活的乐趣。
在这里插入图片描述

童话《小王子》里狐狸对小王子说:“你最好在每天相同的时间来,比如你在下午四点钟来,那么从三点钟起,我就开始感到幸福。时间越临近,我就感到越幸福。到了四点钟我就会坐立不安,如果你随便什么时候来,我就不知道在什么时间准备我的心情,仪式能让我觉得某一天某一刻都会与众不同。”

接下来是爱心代码及展示效果
代码展示

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.util.jar.JarOutputStream;
import javax.swing.JFrame;
class Cardioid extends JFrame {
//定义窗口大小

    private static final int WIDTH = 900;
    private static final int HEIGHT = 800;
//获取屏幕大小
    private static final int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
    private static final int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
//构造函数
    public Cardioid() {
//设置窗口标题
        super("♥爱心");

//设置背景色

        this.setBackground(Color.BLACK);
//设置窗口位置
        this.setLocation((WINDOW_WIDTH - WIDTH) / 2, (WINDOW_HEIGHT - HEIGHT) / 2);
//设置窗口大小
        this.setSize(WIDTH, HEIGHT);
//设置窗口布局
        this.setLayout(getLayout());
//设置窗口可见
        this.setVisible(true);
//设置窗口的默认关闭方式
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

//图形函数
    public void paint(Graphics g) {
//横纵坐标及半径
        double x, y, r;
//绘制图形
        double z = 0.0;
        double size=10;
        int jj=0;
        while (true) {
            Image image = this.createImage(WIDTH, HEIGHT);
            Graphics pic = image.getGraphics();
            if (jj%2==0){
                size=14.5;
            }else {
                size=15;
            }
            for (int ii = 30; ii > 0; ii--) {
                Color color = new Color(255, 175, (int) (20 * Math.random()) + 220);
                for (int i = 1; i < 400; i++) {
                    int px = (int) (Math.random() * 10);
                    int py = (int) (Math.random() * 10);
                    x = 16 * (Math.sin(z) * Math.sin(z) * Math.sin(z)) * (size) + Math.pow((-1), px) * Math.random() * ii * Math.sqrt(ii) + WIDTH / 2;
                    y = -(13 * Math.cos(z) - 5 * Math.cos(2 * z) - 2 * Math.cos(3 * z) - Math.cos(4 * z)) * (size) + Math.pow((-1), py) * Math.random() * ii * Math.sqrt(ii) + HEIGHT * 1 / 3;
                    z += (Math.PI / 2.0) / 80;
                    pic.setColor(color);
//                pic.setColor(new Color(0, 255, 255));
                    pic.fillOval((int) x, (int) y, 2, 2);

                if (ii < 3) {
                    pic.setFont(new Font("楷体", Font.BOLD, 40));//设置字体
                    pic.setColor(Color.pink);
                    pic.drawString("宝贝", WIDTH / 2 - 100, 240);//绘制字符串
                    pic.drawString("爱你呦", WIDTH / 2, 280);//绘制字符串
                    g.drawImage(image, 0, 0, this);
                }
            }
            jj++;
            if (jj>100){
                break;
            }
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
public class Heart {
    public static void main(String[] args) {
        new Cardioid();
    }
}

效果展示
在这里插入图片描述

代码展示:

import javax.swing.*;
import java.awt.*;

public class heart extends JFrame {
    private static final long serialVersionUID = -1284128891908775645L;

    // 定义加载窗口大小

    public static final int GAME_WIDTH = 500;

    public static final int GAME_HEIGHT = 500;
    // 获取屏幕窗口大小
    public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;

    public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;

    public heart() {

        // 设置窗口标题
        this.setTitle("心形曲线");
        // 设置窗口初始位置
        this.setLocation((WIDTH - GAME_WIDTH) / 2, (HEIGHT - GAME_HEIGHT) / 2);
        // 设置窗口大小
        this.setSize(GAME_WIDTH, GAME_HEIGHT);
        // 设置背景色
        this.setBackground(Color.BLACK);
        // 设置窗口关闭方式
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口显示
        this.setVisible(true);
    }
    @Override
    public void paint(Graphics g) {
        double x, y, r;
        Image OffScreen = createImage(GAME_WIDTH, GAME_HEIGHT);
        Graphics drawOffScreen = OffScreen.getGraphics();
        for (int i = 0; i < 90; i++) {
            for (int j = 0; j < 90; j++) {
                r = Math.PI / 45 * i * (1 - Math.sin(Math.PI / 45 * j)) * 18;
                x = r * Math.cos(Math.PI / 45 * j) * Math.sin(Math.PI / 45 * i) + GAME_WIDTH / 2;
                y = -r * Math.sin(Math.PI / 45 * j) + GAME_HEIGHT / 4;
                //设置画笔颜色
                drawOffScreen.setColor(Color.PINK);
                // 绘制椭圆
                drawOffScreen.fillOval((int) x, (int) y, 2, 2);
            }
            // 生成图片
            g.drawImage(OffScreen, 0, 0, this);
        }
    }

    public static void main(String[] args) {
        heart demo = new heart();
        demo.setVisible(true);
    }
}

下面是展示效果

在这里插入图片描述
最后祝大家开开心心,奔赴简单快乐的生活!!!

Java爱心代码跳动是一种常见的动态效果,可以通过控制台输出字符来实现。下面是实现Java爱心代码跳动的具体步骤: 1. 首先,我们需要定义一个字符串数组,用来表示爱心的形状。可以使用特殊字符来表示爱心的轮廓和填充。 2. 接下来,我们需要使用循环来实现动态效果。可以使用一个计数器变量来控制循环次数。 3. 在每次循环中,我们需要清空控制台的输出,并重新绘制爱心的形状。可以使用嵌套循环来遍历字符串数组,并根据数组中的字符来确定输出的内容。 4. 在每次循环中,我们还可以使用Thread.sleep()方法来控制每次输出之间的时间间隔,从而实现跳动的效果。 5. 最后,我们可以在控制台输出一些提示信息,告诉用户如何停止动画。 下面是一个简单的示例代码: ```java public class HeartAnimation { public static void main(String[] args) throws InterruptedException { String[] heartShape = { " *** *** ", " ***** ***** ", "*************", " *********** ", " ********* ", " ******* ", " ***** ", " *** ", " * " }; int count = 0; while (true) { // 清空控制台输出 System.out.print("\033[H\033[2J"); System.out.flush(); // 输出爱心形状 for (String line : heartShape) { System.out.println(line); } // 控制输出间隔时间 Thread.sleep(500); // 切换爱心颜色 if (count % 2 == 0) { System.out.print("\033[31m"); // 红色 } else { System.out.print("\033[35m"); // 紫色 } count++; } } } ``` 请注意,这只是一个简单的示例代码,实际效果可能因终端的不同而有所差异。你可以根据自己的需求进行修改和扩展。
评论 103
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜羊羊zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值