本程序由四个类组成:

其中Init_data,用于初始化各个活细胞的状态judge_state,用于判断下一代的细胞状态,并进行更新。set_color,用于给GUI界面中各个细胞涂色set_frame,用于设置GUI界面的布局
1 /*初始化细胞状态类2 * 四个模式3 * 1、easy模式,一个大写的I4 * 2、love模式,一个大写的LOVE5 * 3、arrow模式,一个粗箭头6 * 4、random模式,根据随机函数生成活细胞数7  */
8 packagegame_life_self;9
10 importjava.util.Random;11
12 public classInit_data{13     static boolean[][] state;14     static intrand;15     public Init_data(boolean[][] state_one)16 {17         state =state_one;18 }19
20     public voidinit_one()21 {22         for(int i=1;i<state.length;i++)23 {24             for(int j=1;j<state[i].length-1;j++)25 {26                 state[i][j] = false;27 }28 }29
30         //LOVE31         //L
32         state[9][3] = true;33         state[10][3] = true;34         state[11][3] = true;35         state[12][3] = true;36         state[13][3] = true;37         state[14][3] = true;38         state[14][4] = true;39         state[14][5] = true;40
41         //O
42         state[9][8] = true;43         state[10][7] = true;44         state[11][7] = true;45         state[12][7] = true;46         state[13][7] = true;47         state[14][8] = true;48         state[10][9] = true;49         state[11][9] = true;50         state[12][9] = true;51         state[13][9] = true;52
53         //V
54         state[9][11] = true;55         state[10][12] = true;56         state[11][13] = true;57         state[12][14] = true;58         state[13][15] = true;59         state[14][16] = true;60         state[13][17] = true;61         state[12][18] = true;62         state[11][19] = true;63         state[10][20] = true;64         state[9][21] = true;65
66
67         //E
68         state[9][23] = true;69         state[9][24] = true;70         state[9][25] = true;71         state[9][26] = true;72         state[10][23] = true;73         state[11][23] = true;74         state[12][23] = true;75         state[12][24] = true;76         state[12][25] = true;77         state[12][26] = true;78         state[13][23] = true;79         state[14][23] = true;80         state[15][23] = true;81         state[15][24] = true;82         state[15][25] = true;83         state[15][26] = true;84
85
86 }87
88     public voidinit_two()89 {90         for(int i=1;i<state.length;i++)91 {92             for(int j=1;j<state[i].length-1;j++)93 {94                 state[i][j] = false;95 }96 }97
98         state[23][3] = true;99         state[23][4] = true;100         state[23][5] = true;101         state[22][3] = true;102         state[22][4] = true;103         state[22][5] = true;104         state[21][3] = true;105         state[21][4] = true;106         state[21][5] = true;107         state[20][3] = true;108         state[20][4] = true;109         state[20][5] = true;110         state[19][3] = true;111         state[19][4] = true;112         state[19][5] = true;113         state[18][3] = true;114         state[18][4] = true;115         state[18][5] = true;116         state[17][3] = true;117         state[17][4] = true;118         state[17][5] = true;119         state[16][3] = true;120         state[16][4] = true;121         state[16][5] = true;122
123
124
125         state[16][6] = true;126         state[16][7] = true;127         state[16][8] = true;128         state[16][9] = true;129         state[16][10] = true;130         state[16][11] = true;131         state[16][12] = true;132         state[16][13] = true;133         state[17][6] = true;134         state[17][7] = true;135         state[17][8] = true;136         state[17][9] = true;137         state[17][10] = true;138         state[17][11] = true;139         state[17][12] = true;140         state[17][13] = true;141         state[18][6] = true;142         state[18][7] = true;143         state[18][8] = true;144         state[18][9] = true;145         state[18][10] = true;146         state[18][11] = true;147         state[18][12] = true;148         state[18][13] = true;149
150         state[15][9] = true;151         state[14][9] = true;152         state[13][9] = true;153         state[12][9] = true;154         state[11][9] = true;155         state[10][9] = true;156         state[9][9] = true;157         state[9][8] = true;158         state[9][7] = true;159         state[9][6] = true;160         state[9][5] = true;161
162         state[15][10] = true;163         state[14][10] = true;164         state[13][10] = true;165         state[12][10] = true;166         state[11][10] = true;167         state[10][10] = true;168         state[9][10] = true;169
170         state[15][11] = true;171         state[14][11] = true;172         state[13][11] = true;173         state[12][11] = true;174         state[11][11] = true;175         state[10][11] = true;176         state[9][11] = true;177
178         state[15][12] = true;179         state[14][12] = true;180         state[13][12] = true;181         state[12][12] = true;182         state[11][12] = true;183         state[10][12] = true;184         state[9][12] = true;185
186         state[15][13] = true;187         state[14][13] = true;188         state[13][13] = true;189         state[12][13] = true;190         state[11][13] = true;191         state[10][13] = true;192         state[9][13] = true;193         state[9][14] = true;194         state[9][15] = true;195         state[9][16] = true;196         state[9][17] = true;197
198         state[3][11] = true;199         state[4][10] = true;state[4][11] = true;state[4][12] = true;200         state[5][9] = true;state[5][10] = true;state[5][11] = true;state[5][12] = true;state[5][13] = true;201         state[6][8] = true;state[6][9] = true;state[6][10] = true;state[6][11] = true;state[6][12] = true;state[6][13] = true;state[6][14] = true;202         state[7][7] = true;state[7][8] = true;state[7][9] = true;state[7][10] = true;state[7][11] = true;state[7][12] = true;state[7][13] = true;state[7][14] = true;state[7][15] = true;203         state[8][6] = true;state[8][7] = true;state[8][8] = true;state[8][9] = true;state[8][10] = true;state[8][11] = true;state[8][12] = true;state[8][13] = true;state[8][14] = true;state[8][15] = true;state[8][16] = true;204
205 }206
207     public voidinit_three()208 {209         for(int i=1;i<state.length;i++)210 {211             for(int j=1;j<state[i].length-1;j++)212 {213                 rand = (int) (Math.random()*100);214                 if (rand<50) {215                     state[i][j] = false;216 }217                 else
218                     state[i][j] = true;219 }220 }221 }222     public voidinit_zero()223 {224         for(int i=1;i<state.length;i++)225 {226             for(int j=1;j<state[i].length-1;j++)227 {228                 state[i][j] = false;229 }230 }231         state[9][3] = true;232         state[9][4] = true;233         state[9][6] = true;234         state[9][7] = true;235         state[9][5] = true;236         state[10][5] = true;237         state[11][5] = true;238         state[12][5] = true;239         state[13][5] = true;240         state[14][5] = true;241         state[14][4] = true;242         state[14][6] = true;243         state[14][3] = true;244         state[14][7] = true;245
246 }247 }
1 /*主类2 * 生命游戏开始入口3 * editor:4 * 软件1501 刘辉5 * time:2017-9-76  */
7
8 packagegame_life_self;9
10 importjavax.swing.Action;11 importjavax.swing.JFrame;12 importjavax.swing.JLabel;13 importjavax.swing.JPanel;14
15 importjava.awt.Color;16 importjava.awt.GridLayout;17 importjava.awt.Panel;18 importjava.awt.Window;19 importjava.awt.event.ActionEvent;20 importjava.awt.event.ActionListener;21
22 importjavax.swing.JMenuBar;23 importjavax.swing.JMenu;24 importjavax.swing.JMenuItem;25 importjavax.swing.JOptionPane;26
27 public class start_frame extendsThread{28     staticstart_frame start;29     staticInit_data init_data;30     staticjudge_state judge;31     staticset_color set_color;32     staticset_frame frame;33     //存放细胞状态
34     static boolean[][] state_one;35     staticJPanel[][] jPanel;36     //初始化GUI界面
37     public start_frame(int row,intcol)38 {39         state_one = new boolean[row][col];40         frame = newset_frame(row,col);41         jPanel =frame.jPanel;42 }43
44     //主函数
45     public static voidmain(String[] args)46 {47         //创建游戏对象
48             start = new start_frame(30,30);49             init_data = newInit_data(state_one);50             judge = newjudge_state(state_one, jPanel);51             set_color = newset_color(state_one, jPanel);52 }53 }

