沙漠掘金的策略研究

沙漠掘金是一个有趣的游戏。

绘制Graph

在线网站

1
https://csacademy.com/app/graph_editor/

工具

1
https://www.graphviz.org/download/

digraph为有向图,graph无向图。一个典型的节点示例如下。

1
2
3
4
5
6
7
8
9
10
digraph A{
node[shape=circle,color=red,fontcolor=blue,fontsize=10];
root[color=blue,fontcolor=black,fontsize=20];
root->a[style=dotted];
root->b;
a->c;
a->d;
b->e;
b->f;
}

将上面的内容保存在一个文件,并以.dot结尾,例如tree.dot。在终端执行以下命令即可生成文件。

1
2
3
# -Tpng表明要转换为png格式的图片
# -o后面是输出的文件名
dot -Tpng -o tree.png tree.dot

对于二叉树而言,可打开以下代码并保存为binarytree.gvpr。

1
https://gist.github.com/Sciss/2878988

在终端执行以下命令,即可进一步美化格式。

1
dot tree.dot | gvpr -c -f binarytree.gvpr | neato -n -Tpng -o tree.png

节点关系如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
S1 S2
S1 S3

S2 S3
S2 S4
S2 S5

S3 S5
S3 S6
S3 C1

S4 S5
S4 S9

S5 S6
S5 S7
S5 S8
S5 S9
S5 S10

S6 S7
S6 C1
S6 C2

S7 S8
S7 S16
S7 C2
S7 L2

S8 S10
S8 L1
S8 L2
S8 W1

S9 S10
S9 S11

S10 S11
S10 L1

S11 S12
S11 S13
S11 L1

S12 S13
S12 C7

S13 S14
S13 C7
S13 L1

S14 S15
S14 W1
S14 L1
S14 C7

S15 S26
S15 W1

S16 S18
S16 S20
S16 S21
S16 L2
S16 C2
S16 C3

S17 C1
S17 C2
S17 S18

S18 S19
S18 C2
S18 C3

S19 C3
S19 C4

S20 S21
S20 S23
S20 C3
S20 C4

S21 S22
S21 S23
S21 L2

S22 S23
S22 S24
S22 W1
S22 L2

S23 S24
S23 C4
S23 C5
S23 C6

S24 S25
S24 W1
S24 C6

S25 S26
S25 S27
S25 S28
S25 W1
S25 C6

S26 S28
S26 W1

S27 S28
S27 C6

L1 W1

L2 W1

C1 C2

C3 C4

C4 C5

C5 C6

参考工程

可参考以下工程。该工程为半成品,只实现了主界面,没有实现内部逻辑。

1
https://github.com/imczz/SurviveWithTreasure

编译

Mac下Java需要安装环境。可通过以下安装包。

1
https://www.java.com/zh-CN/download/

也可使用Homebrew安装。

1
2
3
4
brew install java

# 软链接
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

用Sublime 3打开src/MainClass.java,按Command+Shift+B,选择JavaC编译。编译完成后打开终端并输入以下命令以运行。

1
java -classpath ./src MainClass -designer

参考教程

如何画一棵漂亮的二叉树

1
https://www.yanbinghu.com/2019/04/10/9448.html

没有IDE如何编译JAVA项目

1
https://blog.csdn.net/lvshaorong/article/details/73881568