【Java开发】Java实现黑客帝国代码雨
生活随笔
收集整理的這篇文章主要介紹了
【Java开发】Java实现黑客帝国代码雨
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、黑客帝國代碼雨
- 1.1canvas實(shí)現(xiàn)接口
- 1.2 調(diào)用測試代碼
- 1.3 測試結(jié)果
- 1.4 附件
一、黑客帝國代碼雨
1.1canvas實(shí)現(xiàn)接口
import java.awt.*; import java.util.Random;public class RainCanvas extends Canvas implements Runnable {private int width, height;private Image offScreen;private char[][] charset;private int[] pos;private Color[] colors = new Color[30];public RainCanvas(int width, int height){this.width = width;this.height = height;Random rand = new Random();charset = new char[width / 10][height / 10];for (int i = 0; i < charset.length; i++){for (int j = 0; j < charset[i].length; j++){charset[i][j] = (char) (rand.nextInt(96) + 48);}}pos = new int[charset.length];for (int i = 0; i < pos.length; i++){pos[i] = rand.nextInt(pos.length);}for (int i = 0; i < colors.length - 1; i++){colors[i] = new Color(0, 255 / colors.length * (i+1), 0);}colors[colors.length - 1] = new Color(255, 255, 255);setBackground(Color.BLACK);setSize(width, height);setVisible(true);}public void strartRain(){new Thread(this).start();}public void drawRain(){if (offScreen == null)return;Random rand = new Random();Graphics g = offScreen.getGraphics();g.clearRect(0, 0, width, height);g.setFont(new Font("Arial", Font.PLAIN, 14));for (int i = 0; i < charset.length; i++){int spend = rand.nextInt(3);for (int j = 0; j < colors.length; j++){int index = (pos[i] + j) % charset[i].length;g.setColor(colors[j]);g.drawChars(charset[i], index, 1, i * 10, index * 10);}pos[i] = (pos[i] + 1) % charset[i].length;}}@Overridepublic void run() {while (true){drawRain();repaint();try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}}}@Overridepublic void update(Graphics g){paint(g);}@Overridepublic void paint(Graphics g){if (offScreen == null){offScreen = createImage(width, height);}g.drawImage(offScreen, 0, 0, this);} }1.2 調(diào)用測試代碼
import javax.swing.*; import java.util.Scanner;public class Rain extends JFrame {private RainCanvas canvas = new RainCanvas(1920, 1080);public Rain(){super("Test");setUndecorated(true);setExtendedState(JFrame.MAXIMIZED_BOTH);setVisible(true);canvas = new RainCanvas(this.getWidth(), this.getHeight()); // canvas = new RainCanvas(800, 600);getContentPane().add(canvas);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args) {Rain rain = new Rain();rain.canvas.strartRain();} }1.3 測試結(jié)果
1.4 附件
直接下載地址https://download.csdn.net/download/m0_66345324/83162346
總結(jié)
以上是生活随笔為你收集整理的【Java开发】Java实现黑客帝国代码雨的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现黑客帝国 数字雨
- 下一篇: java美元兑换,(Java实现) 美元