1 /*判断状态类2 * 算法:3 * 根据游戏规则判断中心细胞的下一步演化规则,并将状态计入state_one[][]中。4 * nCount:周围活细胞的个数5  */
6
7
8 packagegame_life_self;9
10 importjava.awt.Color;11
12 importjavax.swing.JPanel;13
14 public classjudge_state {15     static boolean[][] state_one;16 JPanel[][] jPanel;17     //初始化类
18     public judge_state(boolean[][] state,JPanel[][] jpanel_one)19 {20         state_one =state;21         jPanel =jpanel_one;22 }23
24     //判断中心生命的状态并更新
25     public voidjudge() {26     int life = 0;27         for (int i = 1; i < state_one.length - 1; i++) {28             for (int j = 1; j < state_one[i].length - 1; j++) {29                 //循环判断中心生命周围的各个点的状态
30                 int nCount = 0;31                 if (jPanel[i - 1][j - 1].getBackground() ==Color.black) {32                     nCount++;33 }34                 if (jPanel[i - 1][j].getBackground() ==Color.black) {35                     nCount++;36 }37                 if (jPanel[i - 1][j + 1].getBackground() ==Color.black) {38                     nCount++;39 }40                 if (jPanel[i][j - 1].getBackground() ==Color.black) {41                     nCount++;42 }43                 if (jPanel[i][j + 1].getBackground() ==Color.black) {44                     nCount++;45 }46                 if (jPanel[i + 1][j - 1].getBackground() ==Color.black) {47                     nCount++;48 }49                 if (jPanel[i + 1][j].getBackground() ==Color.black) {50                     nCount++;51 }52                 if (jPanel[i + 1][j + 1].getBackground() ==Color.black) {53                     nCount++;54 }55                 if (nCount==3) {56                     state_one[i][j] = true;57 }58                 else if (nCount == 2) {59                     state_one[i][j] =state_one[i][j];60 }61                 else
62                     state_one[i][j] = false;63
64
65 }66 }67 }68 }

