简单介绍
2020年注定是不平凡的一年,新冠肺炎肆虐全球,传染性特别强,目前全球感人人数还在逐渐攀升,作为中华儿女特别感谢政府作出的努力,非常感谢并致敬医护人员,是他们的努力为我们创造安全的环境,向你们致敬!
模拟方案
以下是程序粗略的模拟病毒传染过程,具体方案如下:
首先需要构造一个200 * 200的格子界面有四种不同的颜色状态标记着程序执行的过程程序执行10次,初始化格子也就是0的时候,需要在整个格子最中心的100个格子标记为红色,剩余数据随机抽取四千(且不能重复)标记为黑色,其余没有标记的为白色。之后第2次到第10次的所有数据随机转化为不同颜色
#说明
红色代表已确诊黑色代表已死亡白色代表隔离期绿色代表未感染
模拟结果
执行源码
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import javax.swing.Jframe;
public class DrawSee extends Jframe {
private static final long serialVersionUID = -3469074514775590338L;
private static final int sx = 20;// 游戏区域200*200方块的起始横坐标
private static final int sy = 40;// 游戏区域200*200方块的起始纵坐标
private static final int w = 3;// 每个小方格的边长
private static final int rw = 600;// 游戏区域200*200方块的边长
private Graphics jg;
private Color rectColor = new Color(0xf5f5f5);
public DrawSee() {
Container p = getContentPane();
setBounds(100, 100, 650, 650);
setVisible(true);
p.setBackground(rectColor);
setLayout(null);
setResizable(false);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
// 获取专门用于在窗口界面上绘图的对象
jg = this.getGraphics();
// 绘制游戏区域
paintComponents(jg);
}
public void paintComponents(Graphics g) {
try {
// 设置线条颜色为红色
g.setColor(Color.WHITE);
// 绘制外层矩形框
g.drawRect(sx, sy, rw, rw);
int N = 200;
for (int i = 1; i < N; i++) {
// 绘制第i条竖直线
g.drawLine(sx + (i * w), sy, sx + (i * w), sy + rw);
// 绘制第i条水平线
g.drawLine(sx, sy + (i * w), sx + rw, sy + (i * w));
}
// 填写第i行从第1个方格到第N个方格里面的背景颜色(方格序号从0开始)
int[][] s = new int[N][N];
int sl = s.length;
List
说明
本文只做学习参考,如有任何不准确的地方欢迎指正。
到此这篇关于使用Java程序模拟实现新冠病毒传染效果的文章就介绍到这了,更多相关Java实现新冠病毒传染内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!