1 /*涂色类2 * 根据state[][]中各个表格的状态进行涂色3 * 底色为白色,活跃生命为黑色4  */
5
6
7 packagegame_life_self;8
9 importjava.awt.Color;10
11 importjavax.swing.JPanel;12
13 public classset_color {14     static boolean[][] state_one;15     staticJPanel[][] jPanel;16     //初始化类
17     public set_color(boolean[][] state,JPanel[][] jpanel_one)18 {19         state_one =state;20         jPanel =jpanel_one;21 }22     //设置颜色
23     public static voidpaint()24 {25
26         //循环判断状态设置颜色
27         for(int i=1;i<state_one.length;i++)28 {29             for(int j=1;j<state_one[i].length-1;j++)30 {31                 if(state_one[i][j]) {32 jPanel[i][j].setBackground(Color.black);33 }34                 else{35 jPanel[i][j].setBackground(Color.white);36 }37 }38 }39 }40 }

1 /*****************2 * 构建窗口类3 * 菜单choice(控制):1、开始 2、继续 3、结束4 * 菜单pattern(模式):1、easy 2、love型 3、arrow箭头型 4、随机模式5 * 菜单speed(速度):1、100 2、1000 3、50006 * 菜单help(帮助):1、abstract(游戏规则介绍)2、editor(制作者)7 * 红色栏:1、Number of remaining lives(剩余生命个数)2、step:生命演化步数8 * 表格栏 30*309  */
10
11 packagegame_life_self;12
13 importjava.awt.BorderLayout;14 importjava.awt.Color;15 importjava.awt.GridLayout;16 importjava.awt.event.ActionEvent;17 importjava.awt.event.ActionListener;18 importjava.util.regex.Pattern;19
20 importjavax.swing.JFrame;21 importjavax.swing.JMenu;22 importjavax.swing.JMenuBar;23 importjavax.swing.JMenuItem;24 importjavax.swing.JOptionPane;25 importjavax.swing.JPanel;26 importjavax.swing.JLabel;27 importjava.awt.FlowLayout;28
29 public classset_frame {30 JFrame iFrame;31     //游戏迭代速度
32     static int speed = 1000;33     //剩余生命个数
34     static int life = 0;35     //演化步数
36     static int step_one = 0;37     myThread thread = null;38     staticstart_frame start_frame;39     //显示细胞状态面板
40     staticJPanel[][] jPanel;41     //模式一(love)
42     static int pattern = 1;43     //显示生命个数面板
44     staticJPanel panel_1;45     staticJLabel number;46     staticJLabel step;47     static boolean end = true;48     public set_frame (int row ,intcol) {49         //建立窗口
50         iFrame = new JFrame("the game of life");51         //初始化边界
52         jPanel = newJPanel[row][col];53         iFrame.getContentPane().setLayout(new BorderLayout(0, 0));54
55         JPanel panel = newJPanel();56 iFrame.getContentPane().add(panel, BorderLayout.NORTH);57         panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));58
59         number = new JLabel("Number of remaining lives: "+life+"               ");60 panel.add(number);61
62         step = new JLabel("step: "+step_one);63 panel.add(step);64
65 panel.setBackground(Color.red);66         panel_1 = newJPanel();67 iFrame.getContentPane().add(panel_1, BorderLayout.CENTER);68         panel_1.setLayout(new GridLayout(30, 30, 2, 2));69         //初始化所有界面为白色
70         for(int i=0;i<row;i++)71 {72             for(int j=0;j<col;j++)73 {74                 jPanel[i][j] = newJPanel();75 jPanel[i][j].setBackground(Color.white);76 panel_1.add(jPanel[i][j]);77 }78 }79
80         //设置图形界面大小
81         iFrame.setLocation(450, 180);82         iFrame.setSize(500, 500);83
84         JMenuBar menuBar = newJMenuBar();85 iFrame.setJMenuBar(menuBar);86
87         JMenu choice = new JMenu("choice");88 menuBar.add(choice);89
90         JMenuItem start = new JMenuItem("start");91 choice.add(start);92         start.addActionListener(newstart());93
94         JMenuItem continue_one = new JMenuItem("continue");95 choice.add(continue_one);96         continue_one.addActionListener(newcontinue_one());97
98
99         JMenuItem stop = new JMenuItem("stop");100 choice.add(stop);101         stop.addActionListener(newstop());102
103         JMenu pattern = new JMenu("pattern");104 menuBar.add(pattern);105
106         JMenuItem easy = new JMenuItem("easy");107 pattern.add(easy);108         easy.addActionListener(neweasy());109
110         JMenuItem love = new JMenuItem("love");111 pattern.add(love);112         love.addActionListener(newlove());113
114         JMenuItem arrow = new JMenuItem("arrow");115 pattern.add(arrow);116         arrow.addActionListener(newarrow());117
118         JMenuItem random = new JMenuItem("random");119 pattern.add(random);120         random.addActionListener(newrandom());121
122
123         JMenu speed = new JMenu("speed");124 menuBar.add(speed);125
126         JMenuItem speed_fast = new JMenuItem("100");127 speed.add(speed_fast);128         speed_fast.addActionListener(newspeed_fast());129
130         JMenuItem speed_middle = new JMenuItem("1000");131 speed.add(speed_middle);132         speed_middle.addActionListener(newspeed_middle());133
134         JMenuItem speed_low = new JMenuItem("5000");135 speed.add(speed_low);136         speed_low.addActionListener(newspeed_low());137
138         JMenu help = new JMenu("help");139 menuBar.add(help);140
141         JMenuItem rule = new JMenuItem("abstract");142 help.add(rule);143         rule.addActionListener(newrule());144
145         JMenuItem editor = new JMenuItem("editor");146 help.add(editor);147         editor.addActionListener(neweditor());148
149         iFrame.setVisible(true);150
151 }152
153     class myThread extendsThread{154         publicmyThread()    {155 }156         public voidrun(){157             while(end)158 {159                 life = 0;160 start_frame.judge.judge();161                 try{162 sleep(speed);163                 } catch(InterruptedException e) {164                     //TODO Auto-generated catch block
165 e.printStackTrace();166 }167
168                 for (int m = 1; m < start_frame.state_one.length - 1; m++)169 {170                     for (int n = 1; n < start_frame.state_one[m].length - 1; n++)171 {172                         if (start_frame.state_one[m][n]==true) {173                             life ++;174 }175 }176 }177                 step_one++;178                 number.setText("Number of remaining lives: "+life+"               ");179                 step.setText("step: "+step_one);180
181 start_frame.set_color.paint();182
183                 if (life==0) {184                     end = false;185                     JOptionPane.showMessageDialog(null, "生命演化结束:\n"
186                             + "        所用步数为"+step_one);187 }188
189 }190 }191 }192
193         //控制游戏的开始
194         class start implementsActionListener195 {196 @Override197             public voidactionPerformed(ActionEvent e) {198                 //TODO Auto-generated method stub199                 //初始化逻辑地图
200                 if (pattern==1) {201 start_frame.init_data.init_one();202                 }else if (pattern==2) {203 start_frame.init_data.init_two();204                 }else if (pattern==3) {205
206 start_frame.init_data.init_three();207                 }else{208 start_frame.init_data.init_zero();209 }210                 //更新地图颜色
211 start_frame.set_color.paint();212                 //初始化步数和剩余生命个数
213                 life = 0;214                 step_one = 0;215                 end = true;216                 //控制线程的开断
217                 if (thread != null)218 thread.stop();219                 thread = newmyThread();220 thread.start();221 }222 }223         //控制游戏的继续
224         class continue_one implementsActionListener225 {226
227 @Override228             public voidactionPerformed(ActionEvent e) {229                 //TODO Auto-generated method stub
230                 if(thread!=null)231 thread.stop();232                 thread = newmyThread();233 thread.start();234 }235
236 }237         //控制游戏的停止
238         class stop implementsActionListener239 {240 @Override241             public voidactionPerformed(ActionEvent e) {242                 //TODO Auto-generated method stub243                 //控制线程的开断
244                 if (thread != null)245 thread.stop();246                 thread = null;247 }248
249 }250         //设置生命迭代速度(快速)
251         class speed_fast implementsActionListener252 {253 @Override254             public voidactionPerformed(ActionEvent e) {255                 //TODO Auto-generated method stub
256                 speed = 100;257 }258 }259         //设置生命迭代速度(中速)
260         class speed_middle implementsActionListener261 {262 @Override263             public voidactionPerformed(ActionEvent e) {264                 //TODO Auto-generated method stub
265                 speed = 1000;266 }267 }268         //设置生命迭代速度(慢速)
269         class speed_low implementsActionListener270 {271 @Override272             public voidactionPerformed(ActionEvent e) {273                 //TODO Auto-generated method stub
274                 speed = 5000;275 }276 }277         //游戏规则介绍
278         class rule implementsActionListener279 {280 @Override281             public voidactionPerformed(ActionEvent e) {282                 //TODO Auto-generated method stub
283                 JOptionPane.showMessageDialog(null, "                                                                                                                       The rules of the life game \n"
284                         + "Each cell's life and death follows the following principles: \n"
285                         + "      One: If a cell has three living cells (a total of eight cells around a cell), then the living cells (i.e. if the cells had to die, then born into, if for a living, original is unchanged). \n"
286                         + "      Two: If two cells live around a cell, the cell's life and death status remains unchanged.)\n"
287                         + "      Three: In other cases, the cell is dead (that is, if the cell had previously lived, it would have died and if it had been dead, it would remain the same)\n"+"\n");288 }289 }290         //程序编者
291         class editor implementsActionListener292 {293
294 @Override295             public voidactionPerformed(ActionEvent e) {296                 //TODO Auto-generated method stub
297                 JOptionPane.showMessageDialog(null, "this game's editor:\n"
298                         + "       The software 1501 class(软件1501班)     LiuHui(刘辉) \n");299 }300 }301         //模式中 love型
302         class love implementsActionListener303 {304 @Override305             public voidactionPerformed(ActionEvent e) {306                 //TODO Auto-generated method stub
307                 pattern = 1;308 }309
310 }311         //模式中 箭头型
312         class arrow implementsActionListener313 {314
315 @Override316             public voidactionPerformed(ActionEvent e) {317                 //TODO Auto-generated method stub
318                 pattern = 2;319 }320
321 }322         //随机模式
323         class random implementsActionListener324 {325
326 @Override327             public voidactionPerformed(ActionEvent e) {328                 //TODO Auto-generated method stub
329                 pattern = 3;330 }331
332 }333         //随机模式
334                 class easy implementsActionListener335 {336
337 @Override338                     public voidactionPerformed(ActionEvent e) {339                         //TODO Auto-generated method stub
340                         pattern = 0;341 }342
343 }344 }

程序运行结果:

2.1  I型细胞模型

初始I型的细胞状态:

细胞演化后的结果为:

从图中可以看出在演化5步后,细胞的剩余数为0,演化完毕。

2.2  LOVE细胞模型

初始LOVE型的细胞状态:

细胞演化后的结果为:

从图中可以看出在演化131步后,细胞的剩余数为11,保持恒定不变的状态,自此演化完毕。

2.3 箭头型细胞模型

初始箭头细胞的状态:

细胞演化后的结果为:

从图中可以看出在演化151步后,细胞的剩余数为15,保持恒定不变的状态,自此演化完毕。

2.4 随机细胞模型

初始随机细胞状态:

细胞演化后的结果为:

从图中可以看出在演化520步后,细胞的剩余数为22,保持恒定不变的状态,自此演化完毕。

转载于:https://www.cnblogs.com/liuhui5599/p/7497398.html

实用---生命游戏 Java相关推荐

  1. java生命游戏_实用---生命游戏 Java

    1 /*****************2 * 构建窗口类3 * 菜单choice(控制):1.开始 2.继续 3.结束4 * 菜单pattern(模式):1.easy 2.love型 3.arrow ...

  2. 生命游戏Java实现

    关于生命游戏 之前在学校看到ThoughtWorks举办的线下结对编程的比赛一等奖是大疆无人机,冲着无人机就拉着实验室小伙伴马总一起报了个名.然后题目就是实现一个界面版的生命游戏,所以才了解了生命游戏 ...

  3. 生命游戏(Java版)

    游戏简介 生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出 某细胞的邻居包括上.下.左.右.左上.左下.右上与右下相邻之细胞 游戏规则如下: 孤单死亡 如果细 ...

  4. Java案例:Java版生命游戏

    目录 一.生命游戏 1.生命游戏概述 2.生命演化规则:B3/S23 二.生命游戏Java实现

  5. [Leedcode][JAVA][第289题][生命游戏]

    [问题描述] 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机.给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞都具 ...

  6. java swing 代码_java swing编写gui生命游戏代码,新手上路

    项目描述 生命游戏其实是一个零玩家游戏,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞.一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量.如果相邻方格活着 ...

  7. Java实现生命游戏Plus

    目录 生命游戏 1 生命游戏的规则 2 生命游戏的意义 对生命游戏进行抽象(属性部分) 1 建立基础的生命游戏类 2 特殊要求 对生命游戏进行抽象(方法部分) 1 回合变动更新方法 2 设置棋盘初值( ...

  8. 生命游戏(Java)

    在研究元胞自动机理论过程中,Conway发明生命游戏(Game of Life.GoL),在1970s风靡一时. 这是0人游戏,即按照初始的设置,游戏自动演化.在类似围棋的棋盘中,每一个格子可以是空格 ...

  9. 蓝桥杯------2017 Java B组 国赛:第二题 生命游戏

    题目描述: 康威生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机.   这个游戏在一个无限大的2D网格上进行. 初始时,每个小方格中居住着一个活着或死了的细胞. 下一时刻每个细胞的状态 ...

最新文章

  1. HDU2066(Dijstra算法)
  2. NLP领域“学霸”太多,一年前标准已过时,新跑分标准SuperGLUE出炉
  3. 自定义注解妙用,一行代码搞定用户操作日志记录
  4. docker学习实践之路[第一站]环境安装
  5. oracleI基础入门(1)--背景
  6. VTK:Points之PowercrustExtractSurface
  7. java转net容易吗_每日一醒(1):学习Java容易忽视的小错误,你注意到了吗?
  8. 开机启动inittab详解
  9. C++输入输出流加速器,关闭同步流,ios::sync_with_stdio(false)和 cin.tie(0)
  10. Linux 命令(33)—— uname 命令
  11. Idea不能显示类的继承关系,pom文件的右键属性中也没有Diagrams选项(已解决)
  12. 从零开发HarmonyOS(鸿蒙)运动手表小游戏——数字华容道
  13. 基于java毕业生就业信息管理系统的设计(含源文件)
  14. CodeSys之CRC校验
  15. 乐高大颗粒作品23:磁悬浮列车
  16. linux 开发面试---基础题1
  17. AUC、KS值、PSI值理解
  18. “应用程序无响应”原因汇总
  19. app图标icon大全
  20. 《贝叶斯思维:统计建模的Python学习法》——2.3 贝叶斯框架

热门文章

  1. golang 撤回_如何看待 go 社区部分人对 try proposal 强烈抵制,希望保留现状的态度?...
  2. 割草机器人全国产化电子元件推荐方案
  3. 密钥、证书原理与创建
  4. bartender的api帮助_在浏览器中通过bartender,调用条码打印机的active控件代码的实现...
  5. LeaRun模型驱动开发框架 重塑企业生产力
  6. 基于Android的仓库管理系统APP设计与实现
  7. VS2010SP1安装卡在VS10Sp1-KB983509处的解决
  8. 怎样修复手机补丁文件
  9. 类模板定义中智能引用
  10. 2022阿里云镜像maven仓库配置