-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
701 lines (692 loc) · 119 KB
/
search.xml
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>C++ AI</title>
<url>/2023/08/01/AI%E5%86%B3%E7%AD%96%E6%A0%91%E7%AE%97%E6%B3%95/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h5 id="AI决策树算法(C-11)"><a href="#AI决策树算法(C-11)" class="headerlink" title="AI决策树算法(C++ 11)"></a>AI决策树算法(C++ 11)</h5><figure class="highlight c++"><table><tr><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><iostream></span></span></span><br><span class="line"></span><br><span class="line"><span class="comment">// 定义一个决策树节点</span></span><br><span class="line"><span class="keyword">struct</span> <span class="title class_">TreeNode</span> {</span><br><span class="line"> std::string value;</span><br><span class="line"> TreeNode* left;</span><br><span class="line"> TreeNode* right;</span><br><span class="line"></span><br><span class="line"> <span class="built_in">TreeNode</span>(std::string val) {</span><br><span class="line"> value = val;</span><br><span class="line"> left = <span class="literal">nullptr</span>;</span><br><span class="line"> right = <span class="literal">nullptr</span>;</span><br><span class="line"> }</span><br><span class="line">};</span><br><span class="line"></span><br><span class="line"><span class="comment">// 决策树的预测函数</span></span><br><span class="line"><span class="function">std::string <span class="title">predict</span><span class="params">(TreeNode* root, std::string input)</span> </span>{</span><br><span class="line"> <span class="keyword">if</span> (root == <span class="literal">nullptr</span>) {</span><br><span class="line"> <span class="keyword">return</span> <span class="string">""</span>;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> (root->left == <span class="literal">nullptr</span> && root->right == <span class="literal">nullptr</span>) {</span><br><span class="line"> <span class="keyword">return</span> root->value;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> std::string feature = root->value;</span><br><span class="line"> <span class="keyword">if</span> (input == feature) {</span><br><span class="line"> <span class="keyword">return</span> <span class="built_in">predict</span>(root->left, input);</span><br><span class="line"> } <span class="keyword">else</span> {</span><br><span class="line"> <span class="keyword">return</span> <span class="built_in">predict</span>(root->right, input);</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">main</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="comment">// 构建一个简单的决策树</span></span><br><span class="line"> TreeNode* root = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Outlook"</span>);</span><br><span class="line"> root->left = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Sunny"</span>);</span><br><span class="line"> root->right = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Rainy"</span>);</span><br><span class="line"> root->left->left = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Hot"</span>);</span><br><span class="line"> root->left->right = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Cool"</span>);</span><br><span class="line"> root->right->left = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Windy"</span>);</span><br><span class="line"> root->right->right = <span class="keyword">new</span> <span class="built_in">TreeNode</span>(<span class="string">"Humid"</span>);</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 输入一个特征,预测结果</span></span><br><span class="line"> std::string input = <span class="string">"Sunny"</span>;</span><br><span class="line"> std::string result = <span class="built_in">predict</span>(root, input);</span><br><span class="line"> std::cout << <span class="string">"预测结果: "</span> << result << std::endl;</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 释放内存</span></span><br><span class="line"> <span class="keyword">delete</span> root->left->left;</span><br><span class="line"> <span class="keyword">delete</span> root->left->right;</span><br><span class="line"> <span class="keyword">delete</span> root->right->left;</span><br><span class="line"> <span class="keyword">delete</span> root->right->right;</span><br><span class="line"> <span class="keyword">delete</span> root->left;</span><br><span class="line"> <span class="keyword">delete</span> root->right;</span><br><span class="line"> <span class="keyword">delete</span> root;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<h5 id="使用tensorflow库来实现一个简单的神经网络模型的训练和预测"><a href="#使用tensorflow库来实现一个简单的神经网络模型的训练和预测" class="headerlink" title="使用tensorflow库来实现一个简单的神经网络模型的训练和预测"></a>使用tensorflow库来实现一个简单的神经网络模型的训练和预测</h5><figure class="highlight c++"><table><tr><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><iostream></span></span></span><br><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><tensorflow/c/c_api.h></span></span></span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">main</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="comment">// 创建一个tensorflow会话</span></span><br><span class="line"> TF_SessionOptions* session_options = <span class="built_in">TF_NewSessionOptions</span>();</span><br><span class="line"> TF_Session* session = <span class="built_in">TF_NewSession</span>(session_options, tf_status);</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 加载模型</span></span><br><span class="line"> TF_Graph* graph = <span class="built_in">TF_NewGraph</span>();</span><br><span class="line"> TF_Status* status = <span class="built_in">TF_NewStatus</span>();</span><br><span class="line"> <span class="type">const</span> <span class="type">char</span>* model_path = <span class="string">"model.pb"</span>;</span><br><span class="line"> TF_Buffer* graph_def = <span class="built_in">read_model_from_file</span>(model_path);</span><br><span class="line"> TF_ImportGraphDefOptions* import_options = <span class="built_in">TF_NewImportGraphDefOptions</span>();</span><br><span class="line"> <span class="built_in">TF_GraphImportGraphDef</span>(graph, graph_def, import_options, status);</span><br><span class="line"> <span class="built_in">TF_DeleteBuffer</span>(graph_def);</span><br><span class="line"> <span class="built_in">TF_DeleteImportGraphDefOptions</span>(import_options);</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 创建输入tensor和输出tensor</span></span><br><span class="line"> TF_Output input_op = {<span class="built_in">TF_GraphOperationByName</span>(graph, <span class="string">"input"</span>), <span class="number">0</span>};</span><br><span class="line"> TF_Output output_op = {<span class="built_in">TF_GraphOperationByName</span>(graph, <span class="string">"output"</span>), <span class="number">0</span>};</span><br><span class="line"> TF_Tensor* input_tensor = <span class="built_in">create_input_tensor</span>();</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 运行模型</span></span><br><span class="line"> TF_Tensor* output_tensor = <span class="literal">nullptr</span>;</span><br><span class="line"> <span class="built_in">TF_SessionRun</span>(session, <span class="literal">nullptr</span>, &input_op, &input_tensor, <span class="number">1</span>, &output_op, &output_tensor, <span class="number">1</span>, <span class="literal">nullptr</span>, <span class="number">0</span>, <span class="literal">nullptr</span>, status);</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 处理输出结果</span></span><br><span class="line"> <span class="type">float</span>* output_data = <span class="built_in">static_cast</span><<span class="type">float</span>*>(<span class="built_in">TF_TensorData</span>(output_tensor));</span><br><span class="line"> std::cout << <span class="string">"预测结果: "</span> << output_data[<span class="number">0</span>] << std::endl;</span><br><span class="line"></span><br><span class="line"> <span class="comment">// 释放资源</span></span><br><span class="line"> <span class="built_in">TF_DeleteTensor</span>(input_tensor);</span><br><span class="line"> <span class="built_in">TF_DeleteTensor</span>(output_tensor);</span><br><span class="line"> <span class="built_in">TF_DeleteStatus</span>(status);</span><br><span class="line"> <span class="built_in">TF_DeleteGraph</span>(graph);</span><br><span class="line"> <span class="built_in">TF_CloseSession</span>(session, status);</span><br><span class="line"> <span class="built_in">TF_DeleteSession</span>(session, status);</span><br><span class="line"> <span class="built_in">TF_DeleteSessionOptions</span>(session_options);</span><br><span class="line"></span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>KALI简介</title>
<url>/2023/07/25/ALI/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><p>随着现代技术的快速发展,网络安全问题变得日益重要。在这个数字化时代,安全专业人员需要不断学习和掌握各种工具和技术,以保护网络免受潜在的威胁。在这方面,Kali Linux成为了一个强大而受欢迎的解决方案。</p>
<p> Kali Linux是一款基于Debian的Linux发行版,专注于网络安全和渗透测试。它内置了大量功能强大的工具,适用于安全专业人员、渗透测试人员以及对网络安全感兴趣的爱好者。以下是一些Kali Linux的主要功能:</p>
<p> 首先,Kali Linux提供了丰富的渗透测试工具。无论是Metasploit、Nmap还是Wireshark,这些工具都可以帮助安全专业人员发现系统漏洞、进行渗透测试和网络侦查,以及分析数据包。通过使用这些工具,安全专业人员可以评估系统的安全性并采取相应的措施来提高网络的安全性。</p>
<p> 其次,Kali Linux还提供了强大的密码破解工具。John the Ripper和Hashcat等工具可以测试密码的强度,破解加密文件以及恢复丢失的密码。对于安全专业人员来说,了解和评估密码的强度对保护网络至关重要。Kali Linux提供了这些工具来帮助他们进行密码安全性测试和密码恢复。</p>
<p> 另外,Kali Linux还拥有丰富的网络分析工具。通过使用tcpdump和Wireshark等工具,安全专业人员可以捕获和分析网络数据包,进而进行网络故障排除和安全审计。这些工具对于发现网络中的潜在问题以及寻找安全漏洞至关重要。</p>
<p> 除了渗透测试和网络分析工具,Kali Linux还支持无线网络攻击工具。Aircrack-ng和Reaver等工具可以用于破解无线网络密码、执行中间人攻击等。这些工具对于网络安全专业人员来说是必不可少的,因为无线网络往往是黑客攻击的目标之一。</p>
<p> 此外,Kali Linux还提供了一些社会工程学工具,例如Set和Maltego。这些工具用于模拟钓鱼攻击、信息收集和社会工程学渗透测试。社会工程学是黑客攻击中的常见手段之一,了解并学习如何防范这些攻击是至关重要的。</p>
<p> 最后,Kali Linux还包含一些数据恢复工具,如TestDisk和Foremost。这些工具可以帮助用户从损坏或格式化的存储介质中恢复丢失的数据。对于那些在意数据安全和恢复的用户来说,这些工具可以提供帮助和支持。</p>
<p> 总结起来,Kali Linux是一个功能强大的网络安全和渗透测试平台。它为安全专业人员和爱好者提供了丰富的工具和功能,用于发现漏洞、评估安全性、进行渗透测试和学习网络安全知识。然而,需要强调的是,使用Kali Linux工具和技术时,必须严格遵守法律法规,并遵循道德准则。只有在合法和道德的框架下使用这些工具,我们才能更好地保护网络安全,并为网络安全领域做出贡献。</p>
<ul>
<li><a href="https://kali.org/">kali官网</a></li>
</ul>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>Hexo博客搭建</title>
<url>/2023/08/02/Hexo%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><ul>
<li>Hexo是一个基于Node.js的静态博客框架,它可以帮助你快速构建并部署静态博客网站。本网站就是Hexo静态博客。</li>
</ul>
<h5 id="搭建步骤"><a href="#搭建步骤" class="headerlink" title="搭建步骤"></a>搭建步骤</h5><ul>
<li><p>安装Node.js:首先,确保你的计算机上已安装Node.js。你可以从<a href="https://nodejs.org/dist/v18.17.0/node-v18.17.0-x64.msi">Node.js官方网站</a>下载或者<a href="https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.5.0/win-x86/node.exe">清华大学开源镜像站</a>并安装适合你操作系统的版本。</p>
</li>
<li><p>安装Hexo:打开Powershell终端或命令提示符CMD (Windows系统电脑同时按Ctrl+Windows徽标键打开运行,然后输入Powershell或者CMD)(管理员身份运行),运行以下命令来安装Hexo:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm install -g hexo-cli</span><br></pre></td></tr></table></figure>
</li>
<li><p>创建博客:创建一个新的Hexo博客项目。在终端中,进入你想要创建博客的目录,并运行以下命令:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">hexo init my-blog</span><br><span class="line"><span class="built_in">cd</span> my-blog</span><br></pre></td></tr></table></figure>
<p>以上命令将在当前目录下创建一个名为”my-blog”的Hexo博客项目。</p>
</li>
<li><p>生成静态网页:在终端中,运行以下命令来生成静态网页:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">hexo generate</span><br></pre></td></tr></table></figure>
<p>这将根据你的博客内容和配置生成静态HTML网页,存储在 public 目录中。</p>
</li>
<li><p>预览博客:在终端中,运行以下命令来预览博客网站:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">hexo server</span><br></pre></td></tr></table></figure></li>
<li><p>以上只是一下基本代码,可以运行<code>hexo help </code>获取更多信息!!!</p>
</li>
</ul>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>长篇大论之黑客工具Metasploit</title>
<url>/2023/07/31/Metasploit/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h6 id="Metasploit是一个开源的渗透测试框架,旨在帮助安全专业人员评估和验证系统的安全性。它提供了一系列的工具、漏洞利用模块、Payloads和可扩展的插件,使渗透测试人员能够执行各种类型的安全测试,包括漏洞扫描、漏洞利用、远程命令执行等。"><a href="#Metasploit是一个开源的渗透测试框架,旨在帮助安全专业人员评估和验证系统的安全性。它提供了一系列的工具、漏洞利用模块、Payloads和可扩展的插件,使渗透测试人员能够执行各种类型的安全测试,包括漏洞扫描、漏洞利用、远程命令执行等。" class="headerlink" title="Metasploit是一个开源的渗透测试框架,旨在帮助安全专业人员评估和验证系统的安全性。它提供了一系列的工具、漏洞利用模块、Payloads和可扩展的插件,使渗透测试人员能够执行各种类型的安全测试,包括漏洞扫描、漏洞利用、远程命令执行等。"></a>Metasploit是一个开源的渗透测试框架,旨在帮助安全专业人员评估和验证系统的安全性。它提供了一系列的工具、漏洞利用模块、Payloads和可扩展的插件,使渗透测试人员能够执行各种类型的安全测试,包括漏洞扫描、漏洞利用、远程命令执行等。</h6><h5 id="Metasploit的主要特点包括:"><a href="#Metasploit的主要特点包括:" class="headerlink" title="Metasploit的主要特点包括:"></a>Metasploit的主要特点包括:</h5><ul>
<li><p>Exploit模块:Metasploit框架提供了大量的漏洞利用模块,用于利用系统中已知的漏洞,从而获取对目标系统的访问权限。</p>
</li>
<li><p>Payloads:Payload是指在成功利用系统漏洞后,要在目标系统上执行的恶意代码。Metasploit提供了各种Payloads,包括反弹Shell、远程命令执行、上传/下载文件等。</p>
</li>
<li><p>模块化架构:Metasploit采用模块化的架构,使用户可以根据需要选择和组合不同的模块,构建定制化的渗透测试方案。</p>
</li>
<li><p>支持多种平台:Metasploit框架支持多种操作系统和平台,包括Windows、Linux、macOS等。</p>
</li>
<li><p>社区支持和更新:Metasploit是一个开源项目,拥有庞大的社区支持和活跃的开发团队。它经常得到更新和改进,以适应新的安全威胁和技术发展。</p>
</li>
</ul>
<h5 id="Metasploit安装和启动:"><a href="#Metasploit安装和启动:" class="headerlink" title="Metasploit安装和启动:"></a>Metasploit安装和启动:</h5><ul>
<li><p>安装Metasploit:首先,需要下载并安装Metasploit框架。Metasploit可用于多个操作系统,包括Windows、Linux和macOS。你可以从<a href="https://www.metasploit.com/">Metasploit的官方网站</a>下载并按照说明进行安装。</p>
</li>
<li><p>启动msfconsole:打开终端(命令行界面),输入msfconsole命令并按下回车键,启动msfconsole。这是Metasploit的主要命令行界面。</p>
</li>
<li><p>了解基本命令:使用<code>help</code>命令获取帮助信息,了解可用的命令和模块。可以使用help命令结合模块名称,获取特定模块的帮助信息。例如,输入<code>help exploit</code>可以获取有关exploit模块的帮助信息。</p>
</li>
<li><p>搜索模块:使用<code>search</code>命令搜索可用的模块。可以通过关键字搜索,也可以使用特定的过滤器进行搜索,如搜索exploit模块、Payload模块等。</p>
</li>
<li><p>选择模块:使用<code>use</code>命令选择要使用的模块。例如,使用<code>use exploit/multi/handler</code>命令选择一个多目标处理程序模块。</p>
</li>
<li><p>配置模块参数:使用set命令配置模块的参数。可以使用<code>show options</code>命令查看和修改模块的参数。例如,使用<code>set RHOSTS</code>来设置目标主机的IP地址。</p>
</li>
<li><p>运行模块:使用exploit命令执行选定的模块,尝试利用系统漏洞。如果成功利用漏洞,将执行相应的操作。</p>
</li>
<li><p>收集和分析信息:Metasploit提供了一些模块用于收集目标系统的信息,以便更好地了解和评估系统的安全性。可以使用这些模块来扫描目标系统、收集目标信息等。</p>
</li>
</ul>
<h5 id="Metasploit框架有很多命令,以下是一些常用的命令:"><a href="#Metasploit框架有很多命令,以下是一些常用的命令:" class="headerlink" title="Metasploit框架有很多命令,以下是一些常用的命令:"></a>Metasploit框架有很多命令,以下是一些常用的命令:</h5><ul>
<li><p>help:显示帮助信息,可以使用help命令获取有关Metasploit命令和模块的详细说明。</p>
</li>
<li><p>search:搜索可用的模块。可以使用关键字搜索,如search exploit windows,也可以使用特定的过滤器进行搜索,如search type:exploit。</p>
</li>
<li><p>use:选择要使用的模块。例如,使用use exploit/windows/smb/ms17_010_eternalblue来选择一个Windows SMB漏洞利用模块。</p>
</li>
<li><p>set:配置模块的参数。使用set命令设置模块的参数值。例如,使用set RHOSTS 192.168.0.1来设置目标主机的IP地址。</p>
</li>
<li><p>show options:显示当前模块的参数选项。可以使用show options命令查看和修改模块的参数。</p>
</li>
<li><p>exploit:执行选定的模块,尝试利用系统漏洞。</p>
</li>
<li><p>sessions:显示当前活动的会话列表。可以使用sessions命令查看已建立的会话。</p>
</li>
<li><p>background:将当前会话置于后台。使用background命令将当前会话置于后台,以便执行其他操作。</p>
</li>
<li><p>use post:选择并使用后渗透模块。使用use post命令选择一个后渗透模块,用于在成功入侵系统后执行进一步的操作。</p>
</li>
<li><p>db_connect:连接到数据库。使用db_connect命令连接到Metasploit的数据库,以便存储和管理渗透测试的结果。</p>
</li>
</ul>
<h5 id="Metasploit漏洞扫描:"><a href="#Metasploit漏洞扫描:" class="headerlink" title="Metasploit漏洞扫描:"></a>Metasploit漏洞扫描:</h5><ul>
<li><p>启动<code>msfconsole</code>:打开终端(命令行界面),输入msfconsole命令并按下回车键,启动msfconsole。</p>
</li>
<li><p>搜索漏洞扫描模块:使用search命令搜索可用的漏洞扫描模块。可以使用关键字搜索,如<code>search auxiliary scanner</code>,也可以使用特定的过滤器进行搜索,如<code>search type:scanner</code>。</p>
</li>
<li><p>选择漏洞扫描模块:使用use命令选择要使用的漏洞扫描模块。例如,使用<code>use auxiliary/scanner/http/dir_scanner</code>来选择一个HTTP目录扫描模块。</p>
</li>
<li><p>配置模块参数:使用<code>set</code>命令配置模块的参数。使用<code>show options</code>命令查看和修改模块的参数,根据需要设置目标主机、端口等参数。</p>
</li>
<li><p>运行漏洞扫描:使用<code>run</code>命令运行漏洞扫描模块,开始扫描目标。Metasploit将使用选定的漏洞扫描模块对目标进行扫描,并显示扫描结果。</p>
</li>
<li><p>解析扫描结果:根据漏洞扫描模块的输出,查看扫描结果并分析目标系统中存在的漏洞和弱点。</p>
</li>
<li><p><a href="https://metasploit.com/">Metasploit官网</a></p>
</li>
</ul>
<h2 id="需要注意的是,Metasploit是一个强大的渗透测试工具,但必须在合法和合规的范围内使用。在进行漏洞扫描时,应获得合法的授权,并遵循相应的法律和道德准则。同时,扫描目标系统时应遵循合规的测试流程,避免对目标系统造成不必要的影响或损害。"><a href="#需要注意的是,Metasploit是一个强大的渗透测试工具,但必须在合法和合规的范围内使用。在进行漏洞扫描时,应获得合法的授权,并遵循相应的法律和道德准则。同时,扫描目标系统时应遵循合规的测试流程,避免对目标系统造成不必要的影响或损害。" class="headerlink" title="需要注意的是,Metasploit是一个强大的渗透测试工具,但必须在合法和合规的范围内使用。在进行漏洞扫描时,应获得合法的授权,并遵循相应的法律和道德准则。同时,扫描目标系统时应遵循合规的测试流程,避免对目标系统造成不必要的影响或损害。"></a>需要注意的是,Metasploit是一个强大的渗透测试工具,但必须在合法和合规的范围内使用。在进行漏洞扫描时,应获得合法的授权,并遵循相应的法律和道德准则。同时,扫描目标系统时应遵循合规的测试流程,避免对目标系统造成不必要的影响或损害。</h2><p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>Nmap介绍和用法</title>
<url>/2023/07/26/Nmap%E4%BB%8B%E7%BB%8D%E5%92%8C%E7%94%A8%E6%B3%95/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h2 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h2><p>Nmap是一个网络探测和安全评估工具,它可以用于扫描网络上的主机和端口,收集主机信息和服务信息。下面是一些关于Nmap的重要信息:</p>
<ul>
<li><p>端口扫描:Nmap可以用于扫描目标主机上开放的端口。常见的扫描类型包括TCP全连接扫描(”-sT”)、SYN扫描(”-sS”)、UDP扫描(”-sU”)等。</p>
</li>
<li><p>操作系统探测:Nmap可以通过分析网络流量、响应和其他特征来推测目标主机的操作系统类型。可以使用”-O”参数进行操作系统探测。</p>
</li>
<li><p>服务和版本探测:Nmap可以识别目标主机上运行的服务和应用程序的版本信息。使用”-sV”参数进行服务和版本探测。</p>
</li>
<li><p>脚本扫描:Nmap提供了强大的脚本引擎,可以使用预先编写好的脚本来进行各种类型的扫描和漏洞评估。使用”–script”参数可以选择特定的脚本进行扫描。</p>
</li>
<li><p>输出和报告:Nmap可以生成多种格式的扫描结果报告,包括文本文件、XML文件和HTML文件。使用”-o”参数指定输出格式和文件名。</p>
</li>
</ul>
<h2 id="请注意,使用Nmap进行网络扫描需要遵守相关法律法规,并获得合适的授权,以确保您的行为合法合规。滥用Nmap可能会对网络安全造成潜在风险和违法行为,因此请谨慎使用,并仅限于合法的目的,如网络安全评估、系统管理等。"><a href="#请注意,使用Nmap进行网络扫描需要遵守相关法律法规,并获得合适的授权,以确保您的行为合法合规。滥用Nmap可能会对网络安全造成潜在风险和违法行为,因此请谨慎使用,并仅限于合法的目的,如网络安全评估、系统管理等。" class="headerlink" title="请注意,使用Nmap进行网络扫描需要遵守相关法律法规,并获得合适的授权,以确保您的行为合法合规。滥用Nmap可能会对网络安全造成潜在风险和违法行为,因此请谨慎使用,并仅限于合法的目的,如网络安全评估、系统管理等。"></a>请注意,使用Nmap进行网络扫描需要遵守相关法律法规,并获得合适的授权,以确保您的行为合法合规。滥用Nmap可能会对网络安全造成潜在风险和违法行为,因此请谨慎使用,并仅限于合法的目的,如网络安全评估、系统管理等。</h2><h2 id="用法"><a href="#用法" class="headerlink" title="用法"></a>用法</h2><p>Nmap是一个功能强大的网络探测和安全评估工具,具有广泛的用途。下面是一些常见的Nmap用法及其相应的命令:</p>
<p>基本端口扫描:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap target</span><br></pre></td></tr></table></figure>
<p>这将对目标主机进行TCP SYN扫描,默认扫描最常见的1000个端口。</p>
<p>扫描特定端口范围:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap -p start-end target</span><br></pre></td></tr></table></figure>
<p>这将扫描目标主机上从起始端口到结束端口之间的端口范围。</p>
<p>扫描主机范围:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap ip-range</span><br></pre></td></tr></table></figure>
<p>这将扫描指定IP地址范围内的所有主机。</p>
<p>使用UDP扫描:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap -sU target</span><br></pre></td></tr></table></figure>
<p>这将对目标主机进行UDP扫描,以发现开放的UDP端口。</p>
<p>操作系统探测:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap -O target</span><br></pre></td></tr></table></figure>
<p>这将尝试识别目标主机的操作系统类型。</p>
<p>服务和版本探测:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap -sV target</span><br></pre></td></tr></table></figure>
<p>这将尝试识别目标主机上运行的服务和应用程序的版本信息。</p>
<p>脚本扫描:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap --script script-name target</span><br></pre></td></tr></table></figure>
<p>这将使用指定的脚本进行扫描,可以选择从Nmap提供的各种脚本中进行选择,也可以使用自定义脚本。</p>
<p>输出结果到文件:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">nmap -oN output.txt target</span><br></pre></td></tr></table></figure>
<p>这将将扫描结果输出到一个文本文件中。您还可以使用其他输出格式,如XML(-oX)或HTML(-oX)。</p>
<p>这只是Nmap的一些常见用法示例,该工具还提供了许多其他选项和功能。您可以使用<code>bash nmap --help</code>命令查看完整的帮助文档,了解更多可用的选项和用法。</p>
<ul>
<li><a href="https://nmap.org/">nmap官网</a></li>
</ul>
<h2 id="请记住,在使用Nmap时,请始终遵守适用的法律法规,并仅限于合法的目的。"><a href="#请记住,在使用Nmap时,请始终遵守适用的法律法规,并仅限于合法的目的。" class="headerlink" title="请记住,在使用Nmap时,请始终遵守适用的法律法规,并仅限于合法的目的。"></a>请记住,在使用Nmap时,请始终遵守适用的法律法规,并仅限于合法的目的。</h2><p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>RUST开服方法</title>
<url>/2023/07/25/Rust/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h4 id="一、准备工作:"><a href="#一、准备工作:" class="headerlink" title="一、准备工作:"></a>一、准备工作:</h4><ul>
<li>一个稳定的网络环境。 </li>
<li>一台安装了Windows或Linux操作系统的电脑。 </li>
<li>必要的系统权限,包括管理员权限。</li>
</ul>
<h4 id="二、步骤流程:"><a href="#二、步骤流程:" class="headerlink" title="二、步骤流程:"></a>二、步骤流程:</h4><h5 id="步骤一:下载并安装SteamCMD"><a href="#步骤一:下载并安装SteamCMD" class="headerlink" title="步骤一:下载并安装SteamCMD"></a>步骤一:下载并安装SteamCMD</h5><ul>
<li><p>首先,您需要下载SteamCMD这个工具。这是一个命令行版本的Steam客户端,可以节省宝贵的系统资源。</p>
</li>
<li><p>创建一个用来存放SteamCMD的文件夹,并将下载的SteamCMD解压到这个文件夹中。</p>
</li>
</ul>
<h5 id="步骤二:使用SteamCMD安装RUST的服务端程序"><a href="#步骤二:使用SteamCMD安装RUST的服务端程序" class="headerlink" title="步骤二:使用SteamCMD安装RUST的服务端程序"></a>步骤二:使用SteamCMD安装RUST的服务端程序</h5><ul>
<li>运行SteamCMD,然后在命令行中输入这些命令:</li>
</ul>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">login anonymous</span><br><span class="line">force_install_dir C:\your\path</span><br><span class="line">app_update 258550 validate</span><br><span class="line"><span class="built_in">exit</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<h3 id="注意,您需要将”C-your-path”替换为您希望安装RUST服务端程序的路径。"><a href="#注意,您需要将”C-your-path”替换为您希望安装RUST服务端程序的路径。" class="headerlink" title="注意,您需要将”C:\your\path”替换为您希望安装RUST服务端程序的路径。"></a>注意,您需要将”C:\your\path”替换为您希望安装RUST服务端程序的路径。</h3><h5 id="步骤三:配置服务器"><a href="#步骤三:配置服务器" class="headerlink" title="步骤三:配置服务器"></a>步骤三:配置服务器</h5><p>1、创建一个名为“server.cfg”的文件,输入以下内容:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">hostname <span class="string">"Your Server Name"</span></span><br><span class="line">rcon.password <span class="string">"Your Password"</span></span><br><span class="line">server.description <span class="string">"Your Description"</span></span><br><span class="line">server.headerimage <span class="string">"Your Image Link"</span></span><br><span class="line">server.url <span class="string">"Your Website"</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<h3 id="您需要替换上述内容中的”Your-Server-Name”等为您想要设置的内容。"><a href="#您需要替换上述内容中的”Your-Server-Name”等为您想要设置的内容。" class="headerlink" title="您需要替换上述内容中的”Your Server Name”等为您想要设置的内容。"></a>您需要替换上述内容中的”Your Server Name”等为您想要设置的内容。</h3><h5 id="步骤四:启动服务器"><a href="#步骤四:启动服务器" class="headerlink" title="步骤四:启动服务器"></a>步骤四:启动服务器</h5><p>1、在Rust服务端程序的安装文件夹下,创建一个名为“start.bat”的文件,输入以下内容:</p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">RustDedicated -batchmode </span><br><span class="line">+server.ip yourIP </span><br><span class="line">+server.port yourPort </span><br><span class="line">+server.tickrate 30 </span><br><span class="line">+server.hostname <span class="string">"Your Server Name"</span> </span><br><span class="line">+server.description <span class="string">"Your Server Description"</span> </span><br><span class="line">+server.url <span class="string">"Your Website"</span> </span><br><span class="line">+server.headerimage <span class="string">"Your Image Link"</span> </span><br><span class="line">+server.maxplayers 50 +server.worldsize 4000 </span><br><span class="line">+server.seed 1234 </span><br><span class="line">+server.saveinterval 300 -logfile <span class="string">"output.txt"</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<h3 id="替换上述内容中的”yourIP”、”yourPort”还有地图种子等信息,然后双击运行start-bat就可以启动服务器了。"><a href="#替换上述内容中的”yourIP”、”yourPort”还有地图种子等信息,然后双击运行start-bat就可以启动服务器了。" class="headerlink" title="替换上述内容中的”yourIP”、”yourPort”还有地图种子等信息,然后双击运行start.bat就可以启动服务器了。"></a>替换上述内容中的”yourIP”、”yourPort”还有地图种子等信息,然后双击运行start.bat就可以启动服务器了。</h3><ul>
<li><p><a href="https://rustmaps.com/">地图种子可以在这个网站上找</a></p>
</li>
<li><p><a href="https://www.rustadmin.com/">RUST管理员网站</a></p>
</li>
<li><p>注意:由于两个网站都是国外网站,所以加载速度会有点慢!</p>
</li>
</ul>
<p>您成功开启自己的RUST游戏服务器后,可以邀请您的朋友们一起加入游玩。祝您玩得开心!</p>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>一些页面</title>
<url>/2023/09/01/%E4%B8%80%E4%BA%9B%E9%A1%B5%E9%9D%A2/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><ul>
<li><a href="https://1230333shihaoran.github.io/yuanshen">原神</a></li>
</ul>
]]></content>
</entry>
<entry>
<title>原神</title>
<url>/2024/02/01/%E5%8E%9F%E7%A5%9E/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h4 id="原神展示篇"><a href="#原神展示篇" class="headerlink" title="原神展示篇"></a>原神展示篇</h4><h4 id="总"><a href="#总" class="headerlink" title="总"></a>总</h4><p><video src="https://webstatic.mihoyo.com/upload/op-public/2020/09/27/fd431739ff26ceeb3010ac561d68446b_345688670889091949.mp4" width="100%" height="auto" controls="controls" autoplay="autoplay"></video></p>
<p><video src="https://webstatic.mihoyo.com/upload/op-public/2021/10/03/9ec1205e68959838a18872e71268e399_2717250742320643202.mp4" width="100%" height="auto" controls="controls" autoplay="autoplay"></video></p>
<h4 id="4-2版本"><a href="#4-2版本" class="headerlink" title="4.2版本"></a>4.2版本</h4><p><video src="https://fastcdn.mihoyo.com/static-resource-v2/2023/11/03/239301475344bda8e7e0fefe714ac86e_6010389899008299497.mp4" width="100%" height="auto" controls="controls" autoplay="autoplay"></video></p>
<h4 id="4-3版本"><a href="#4-3版本" class="headerlink" title="4.3版本"></a>4.3版本</h4><p><video src="https://fastcdn.mihoyo.com/static-resource-v2/2023/12/08/7841d6f298b3c6b02231bed896b93498_1132898615241306407.mp4" width="100%" height="auto" controls="controls" autoplay="autoplay"></video></p>
<h4 id="4-4版本"><a href="#4-4版本" class="headerlink" title="4.4版本"></a>4.4版本</h4><p><video src="https://fastcdn.mihoyo.com/content-v2/hk4e/119487/5de450defb31791cb9e16888a04eef16_3965724462521747388.mp4" width="100%" height="auto" controls="controls" autoplay="autoplay"></video></p>
<h3 id="亲爱的旅行者:"><a href="#亲爱的旅行者:" class="headerlink" title="亲爱的旅行者:"></a>亲爱的旅行者:</h3><h3 id="以下是4-4版本——「彩鹞栉春风」更新与补偿内容。"><a href="#以下是4-4版本——「彩鹞栉春风」更新与补偿内容。" class="headerlink" title="以下是4.4版本——「彩鹞栉春风」更新与补偿内容。"></a>以下是4.4版本——「彩鹞栉春风」更新与补偿内容。</h3><p>〓补偿内容〓</p>
<p>停服更新补偿:原石*300(停服维护每小时补偿60原石)</p>
<p>问题修复补偿:原石*300(补偿条目请参考对应补偿邮件)</p>
<p>〓补偿范围〓</p>
<p>停服更新补偿:2024/01/31 06:00前冒险等阶达到5级及以上的旅行者。</p>
<p>领取时间截至4.4版本结束前。</p>
<p>问题修复补偿:2024/01/31 06:00前冒险等阶达到5级及以上的旅行者。</p>
<p>请旅行者于2024/02/03 06:00前上线收取邮件。</p>
<p>制作组将在维护完成后5小时内,以游戏内邮件的形式,向旅行者发放相应补偿。邮件有效期为30天,请及时领取附件。</p>
<p>〓更新时间〓</p>
<p>2024/01/31 06:00开始,预计5个小时完成。</p>
<p>〓客户端更新方式〓</p>
<p>PC:关闭当前游戏后,重新打开启动器,点击更新;</p>
<p>iOS:进入App Store,点击更新;</p>
<p>安卓:进入游戏后,按照游戏内弹窗提示完成更新;</p>
<p>PS5™或PS4™:打开系统界面-选择原神-按下手柄OPTIONS键-选择确认升级;</p>
<p>若遇到任何安装问题,请联系客服,我们将为旅行者解决问题。</p>
<p>〓本次更新内容〓</p>
<h4 id="一、全新地区"><a href="#一、全新地区" class="headerlink" title="一、全新地区"></a>一、全新地区</h4><h5 id="「璃月」新区域开放"><a href="#「璃月」新区域开放" class="headerlink" title="「璃月」新区域开放"></a>「璃月」新区域开放</h5><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">◇新增区域:在4.4版本中,璃月地区将开放「沉玉谷·上谷」、「沉玉谷·南陵」和「来歆山」。</span><br><span class="line"></span><br><span class="line">※完成魔神任务序章·第三幕「巨龙与自由之歌」后,将自动解锁璃月「沉玉谷·上谷」的一处传送锚点(版本更新前已完成相关魔神任务的旅行者,在版本更新后也会解锁该锚点),锚点自动解锁时,旅行者将会同时获得解锁该锚点的原石奖励。</span><br><span class="line"></span><br><span class="line"></span><br><span class="line"></span><br><span class="line">▌璃月地区全新系统</span><br><span class="line"></span><br><span class="line">「祀珑典仪」</span><br><span class="line"></span><br><span class="line">浮锦的仙力化作众多「苍灵鲤」,散落于沉玉谷山野各处。收集「苍灵鲤」的仙力,将其汇入锦落庭中的「祀珑」,可以提升其等级,获取沉玉谷水土的赐福。</span><br><span class="line"></span><br><span class="line">「祀珑典仪」系统解锁条件:</span><br><span class="line"></span><br><span class="line">•完成世界任务「赤望所居,锦落云程」</span><br><span class="line"></span><br><span class="line">此外,璃月地区也将有新的钓鱼点和「旋曜玉帛」布设。</span><br></pre></td></tr></table></figure>
<p>二、全新角色</p>
<p>「鸾音鹤信·闲云(风)」(★5)</p>
<p>◇神之眼:风</p>
<p>◇武器:法器</p>
<p>◇绝云仙众「三眼五显仙人」之一,雅号「留云借风真君」。擅使机关奇术,心向红尘烟火,正以「闲云」之名行走人间。</p>
<p>◆元素战技「朝起鹤云」</p>
<p>◆使闲云进入鹤云幻化状态,免疫坠落伤害并施放一次步天梯。在此状态下,闲云能连续释放步天梯进行跳跃,并将下落攻击转化为更强大的闲云冲击波,造成风元素范围伤害。施放的步天梯次数越多,闲云冲击波的伤害和范围越大。</p>
<p>◆元素爆发「暮集竹星」</p>
<p>◆轻唤仙风,造成风元素范围伤害,并为队伍中附近的所有角色恢复生命值。同时还会召唤机关「竹星」跟随场上角色,为他们间歇性恢复生命值。在竹星拥有仙力助推效果时,还能提升角色的跳跃高度,并在他们进行下落攻击时,消耗仙力助推层数,造成风元素范围伤害。</p>
<p>「骏猊頕首·嘉明(火)」(★4)</p>
<p>◇神之眼:火</p>
<p>◇武器:双手剑</p>
<p>◇剑匣镖局的镖师,威水舞兽队的话事人。</p>
<p>◆元素战技「瑞兽登高楼」</p>
<p>◆嘉明以舞兽之法向前扑击,能在接触目标或地形之后高高腾跃至空中,此时立刻进行的下落攻击会转化为下落攻击·踏云献瑞,造成火元素范围伤害。</p>
<p>◆元素爆发「璨焰金猊舞」</p>
<p>◆嘉明进入舞兽态势,为自己施加短暂的火元素附着,恢复一定生命值,并召唤伙伴猊兽·文仔砸击目标,造成火元素范围伤害。此后,猊兽·文仔将尝试滚落并向嘉明移动。二者会合时,猊兽·文仔将退场,并刷新嘉明的元素战技「瑞兽登高楼」的冷却时间。舞兽态势持续期间,提高嘉明的抗打断能力,进行下落攻击·踏云献瑞或在瑞兽登高楼的扑击结束时,若嘉明的生命值高于50%,将再次唤出猊兽·文仔。</p>
<p>三、全新装备</p>
<p>全新武器(以精炼1阶为例)</p>
<p>「法器·鹤鸣余音」(★5)</p>
<p>装备者下落攻击命中敌人后,队伍中附近的所有角色下落攻击造成的伤害提高28%,持续20秒;队伍中附近的角色的下落攻击命中敌人时,为装备者恢复2.5点元素能量,每0.7秒至多通过这种方式恢复一次元素能量,装备者处于队伍后台时依然能通过这种方式恢复元素能量。</p>
<p>◆活动祈愿「神铸赋形」期间,限定五星武器「法器·鹤鸣余音」祈愿获取概率将大幅提升!</p>
<p>四、全新衣装</p>
<p>甘雨——「玄玉瑶芳」</p>
<p>◇轻盈优雅的佳节服饰,以龙葵紫黑和玉鈫蓝为主调,发饰则如清心般明丽,正是甘雨最喜爱的搭配。</p>
<p>◆4.4版本更新完成后~2024/03/11 03:59期间,甘雨衣装「玄玉瑶芳」将在「商城-角色装扮」限时折扣出售。折扣期间衣装售价为1350创世结晶,限时折扣结束后价格将恢复至1680创世结晶,上架期间限购1次。</p>
<p>申鹤——「冷花幽露」</p>
<p>◇申鹤收到的海灯节贺礼。由其师留云借风真君请人缝制的优雅礼服,双臂上红绳依旧,但申鹤心中的苦寒之意已淡。</p>
<p>◆4.4版本更新完成后~2024/03/11 03:59期间,申鹤衣装「冷花幽露」将在「商城-角色装扮」限时折扣出售。折扣期间衣装售价为1350创世结晶,限时折扣结束后价格将恢复至1680创世结晶,上架期间限购1次。</p>
<p>行秋——「雨化竹身」</p>
<p>◇飞云商会为行秋准备的宴会衣装。竹纹清雅、剪裁服帖,但最令行秋满意的还是其内层的口袋,足够塞下一册较薄的小说了。</p>
<p>◆4.4版本中,旅行者可通过限时活动「彩鹞栉春风」免费获取行秋衣装「雨化竹身」。</p>
<p>◆4.4版本结束后,可通过「商城-角色装扮」购买该衣装。</p>
<p>五、全新剧情</p>
<p>1.全新传说任务</p>
<p>闲云传说任务——闲鹤之章·第一幕 「千里月明」</p>
<p>4.4版本更新后永久开放</p>
<p>◆任务开启条件:</p>
<p>•冒险等阶≥40级</p>
<p>•完成魔神任务 间章 第一幕「风起鹤归」</p>
<p>2.全新世界任务</p>
<p>新增世界任务</p>
<p>◆新增世界任务:「沉玉祝珑」系列任务、「赤望所居,锦落云程」、「攸望三叠」、「哐哐锵锵王山行」、「古华书剑谱」、「秘谷侠隐」、「仙人游庄」、「契约之砂」、「沉玉之旅」、「云云椒椒 」、「故事繁多的翘英庄」、「水土暂服」等。</p>
<p>六、全新敌人</p>
<p>「隐山猊兽」</p>
<p>◇优雅而高傲的灵兽,只栖息于仙力萦绕的深山中。</p>
<p>能够同时驱使水元素与风元素进行战斗。在其汇集水元素的仙力时将其冻结,再通过碎冰或融化等元素反应将坚冰击碎,能使其暂时陷入无法行动的状态;在其汇集风元素的仙力时,通过能与风元素反应的元素类型的攻击,击破其唤出的灵风珠,也能取得同样的优势。</p>
<p>位于「沉玉谷·南陵」地区</p>
<p>「玄文兽」</p>
<p>◇栖息在沉玉谷山林间的凶猛野兽。</p>
<p>通过元素反应将其冻结,再通过碎冰或融化等元素反应将坚冰击碎,能使其暂时陷入无法行动的状态。</p>
<p>七、其他更新内容</p>
<ol>
<li>新增食谱:</li>
</ol>
<p>○NPC「卯师傅」:「蜜汁叉烧」;</p>
<p>○NPC「连芳」:「沉玉茶露」「玉纹茶叶蛋」「茶熏乳鸽」;</p>
<p>○NPC「璃彩」:「油爆双脆」「红烧肉圆」;</p>
<p>○完成世界任务获得:「古华鱼羊鲜」「茶好月圆」;</p>
<p>○通过活动获得:「八宝福禄鸭」;</p>
<ol start="2">
<li>新增特色料理:</li>
</ol>
<p>○闲云特色料理:「四喜圆满」;</p>
<p>○嘉明特色料理:「得闲饮茶」;</p>
<ol start="3">
<li><p>新增「沉玉成辉」成就集合,并在「天地万象」中更新了部分成就;</p>
</li>
<li><p>新增会话表情:派蒙的画作第29弹;</p>
</li>
<li><p>新增了部分加载页面提示;</p>
</li>
<li><p>新增名片:</p>
</li>
</ol>
<p>「闲云·鹤云」:闲云的好感等级达到10级时获取;</p>
<p>「嘉明·文仔」:嘉明的好感等级达到10级时获取;</p>
<p>「成就·仙谷」:达成「沉玉成辉」下所有成就时获取;</p>
<p>「沉玉·投珑」:祀珑典仪等级达到10级时获取;</p>
<p>「纪行·彩鹞」:纪行系统奖励获取;</p>
<ol start="7">
<li><p>新增野生生物:「柔柔羊」、「珉光虫」、「朱喙鹈鹕」、「玉璜龟」、「秋绒鸭」;</p>
</li>
<li><p>新增游鱼:「玉玉心羽鲈」;</p>
</li>
<li><p>新增「圣遗物快速装备」功能:</p>
</li>
</ol>
<p>(1)「快捷搭配方案」:依据近期活跃玩家的使用数据,搭配出一套可供参考的圣遗物,生成方案时,仅会将未被其他角色装备的圣遗物纳入选择;</p>
<p>(2)「自定义方案」:自定义方案的数据将根据不同角色的设置进行保存,使用「自定义方案」时可根据“圣遗物主要属性”、“套装类型”、“追加属性排序”、“是否采用未被其他角色装备的圣遗物”等条件进行方案设置;根据自定义方案生成的搭配可进行调整;调整搭配时,备选圣遗物将会根据圣遗物套装和属性的优先级设置进行综合排序;当「自定义方案」中勾选“其他选择-全部”时,若搭配方案内有已经被其他角色装备的圣遗物,在装备时会将其卸下后装备至目标角色;</p>
<ol start="10">
<li><p>PC端的“设置/图像”界面,“显示模式”增加了“无边框”的全屏选项;</p>
</li>
<li><p>「七圣召唤」玩法更新:</p>
</li>
</ol>
<p>新增角色牌「托马」「早柚」及对应天赋牌,并更新了对应的牌手名录中的邀约对局关卡和来客挑战访客;</p>
<p>新增角色牌「无相之冰」 「千年珍珠骏麟」 及对应天赋牌,并更新了对应的酒馆牌局挑战;</p>
<p>新增行动牌「原木刀」「老兵的容颜」「婕德」「西尔弗和迈勒斯」「机关铸成之链」「净觉花」「松茸酿肉卷」,可在猫尾酒馆「小王子」处购买;</p>
<p>「铸境研炼」玩法将再次登场,本期的玩法主题为「铸境研炼·巧策进斗」:</p>
<p>(1)在「铸境研炼·巧策进斗」的牌局中,可以选择关卡的设置挑战词条进行挑战(可设置的挑战词条有:关卡难度,对局回合数,对手额外生命值);</p>
<p>(2)在完成某一关卡的对局挑战后,会根据在该关卡中完成的挑战词条获取相应积分,同时在该关卡中所取得的最高积分达到指定积分时可以领取对应的奖励。</p>
<ol start="12">
<li>深境螺旋</li>
</ol>
<p>第十一层地脉异常调整为:</p>
<p>•队伍中所有角色获得75%风元素伤害加成。</p>
<p>更新了深境螺旋第十一层、第十二层的敌人阵容。</p>
<p>从4.4版本更新完成后的第一次深境期数更新开始,三期渊月祝福分别如下:</p>
<p>第一期:</p>
<p>涨势之月</p>
<p>角色受到治疗时,将进行计数。计数达到16次时,将在角色的位置释放冲击波,对附近的敌人造成真实伤害,并移除已有的计数。每8秒至多通过这种方式释放一次冲击波。</p>
<p>第二期:</p>
<p>劲韧之月</p>
<p>当前场上角色的下落攻击命中敌人后,该角色的下落攻击伤害提升20%,持续8秒,该效果每0.1秒至多触发一次,至多叠加3层,每层独立计时。角色退场时,该效果将被移除。</p>
<p>第三期:</p>
<p>陨坠之月</p>
<p>当前场上角色的下落攻击命中敌人时,将在角色的位置释放冲击波,对附近的敌人造成真实伤害,每2秒至多通过这种方式释放一次冲击波。</p>
<p>〓调整及优化〓</p>
<p>● 尘歌壶</p>
<ol>
<li><p>摆设增加了新的分类,并重新分类了部分摆设,调整了部分分类的排序;</p>
</li>
<li><p>重构了“背包-摆设”和“制作/摆设”界面的筛选功能,现在支持更多条件筛选,并可进行搜索;</p>
</li>
<li><p>编辑模式下,摆放摆设时将记忆列表所处位置,切换其他摆设类型后不会重置列表位置;</p>
</li>
<li><p>编辑界面的同伴页签,增加了同伴好感等级显示,并且好感等级未达到10级的角色,会根据好感等级降序展示;</p>
</li>
<li><p>优化了摆设「萦绊之刻」中角色邀约与其对应画面的排序;</p>
</li>
</ol>
<p>● 七圣召唤</p>
<ol>
<li><p>规范了部分挑战中卡牌的技能描述;</p>
</li>
<li><p>调整了角色牌「特瓦林」天赋牌「毁裂风涡」的描述(效果不变);</p>
</li>
</ol>
<p>原描述:“装备有此牌的特瓦林在场时,敌方出战角色所附属的坍毁状态被移除后:对下一个敌方后台角色附属坍毁。”</p>
<p>调整后为:“装备有此牌的特瓦林在场时,敌方角色所附属的坍毁状态被移除后:对下一个敌方后台角色附属坍毁。”</p>
<p>● 系统</p>
<ol>
<li><p>增加了“队伍配置-管理队伍”界面的队伍数量上限,由10增加至15;</p>
</li>
<li><p>世界树服务器PC端,“设置/图像”界面,“显示模式”中的“独占全屏”名字调整为“无边框”(实际显示效果未调整;调整后世界树服务器PC端“显示模式”可选选项有:“无边框”和“窗口”);</p>
</li>
<li><p>“冒险之证-委托”界面增加了完成每日领取4次委托奖励后,前往冒险家协会领取额外奖励的红点提示;</p>
</li>
<li><p>调整了活动「且试身手」中秘境的“退出挑战”界面,增加了“其他试用关卡”选项;</p>
</li>
<li><p>“还圣奥迹”界面现在可以查看对应圣遗物的2件套和4件套效果;</p>
</li>
<li><p>调整了角色突破素材的来源描述,并增加了到“冒险之证-讨伐”的跳转;</p>
</li>
<li><p>调整了“圣遗物筛选”界面和“圣遗物锁定功能”界面的部分按钮文本;</p>
</li>
</ol>
<p>● 音频</p>
<ol>
<li><p>新增了语音触发机制:首次获得角色并展示角色立绘时,或首次获得角色衣装并展示衣装立绘时,会触发相关语音;</p>
</li>
<li><p>优化了“角色/突破”界面,角色突破操作对角色待机语音的打断机制;</p>
</li>
<li><p>优化了部分角色、任务中的韩语语音台词;</p>
</li>
</ol>
<p>● 其他</p>
<ol>
<li><p>若委托任务其相关成就处于未达成的状态,该委托任务出现的概率会提升;</p>
</li>
<li><p>Playstation®设备和部分PC设备新增“角色动态高精度”功能:该功能在Playstation®设备默认开启,无选项显示;PC设备可在“设置/图像”中,找到选项“角色动态高精度”打开(暂不支持该功能的PC设备将不显示该选项);</p>
</li>
<li><p>修改了部分成就的文本描述(成就对应的Playstation®平台奖杯暂不支持修改);</p>
</li>
<li><p>4.4版本更新后,Asia服务器新注册的账号将使用新的UID命名规则(原有账号的UID不受影响);</p>
</li>
</ol>
<p>〓「七圣召唤」平衡性调整〓</p>
<p>「七圣召唤」平衡性调整</p>
<ol>
<li><p>调整了事件牌「万家灶火」的效果:调整后为“我方抓当前的回合数-1数量的牌。(最多抓4张)”;</p>
</li>
<li><p>调整了装备牌「花海甘露之光」的效果:现在其“治疗所附属角色1点”的效果,仅会在触发了其“抓1张牌”效果的回合触发;</p>
</li>
<li><p>调整了角色牌「雷音权现」状态「雷鸣探知」的效果:效果“此状态存在期间,可以触发1次:所附属角色受到雷音权现及其召唤物造成的伤害+1”,调整为“所附属角色受到雷音权现及其召唤物造成的伤害时:移除此状态,使此伤害+1”。</p>
</li>
<li><p>调整了角色牌「雷音权现」天赋牌「悲号回唱」所需元素骰,并增加了效果:所需元素骰由0个调整为3个雷元素骰;增加效果“战斗行动:我方出战角色为雷音权现时,装备此牌”,以及“雷音权现装备此牌后,立刻使用一次雷墙倾轧”。</p>
</li>
</ol>
<p>〓问题修复〓</p>
<p>● 敌人</p>
<ol>
<li><p>修复了特定情况下,敌人「黑蛇骑士·斩风之剑」的被击倒动画无法正常播放的问题;</p>
</li>
<li><p>修复了特定情况下,敌人「重甲蟹」被角色「明律决罚·夏沃蕾(火)」的元素爆发命中后,会异常长时间悬浮在空中的问题;</p>
</li>
<li><p>修复了当具有芒性或荒性的不同敌人同时过载失能时,敌人「机关·算力增幅器」为其队友解除失能状态的效果有概率异常失效的问题;</p>
</li>
</ol>
<p>● 角色</p>
<ol>
<li><p>修复了角色「惑光幻戏·林尼(火)」施放元素爆发化身「怪笑帽帽猫」期间接近敌人时,有小概率对同一敌人多造成一次伤害的问题;</p>
</li>
<li><p>修复了「旅行者(水)」施放元素战技产生的源水之滴被牵引后,会有特效异常残留的问题;</p>
</li>
<li><p>修复了当「忍里之貉·早柚(风)」与「不休独舞·芙宁娜(水)」处于同一队伍时,早柚固有天赋「呜呼流·屏息秘传」有概率异常失效的问题;</p>
</li>
</ol>
<p>● 系统</p>
<ol>
<li><p>修复了“冒险之证-委托”界面,历练点距离能领取奖励还差极少量进度,但显示历练点已足以领取奖励的问题;</p>
</li>
<li><p>修复了特定情况下,角色在使用「梅洛彼得堡·废弃生产区」的「传动机阀」时,游戏镜头出现异常的问题;</p>
</li>
<li><p>修复了4.3版本更新后,“生物志”中,强敌「吞星之鲸」特效表现异常的问题;</p>
</li>
<li><p>修复了存在1件套效果的圣遗物,在未装备的状态下,其1件套效果会异常显示为激活的问题;</p>
</li>
<li><p>删除了部分较低图像质量设置下的冗余场景物件;</p>
</li>
</ol>
<p>● 七圣召唤</p>
<ol>
<li><p>修复了角色牌「愚人众·冰萤术士」施放元素爆发时,若触发了「轰轰火花」「愚人众伏兵」等出战状态受到伤害,则「流萤护罩」因「冰萤」生成的护盾值会出现错误的问题;</p>
</li>
<li><p>修复了角色牌「莱依拉」元素战技生成的出战状态「安眠帷幕护盾」缺少卡牌标签「护盾」的问题;</p>
</li>
<li><p>修复了挑战中,具有芒性或荒性能源特征的卡牌,在施放需要准备的技能后进入失能形态,这部分技能状态会异常保留的问题;</p>
</li>
<li><p>修复了角色牌「艾尔海森」附属「琢光镜」状态时,角色普通攻击的文本描述,未能正常显示其造成伤害为草元素伤害的问题(文本显示错误,实际效果未出现异常);</p>
</li>
</ol>
<p>● 音频</p>
<ol>
<li><p>修复了圣遗物升级音效存在杂音的问题;</p>
</li>
<li><p>修复了部分角色、任务中的汉语语音语病和错误;</p>
</li>
<li><p>修复了角色「烦恼刈除·久岐忍(雷)」和「明花蔓舵·娜维娅(岩)」的韩语闲聊语音和实际闲置动作不匹配的问题;</p>
</li>
</ol>
<p>● 其他</p>
<ol>
<li><p>修复了特定情况下,在多人游戏模式,主机施放「异色球球章鱼」能力无法与目标交互的问题;</p>
</li>
<li><p>修复了特定情况下,在多人游戏模式,野生生物「悠悠海獭」会异常游出水面的问题;</p>
</li>
<li><p>修复了「枫丹」水中区域的「水晶蝶」有概率不出现,或在角色未靠近时就被惊动的问题;</p>
</li>
<li><p>修复了「尘歌壶」中,赠礼套装「禁限之堡的『拳力以赴』」的“邀请”按钮异常被摆设模型阻挡的问题;</p>
</li>
<li><p>修复了特定情况下,使用手柄与小道具「晶蝶诱捕装置」或「参量质变仪」交互时,会异常打开兑换创世结晶为原石的界面的问题;</p>
</li>
<li><p>修复了部分语言的文本错误,优化了文本(实际效果不变;旅行者可以通过 派蒙界面->设置->语言 切换游戏语言,到当前公告条目下查看对应语言的改动)。</p>
</li>
</ol>
<p>*本作品纯属虚构,与一切真实人物、事件、团体、组织均无关联。</p>
<p>“PlayStation”, “PS5”, “PS4”, “DualSense”, “DUALSHOCK” are registered trademarks or trademarks of Sony Interactive Entertainment Inc.</p>
]]></content>
</entry>
<entry>
<title>关于</title>
<url>/2023/09/11/%E5%85%B3%E4%BA%8E/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><ul>
<li>本网站已启动自动管理系统!</li>
<li>本网站所有不能显示的图片已经替换!</li>
<li>本网站属于开源项目!地址:<a href="https://github.com/1230333shihaoran/1230333shihaoran.github.io">https://github.com/1230333shihaoran/1230333shihaoran.github.io</a></li>
<li>本网站所有来自日本的组件已经全部删除!</li>
</ul>
<h2 id="本网站已经切换评论系统为Valine!(韩国的来必力太慢,广告多!"><a href="#本网站已经切换评论系统为Valine!(韩国的来必力太慢,广告多!" class="headerlink" title="本网站已经切换评论系统为Valine!(韩国的来必力太慢,广告多!)"></a>本网站已经切换评论系统为Valine!(韩国的来必力太慢,广告多!)</h2><h3 id="版权声明-本博客所有文章除特别声明外,均采用-CC-BY-NC-SA-4-0-许可协议。转载请注明来自-竹石的网站!"><a href="#版权声明-本博客所有文章除特别声明外,均采用-CC-BY-NC-SA-4-0-许可协议。转载请注明来自-竹石的网站!" class="headerlink" title="版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 竹石的网站!"></a>版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 竹石的网站!</h3><p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>各个学校的军训</title>
<url>/2023/09/01/%E5%90%84%E4%B8%AA%E5%AD%A6%E6%A0%A1%E7%9A%84%E5%86%9B%E8%AE%AD/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h3 id="成都外国语德阳校区"><a href="#成都外国语德阳校区" class="headerlink" title="成都外国语德阳校区"></a>成都外国语德阳校区</h3><p><img src="https://s2.loli.net/2023/09/01/wnHlNKiPZaTDore.png" alt="lADPJxf-3LWcSZjNA0LNBQA_1280_834.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/iRKzI9l3x7ELVBv.jpg" alt="lADPJv8gZjQuyc3NA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/R8yZ4tqYFzGrWNp.jpg" alt="lADPJx8Z2f8pSczNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/C47rqmMkbZQaV8S.jpg" alt="lADPD26eZUeRyXzNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/5buztjCp3v7N6Ai.jpg" alt="lADPJwnI4iKE3FrNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/jGV5Umia9IFMeOf.jpg" alt="lADPD2sQ5qLLSXDNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/m61XtcngNjx9Luw.jpg" alt="lADPJx8Z2f8r3LTNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/8zQVoh6Ga1vrO2b.jpg" alt="lADPJwKt5Nj33FTNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/8zoya4UdD7tJLE5.jpg" alt="lADPJwKt5Njxa97NA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/cHPan5Jtgv8bk6G.png" alt="lADPJw1WYMdE69TNA0XNBQA_1280_837.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/DqCebG68Mulwgdp.png" alt="lADPJw1WYMdIya3NA0rNBQA_1280_842.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/493WKsgptnzeOZa.jpg" alt="lADPKG0OWoAO3LzNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/8aQuc39ZyUxjr51.jpg" alt="lADPJxuMW1plXF7NA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ba5FyS7NdgoHOPT.jpg" alt="lADPJxf-3LWcSXrNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/H5BVqNnZogFtfGx.jpg" alt="lADPJxRxXhDR69bNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Bck7YZMON3uPpbo.jpg" alt="lADPJxRxXhDYXLjNA1XNBQA_1280_853.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/MQ9RjKTYPkWOCvL.png" alt="lADPJxuMW1piybHNA0zNBQA_1280_844.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/QK3GshZw4BC5DI6.png" alt="lADPJxf-3LWcSbrNAz_NBQA_1280_831.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/DrMYFUHSJ4Rjp68.png" alt="lADPJxRxXhDVyb7NA1PNBQA_1280_851.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Uz3B2DCoefGTmX8.jpg" alt="lADPJxuMW1piyYvNA1XNBQA_1280_853.jpg"></p>
<h3 id="德阳天立"><a href="#德阳天立" class="headerlink" title="德阳天立"></a>德阳天立</h3><p><img src="https://s2.loli.net/2023/09/01/MF9LCDYmePzyrSB.jpg" alt="lADPD3W5YpFIvnzNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/JkK8FleBE5LDN96.jpg" alt="lADPD26eZUe7vwDNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/bZU1n4haQ6qgc9r.jpg" alt="lADPD4PvXSRivm7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/1pJWQ29KxCfsqeG.jpg" alt="lADPD3zUX9rSVWvNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Fm6LlyXRhQksCt5.jpg" alt="lADPD3W5YpFCBznNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/751IfdniUaFMsEz.jpg" alt="lADPD26eZUe31R7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/XFzBcMST3I2yabP.jpg" alt="lADPJv8gZjRYvv7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/kxcuCeim4PYKhUq.jpg" alt="lADPJv8gZjRVVQfNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/P8I1meMOvS5b6En.jpg" alt="lADPJv8gZjRSB5HNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Rwvt78sg3UTAGCF.jpg" alt="lADPJv8gZjRSBz_NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ckOytJVBHrU58Tf.jpg" alt="lADPJv8gZjRTASXNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/SnJ8QUdstcMYRTp.jpg" alt="lADPJv8gZjRSB3nNBaHNBDg_1080_1441.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/DFX4AOy5MSIxLfE.jpg" alt="lADPJv8gZjRSB4nNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/I4sKq1cL6WxnbMl.jpg" alt="lADPJv8gZjRYvuXNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/7cNDZr64LSpTCnJ.jpg" alt="lADPJv8gZjRVVSTNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/oYId1KiQrGfWbDN.jpg" alt="lADPJv8gZjRVVVLNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Yv93KWkmgQTFdlq.jpg" alt="lADPJw1WYMdyvu3NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ESsaqTJKQvi5Nu4.jpg" alt="lADPJw1WYMdvVRPNA8DNBQA_1280_960.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/rsTzuLBPjtbOImC.jpg" alt="lADPJw1WYMdyvojNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/i62E9NrGJQAxZbT.jpg" alt="lADPJw1WYMdvVWzNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/37tYOBhLIiovmTq.jpg" alt="lADPJw1WYMdvVOfNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/3XWFUOyeb1NEnkz.jpg" alt="lADPJw1WYMdvVPLNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/YiHuzChxZylRAj5.jpg" alt="lADPJw1WYMdvVV7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/jZ4rcmtV8x7DobA.jpg" alt="lADPJw1WYMdvVUvNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/rbL5fs8kBGTAZnO.jpg" alt="lADPJw1WYMdsB2jNA8DNBQA_1280_960.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/N5eSsloAH6qCDBF.jpg" alt="lADPJw1WYMdyGyvNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/RG1QgkxbtP9YV2T.jpg" alt="lADPJw1WYMdyvwTNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/84JbhQGXU7o5jer.jpg" alt="lADPJwKt5Nkb1d3NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/mNKyfAuHORZvnaV.jpg" alt="lADPJwKt5Nkb1UPNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/1mQxnZgcuA8HwYK.jpg" alt="lADPJwKt5NkfPnLNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/zPj8aygvqGxtpkU.jpg" alt="lADPJwKt5NkcM7TNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/3pFZ1zroG72JLUD.jpg" alt="lADPJwKt5NkfPmjNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/w7SVPoe8b6fNXtz.jpg" alt="lADPJwKt5NkYh2DNA8DNBQA_1280_960.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/avonUk76GedAtLq.jpg" alt="lADPJwKt5Nkb1XvNA8DNBQA_1280_960.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Kz1tvUSl4sHo36X.jpg" alt="lADPJwKt5NkfPrnNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/hGcblaTVq6udZkH.jpg" alt="lADPJwY7Y33iVaTNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ElQYX18I5HJkSea.jpg" alt="lADPJwY7Y33lvmzNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/qGm8IEZ1z5A6yrM.jpg" alt="lADPJwY7Y33iVWLNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/KeOa5YAQnso2Hl3.jpg" alt="lADPJwnI4iKsPvfNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/Mv7LZlgp5mjDPeC.jpg" alt="lADPJwY7Y33iVZ7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/mPToGJtS8L1VMXD.jpg" alt="lADPJwY7Y33lvnbNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/f9KJtvOeFVxqnLX.jpg" alt="lADPJxDj32wyh0LNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/4hbPnDWE6RSeoMY.jpg" alt="lADPJxDj32w11VTNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/hdxteGpMkiVX7cZ.jpg" alt="lADPJxDj32wyh1LNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/AxyqRtUZ1BzsP3h.jpg" alt="lADPJxDj32w5PsvNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/oCS2GYFnUwl6Z1N.jpg" alt="lADPJxDj32w11dPNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ImNxoKn8bhOGRCv.jpg" alt="lADPJxDj32w11WHNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/v5A9L1bNEoVZdDe.jpg" alt="lADPJxDj32w11YTNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/KAUgTvDIm2eSfWs.jpg" alt="lADPJxDj32w5PxnNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/PEXrCbRcaAtwe3s.jpg" alt="lADPJxDj32w11dXNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/VXgoxGZs6H2WpJ1.jpg" alt="lADPJxuMW1qJVSLNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/4nERmw8cxqhNoQt.jpg" alt="lADPJxuMW1qJVQ3NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/th9IyeVWEjGo43U.jpg" alt="lADPJxuMW1qJVTvNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/SimhDYn3aIpzqCX.jpg" alt="lADPJxuMW1qJVPHNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/2md6IBWxnckUDlu.jpg" alt="lADPJxDj32wyh4DNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/NwKEmzFdnPAMcl8.jpg" alt="lADPJxf-3LXC1RbNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/VPWLGKYAEJk7prI.jpg" alt="lADPJxf-3LW_h1zNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/TzW6fMCqui3FbKv.jpg" alt="lADPJxf-3LW_h3zNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/upn5ge6ZPjm9WXE.jpg" alt="lADPJxf-3LXC1UDNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/f1uBLPJOvlAnrFK.jpg" alt="lADPJxf-3LXC1U7NA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/GlwoH2dnEJOt9DB.jpg" alt="lADPJxf-3LXGPqXNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/t8Ih79KMknaqiU6.jpg" alt="lADPJxf-3LXGPrjNA1TNBQA_1280_852.jpg"></p>
<p><img src="https://s2.loli.net/2023/09/01/ctvm3QLhkj7M8BY.jpg" alt="lADPJxf-3LXAgSnNA1TNBQA_1280_852.jpg"></p>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>德阳天立学校</title>
<url>/2023/09/10/%E5%BE%B7%E9%98%B3%E5%A4%A9%E7%AB%8B%E5%AD%A6%E6%A0%A1/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h1 id="你好天立"><a href="#你好天立" class="headerlink" title="你好天立!"></a>你好天立!</h1><ul>
<li><a href="http://dytlxx.cn/">德阳天立网站</a></li>
</ul>
<h5 id="图片"><a href="#图片" class="headerlink" title="图片"></a>图片</h5><p><img src="https://s2.loli.net/2023/08/22/KjNdhty9Q8o3GUs.jpg" alt="zhushi.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/cRZWLkAbsMBfGgS.jpg" alt="1639098745.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/I8quOAydXefgHnY.jpg" alt="1639100900.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/JDT1uVCk3lmvfKG.jpg" alt="1639101082.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/9453RLxy7FTiqHh.jpg" alt="1639100090.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/PB74HK1hk6ZrnGE.jpg" alt="1639100486.jpg"></p>
<p><img src="https://s2.loli.net/2023/08/22/QSJWTMyrqgusDhN.jpg" alt="1639100758.jpg"></p>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>坦克大战</title>
<url>/2023/08/01/%E5%9D%A6%E5%85%8B%E5%A4%A7%E6%88%98/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h3 id="六种编程语言制作坦克大战"><a href="#六种编程语言制作坦克大战" class="headerlink" title="六种编程语言制作坦克大战"></a>六种编程语言制作坦克大战</h3><h5 id="C-最常用的游戏编程语言"><a href="#C-最常用的游戏编程语言" class="headerlink" title="C++(最常用的游戏编程语言)"></a>C++(最常用的游戏编程语言)</h5><figure class="highlight c++"><table><tr><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><iostream></span></span></span><br><span class="line"><span class="meta">#<span class="keyword">include</span> <span class="string"><conio.h></span></span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> std;</span><br><span class="line"></span><br><span class="line"><span class="type">const</span> <span class="type">int</span> width = <span class="number">20</span>; <span class="comment">// 游戏区域宽度</span></span><br><span class="line"><span class="type">const</span> <span class="type">int</span> height = <span class="number">20</span>; <span class="comment">// 游戏区域高度</span></span><br><span class="line"><span class="type">bool</span> gameOver;</span><br><span class="line"><span class="type">int</span> x, y; <span class="comment">// 坦克位置</span></span><br><span class="line"><span class="type">int</span> targetX, targetY; <span class="comment">// 目标位置</span></span><br><span class="line"><span class="type">int</span> score;</span><br><span class="line"></span><br><span class="line"><span class="keyword">enum</span> <span class="title class_">Direction</span> { STOP = <span class="number">0</span>, LEFT, RIGHT, UP, DOWN };</span><br><span class="line">Direction dir;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">Setup</span><span class="params">()</span> </span>{</span><br><span class="line"> gameOver = <span class="literal">false</span>;</span><br><span class="line"> dir = STOP;</span><br><span class="line"> x = width / <span class="number">2</span>;</span><br><span class="line"> y = height / <span class="number">2</span>;</span><br><span class="line"> targetX = <span class="built_in">rand</span>() % width;</span><br><span class="line"> targetY = <span class="built_in">rand</span>() % height;</span><br><span class="line"> score = <span class="number">0</span>;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">Draw</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="built_in">system</span>(<span class="string">"cls"</span>);</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> i = <span class="number">0</span>; i < width+<span class="number">2</span>; i++)</span><br><span class="line"> cout << <span class="string">"#"</span>;</span><br><span class="line"> cout << endl;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> i = <span class="number">0</span>; i < height; i++) {</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> j = <span class="number">0</span>; j < width; j++) {</span><br><span class="line"> <span class="keyword">if</span> (j == <span class="number">0</span>)</span><br><span class="line"> cout << <span class="string">"#"</span>;</span><br><span class="line"> <span class="keyword">if</span> (i == y && j == x)</span><br><span class="line"> cout << <span class="string">"T"</span>;</span><br><span class="line"> <span class="keyword">else</span> <span class="keyword">if</span> (i == targetY && j == targetX)</span><br><span class="line"> cout << <span class="string">"X"</span>;</span><br><span class="line"> <span class="keyword">else</span></span><br><span class="line"> cout << <span class="string">" "</span>;</span><br><span class="line"> <span class="keyword">if</span> (j == width - <span class="number">1</span>)</span><br><span class="line"> cout << <span class="string">"#"</span>;</span><br><span class="line"> }</span><br><span class="line"> cout << endl;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> i = <span class="number">0</span>; i < width+<span class="number">2</span>; i++) {</span><br><span class="line"> cout << <span class="string">"#"</span>;</span><br><span class="line"> }</span><br><span class="line"> cout << endl;</span><br><span class="line"> cout << <span class="string">"Score:"</span> << score << endl;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">Input</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="keyword">if</span> (_kbhit()) {</span><br><span class="line"> <span class="keyword">switch</span> (_getch()) {</span><br><span class="line"> <span class="keyword">case</span> <span class="string">'a'</span>:</span><br><span class="line"> dir = LEFT;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> <span class="string">'d'</span>:</span><br><span class="line"> dir = RIGHT;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> <span class="string">'w'</span>:</span><br><span class="line"> dir = UP;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> <span class="string">'s'</span>:</span><br><span class="line"> dir = DOWN;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> <span class="string">'x'</span>:</span><br><span class="line"> gameOver = <span class="literal">true</span>;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">Logic</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="keyword">switch</span> (dir) {</span><br><span class="line"> <span class="keyword">case</span> LEFT:</span><br><span class="line"> x--;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> RIGHT:</span><br><span class="line"> x++;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> UP:</span><br><span class="line"> y--;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">case</span> DOWN:</span><br><span class="line"> y++;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> <span class="keyword">default</span>:</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">if</span> (x >= width)</span><br><span class="line"> x = <span class="number">0</span>;</span><br><span class="line"> <span class="keyword">else</span> <span class="keyword">if</span> (x < <span class="number">0</span>)</span><br><span class="line"> x = width - <span class="number">1</span>;</span><br><span class="line"> <span class="keyword">if</span> (y >= height)</span><br><span class="line"> y = <span class="number">0</span>;</span><br><span class="line"> <span class="keyword">else</span> <span class="keyword">if</span> (y < <span class="number">0</span>)</span><br><span class="line"> y = height - <span class="number">1</span>;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">if</span> (x == targetX && y == targetY) {</span><br><span class="line"> score += <span class="number">10</span>;</span><br><span class="line"> targetX = <span class="built_in">rand</span>() % width;</span><br><span class="line"> targetY = <span class="built_in">rand</span>() % height;</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">main</span><span class="params">()</span> </span>{</span><br><span class="line"> <span class="built_in">Setup</span>();</span><br><span class="line"> <span class="keyword">while</span> (!gameOver) {</span><br><span class="line"> <span class="built_in">Draw</span>();</span><br><span class="line"> <span class="built_in">Input</span>();</span><br><span class="line"> <span class="built_in">Logic</span>();</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<h5 id="Python"><a href="#Python" class="headerlink" title="Python"></a>Python</h5><figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">import</span> pygame</span><br><span class="line"><span class="keyword">import</span> random</span><br><span class="line"></span><br><span class="line"><span class="comment"># 初始化</span></span><br><span class="line">pygame.init()</span><br><span class="line"></span><br><span class="line"><span class="comment"># 游戏窗口尺寸</span></span><br><span class="line">window_width = <span class="number">800</span></span><br><span class="line">window_height = <span class="number">600</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 颜色定义</span></span><br><span class="line">black = (<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>)</span><br><span class="line">white = (<span class="number">255</span>, <span class="number">255</span>, <span class="number">255</span>)</span><br><span class="line">red = (<span class="number">255</span>, <span class="number">0</span>, <span class="number">0</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 创建游戏窗口</span></span><br><span class="line">window = pygame.display.set_mode((window_width, window_height))</span><br><span class="line">pygame.display.set_caption(<span class="string">"坦克大战"</span>)</span><br><span class="line"></span><br><span class="line">clock = pygame.time.Clock()</span><br><span class="line"></span><br><span class="line"><span class="comment"># 加载坦克图片</span></span><br><span class="line">tank_image = pygame.image.load(<span class="string">"tank.png"</span>)</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">tank</span>(<span class="params">x, y</span>):</span><br><span class="line"> <span class="comment"># 绘制坦克</span></span><br><span class="line"> window.blit(tank_image, (x, y))</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">game_loop</span>():</span><br><span class="line"> game_over = <span class="literal">False</span></span><br><span class="line"></span><br><span class="line"> <span class="comment"># 坦克初始位置</span></span><br><span class="line"> tank_x = window_width // <span class="number">2</span> - <span class="number">25</span></span><br><span class="line"> tank_y = window_height - <span class="number">50</span></span><br><span class="line"></span><br><span class="line"> <span class="comment"># 移动速度</span></span><br><span class="line"> tank_speed = <span class="number">5</span></span><br><span class="line"></span><br><span class="line"> <span class="keyword">while</span> <span class="keyword">not</span> game_over:</span><br><span class="line"> <span class="keyword">for</span> event <span class="keyword">in</span> pygame.event.get():</span><br><span class="line"> <span class="keyword">if</span> event.<span class="built_in">type</span> == pygame.QUIT:</span><br><span class="line"> game_over = <span class="literal">True</span></span><br><span class="line"></span><br><span class="line"> keys = pygame.key.get_pressed()</span><br><span class="line"> <span class="keyword">if</span> keys[pygame.K_LEFT]:</span><br><span class="line"> tank_x -= tank_speed</span><br><span class="line"> <span class="keyword">if</span> keys[pygame.K_RIGHT]:</span><br><span class="line"> tank_x += tank_speed</span><br><span class="line"> <span class="keyword">if</span> keys[pygame.K_UP]:</span><br><span class="line"> tank_y -= tank_speed</span><br><span class="line"> <span class="keyword">if</span> keys[pygame.K_DOWN]:</span><br><span class="line"> tank_y += tank_speed</span><br><span class="line"></span><br><span class="line"> <span class="comment"># 边界检测</span></span><br><span class="line"> <span class="keyword">if</span> tank_x < <span class="number">0</span>:</span><br><span class="line"> tank_x = <span class="number">0</span></span><br><span class="line"> <span class="keyword">if</span> tank_x > window_width - <span class="number">50</span>:</span><br><span class="line"> tank_x = window_width - <span class="number">50</span></span><br><span class="line"> <span class="keyword">if</span> tank_y < <span class="number">0</span>:</span><br><span class="line"> tank_y = <span class="number">0</span></span><br><span class="line"> <span class="keyword">if</span> tank_y > window_height - <span class="number">50</span>:</span><br><span class="line"> tank_y = window_height - <span class="number">50</span></span><br><span class="line"></span><br><span class="line"> window.fill(white)</span><br><span class="line"> tank(tank_x, tank_y)</span><br><span class="line"></span><br><span class="line"> pygame.display.update()</span><br><span class="line"> clock.tick(<span class="number">60</span>)</span><br><span class="line"></span><br><span class="line"> pygame.quit()</span><br><span class="line"></span><br><span class="line">game_loop()</span><br></pre></td></tr></table></figure>
<h5 id="HTML"><a href="#HTML" class="headerlink" title="HTML"></a>HTML</h5><ul>
<li><p>坦克大战是一个较复杂的游戏,使用HTML单独编写可能较为困难。通常,HTML结合JavaScript和CSS来创建游戏更加实用。以下是一个基于HTML、CSS和JavaScript的简单坦克大战示例</p>
</li>
<li><p>index.html</p>
</li>
</ul>
<figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="meta"><!DOCTYPE <span class="keyword">html</span>></span></span><br><span class="line"><span class="tag"><<span class="name">html</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">head</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">title</span>></span>坦克大战<span class="tag"></<span class="name">title</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">link</span> <span class="attr">rel</span>=<span class="string">"stylesheet"</span> <span class="attr">type</span>=<span class="string">"text/css"</span> <span class="attr">href</span>=<span class="string">"style.css"</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">head</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">body</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">canvas</span> <span class="attr">id</span>=<span class="string">"gameCanvas"</span> <span class="attr">width</span>=<span class="string">"800"</span> <span class="attr">height</span>=<span class="string">"600"</span>></span><span class="tag"></<span class="name">canvas</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">script</span> <span class="attr">src</span>=<span class="string">"game.js"</span>></span><span class="tag"></<span class="name">script</span>></span></span><br><span class="line"> <span class="tag"></<span class="name">body</span>></span></span><br><span class="line"><span class="tag"></<span class="name">html</span>></span></span><br></pre></td></tr></table></figure>
<ul>
<li>style.css</li>
</ul>
<figure class="highlight css"><table><tr><td class="code"><pre><span class="line"> <span class="selector-id">#gameCanvas</span> {</span><br><span class="line"> <span class="attribute">border</span>: <span class="number">1px</span> solid black;</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<ul>
<li>game.js</li>
</ul>
<figure class="highlight js"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> canvas = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">"gameCanvas"</span>);</span><br><span class="line"><span class="keyword">var</span> context = canvas.<span class="title function_">getContext</span>(<span class="string">"2d"</span>);</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> tank = {</span><br><span class="line"> <span class="attr">x</span>: canvas.<span class="property">width</span> / <span class="number">2</span>,</span><br><span class="line"> <span class="attr">y</span>: canvas.<span class="property">height</span> - <span class="number">50</span>,</span><br><span class="line"> <span class="attr">width</span>: <span class="number">50</span>,</span><br><span class="line"> <span class="attr">height</span>: <span class="number">50</span>,</span><br><span class="line"> <span class="attr">speed</span>: <span class="number">5</span></span><br><span class="line">};</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">drawTank</span>(<span class="params"></span>) {</span><br><span class="line"> context.<span class="property">fillStyle</span> = <span class="string">"blue"</span>;</span><br><span class="line"> context.<span class="title function_">fillRect</span>(tank.<span class="property">x</span>, tank.<span class="property">y</span>, tank.<span class="property">width</span>, tank.<span class="property">height</span>);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">clearCanvas</span>(<span class="params"></span>) {</span><br><span class="line"> context.<span class="title function_">clearRect</span>(<span class="number">0</span>, <span class="number">0</span>, canvas.<span class="property">width</span>, canvas.<span class="property">height</span>);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">update</span>(<span class="params"></span>) {</span><br><span class="line"> <span class="title function_">clearCanvas</span>();</span><br><span class="line"> <span class="title function_">drawTank</span>();</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">handleKeyPress</span>(<span class="params">e</span>) {</span><br><span class="line"> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowLeft"</span>) {</span><br><span class="line"> tank.<span class="property">x</span> -= tank.<span class="property">speed</span>;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowRight"</span>) {</span><br><span class="line"> tank.<span class="property">x</span> += tank.<span class="property">speed</span>;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowUp"</span>) {</span><br><span class="line"> tank.<span class="property">y</span> -= tank.<span class="property">speed</span>;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowDown"</span>) {</span><br><span class="line"> tank.<span class="property">y</span> += tank.<span class="property">speed</span>;</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">gameLoop</span>(<span class="params"></span>) {</span><br><span class="line"> <span class="title function_">update</span>();</span><br><span class="line"> <span class="title function_">requestAnimationFrame</span>(gameLoop);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">"keydown"</span>, handleKeyPress);</span><br><span class="line"><span class="title function_">gameLoop</span>();</span><br></pre></td></tr></table></figure>
<h5 id="这是一组需要游戏引擎的代码"><a href="#这是一组需要游戏引擎的代码" class="headerlink" title="这是一组需要游戏引擎的代码"></a>这是一组需要游戏引擎的代码</h5><p>C#</p>
<figure class="highlight c#"><table><tr><td class="code"><pre><span class="line"><span class="keyword">using</span> UnityEngine;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title">TankController</span> : <span class="title">MonoBehaviour</span></span><br><span class="line">{</span><br><span class="line"> <span class="keyword">public</span> <span class="built_in">float</span> moveSpeed = <span class="number">5f</span>;</span><br><span class="line"> <span class="keyword">public</span> <span class="built_in">float</span> rotateSpeed = <span class="number">100f</span>;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> Rigidbody2D rb;</span><br><span class="line"></span><br><span class="line"> <span class="function"><span class="keyword">void</span> <span class="title">Start</span>()</span></span><br><span class="line"> {</span><br><span class="line"> rb = GetComponent<Rigidbody2D>();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="function"><span class="keyword">void</span> <span class="title">Update</span>()</span></span><br><span class="line"> {</span><br><span class="line"> <span class="built_in">float</span> horizontalInput = Input.GetAxis(<span class="string">"Horizontal"</span>);</span><br><span class="line"> <span class="built_in">float</span> verticalInput = Input.GetAxis(<span class="string">"Vertical"</span>);</span><br><span class="line"></span><br><span class="line"> rb.velocity = transform.up * verticalInput * moveSpeed;</span><br><span class="line"> rb.angularVelocity = -horizontalInput * rotateSpeed;</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<ul>
<li>在这个示例中,我们创建了一个名为<code>TankController</code>的脚本,将其附加到坦克的游戏对象上。脚本中的<code>moveSpeed</code>和<code>rotateSpeed</code>变量控制了坦克的移动速度和旋转速度。<code>Start</code>方法初始化了坦克的刚体组件,Update方法在每一帧中检测玩家输入,并根据输入控制坦克的移动和旋转。你可以在<code>Unity</code>编辑器中创建一个2D或3D场景,并将坦克模型导入到场景中。然后将<code>TankController</code>脚本附加到坦克游戏对象上,运行游戏即可控制坦克移动和旋转。</li>
</ul>
<h5 id="Java"><a href="#Java" class="headerlink" title="Java"></a>Java</h5><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">import</span> com.badlogic.gdx.ApplicationAdapter;</span><br><span class="line"><span class="keyword">import</span> com.badlogic.gdx.Gdx;</span><br><span class="line"><span class="keyword">import</span> com.badlogic.gdx.Input;</span><br><span class="line"><span class="keyword">import</span> com.badlogic.gdx.graphics.GL20;</span><br><span class="line"><span class="keyword">import</span> com.badlogic.gdx.graphics.Texture;</span><br><span class="line"><span class="keyword">import</span> com.badlogic.gdx.graphics.g2d.SpriteBatch;</span><br><span class="line"></span><br><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title class_">TankGame</span> <span class="keyword">extends</span> <span class="title class_">ApplicationAdapter</span> {</span><br><span class="line"> <span class="keyword">private</span> SpriteBatch batch;</span><br><span class="line"> <span class="keyword">private</span> Texture tankTexture;</span><br><span class="line"> <span class="keyword">private</span> <span class="type">float</span> tankX, tankY;</span><br><span class="line"> <span class="keyword">private</span> <span class="type">float</span> <span class="variable">tankSpeed</span> <span class="operator">=</span> <span class="number">5f</span>;</span><br><span class="line"></span><br><span class="line"> <span class="meta">@Override</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">create</span><span class="params">()</span> {</span><br><span class="line"> batch = <span class="keyword">new</span> <span class="title class_">SpriteBatch</span>();</span><br><span class="line"> tankTexture = <span class="keyword">new</span> <span class="title class_">Texture</span>(<span class="string">"tank.png"</span>);</span><br><span class="line"> tankX = Gdx.graphics.getWidth() / <span class="number">2</span> - tankTexture.getWidth() / <span class="number">2</span>;</span><br><span class="line"> tankY = Gdx.graphics.getHeight() / <span class="number">2</span> - tankTexture.getHeight() / <span class="number">2</span>;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="meta">@Override</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">render</span><span class="params">()</span> {</span><br><span class="line"> handleInput();</span><br><span class="line"> update();</span><br><span class="line"></span><br><span class="line"> Gdx.gl.glClearColor(<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>);</span><br><span class="line"> Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);</span><br><span class="line"></span><br><span class="line"> batch.begin();</span><br><span class="line"> batch.draw(tankTexture, tankX, tankY);</span><br><span class="line"> batch.end();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">void</span> <span class="title function_">handleInput</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">if</span> (Gdx.input.isKeyPressed(Input.Keys.LEFT)) {</span><br><span class="line"> tankX -= tankSpeed;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) {</span><br><span class="line"> tankX += tankSpeed;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (Gdx.input.isKeyPressed(Input.Keys.UP)) {</span><br><span class="line"> tankY += tankSpeed;</span><br><span class="line"> } <span class="keyword">else</span> <span class="keyword">if</span> (Gdx.input.isKeyPressed(Input.Keys.DOWN)) {</span><br><span class="line"> tankY -= tankSpeed;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> <span class="keyword">void</span> <span class="title function_">update</span><span class="params">()</span> {</span><br><span class="line"> <span class="comment">// 游戏逻辑更新</span></span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="meta">@Override</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">dispose</span><span class="params">()</span> {</span><br><span class="line"> batch.dispose();</span><br><span class="line"> tankTexture.dispose();</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<ul>
<li>在这个示例中,我们创建了一个名为<code>TankGame</code>的类,它继承自<code>ApplicationAdapter</code>,这是libGDX游戏框架提供的基类。在<code>create</code>方法中,我们初始化了批处理器和坦克的纹理,并设置了坦克的初始位置。在<code>render</code>方法中,我们处理玩家输入、更新游戏逻辑并渲染游戏场景。在<code>handleInput</code>方法中,我们检测玩家的键盘输入并相应地移动坦克的位置。你可以根据需要修改和扩展这个示例代码,并使用<code>libGDX</code>的其他功能来实现更多的游戏功能。</li>
</ul>
<h5 id="JavaScript和HTML5"><a href="#JavaScript和HTML5" class="headerlink" title="JavaScript和HTML5"></a>JavaScript和HTML5</h5><figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="meta"><!DOCTYPE <span class="keyword">html</span>></span></span><br><span class="line"><span class="tag"><<span class="name">html</span>></span></span><br><span class="line"><span class="tag"><<span class="name">head</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">title</span>></span>Tank Game<span class="tag"></<span class="name">title</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">style</span>></span><span class="language-css"></span></span><br><span class="line"><span class="language-css"> <span class="selector-id">#gameCanvas</span> {</span></span><br><span class="line"><span class="language-css"> <span class="attribute">border</span>: <span class="number">1px</span> solid black;</span></span><br><span class="line"><span class="language-css"> }</span></span><br><span class="line"><span class="language-css"> </span><span class="tag"></<span class="name">style</span>></span></span><br><span class="line"><span class="tag"></<span class="name">head</span>></span></span><br><span class="line"><span class="tag"><<span class="name">body</span>></span></span><br><span class="line"> <span class="tag"><<span class="name">canvas</span> <span class="attr">id</span>=<span class="string">"gameCanvas"</span> <span class="attr">width</span>=<span class="string">"800"</span> <span class="attr">height</span>=<span class="string">"600"</span>></span><span class="tag"></<span class="name">canvas</span>></span></span><br><span class="line"></span><br><span class="line"> <span class="tag"><<span class="name">script</span>></span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">var</span> canvas = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">"gameCanvas"</span>);</span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">var</span> ctx = canvas.<span class="title function_">getContext</span>(<span class="string">"2d"</span>);</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">var</span> tank = {</span></span><br><span class="line"><span class="language-javascript"> <span class="attr">x</span>: canvas.<span class="property">width</span> / <span class="number">2</span>,</span></span><br><span class="line"><span class="language-javascript"> <span class="attr">y</span>: canvas.<span class="property">height</span> / <span class="number">2</span>,</span></span><br><span class="line"><span class="language-javascript"> <span class="attr">speed</span>: <span class="number">5</span></span></span><br><span class="line"><span class="language-javascript"> };</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">function</span> <span class="title function_">drawTank</span>(<span class="params"></span>) {</span></span><br><span class="line"><span class="language-javascript"> ctx.<span class="title function_">clearRect</span>(<span class="number">0</span>, <span class="number">0</span>, canvas.<span class="property">width</span>, canvas.<span class="property">height</span>);</span></span><br><span class="line"><span class="language-javascript"> ctx.<span class="property">fillStyle</span> = <span class="string">"green"</span>;</span></span><br><span class="line"><span class="language-javascript"> ctx.<span class="title function_">fillRect</span>(tank.<span class="property">x</span>, tank.<span class="property">y</span>, <span class="number">50</span>, <span class="number">50</span>);</span></span><br><span class="line"><span class="language-javascript"> }</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">function</span> <span class="title function_">handleInput</span>(<span class="params">e</span>) {</span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowLeft"</span>) {</span></span><br><span class="line"><span class="language-javascript"> tank.<span class="property">x</span> -= tank.<span class="property">speed</span>;</span></span><br><span class="line"><span class="language-javascript"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowRight"</span>) {</span></span><br><span class="line"><span class="language-javascript"> tank.<span class="property">x</span> += tank.<span class="property">speed</span>;</span></span><br><span class="line"><span class="language-javascript"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowUp"</span>) {</span></span><br><span class="line"><span class="language-javascript"> tank.<span class="property">y</span> -= tank.<span class="property">speed</span>;</span></span><br><span class="line"><span class="language-javascript"> } <span class="keyword">else</span> <span class="keyword">if</span> (e.<span class="property">key</span> === <span class="string">"ArrowDown"</span>) {</span></span><br><span class="line"><span class="language-javascript"> tank.<span class="property">y</span> += tank.<span class="property">speed</span>;</span></span><br><span class="line"><span class="language-javascript"> }</span></span><br><span class="line"><span class="language-javascript"> }</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="variable language_">document</span>.<span class="title function_">addEventListener</span>(<span class="string">"keydown"</span>, handleInput);</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">function</span> <span class="title function_">gameLoop</span>(<span class="params"></span>) {</span></span><br><span class="line"><span class="language-javascript"> <span class="title function_">drawTank</span>();</span></span><br><span class="line"><span class="language-javascript"> <span class="title function_">requestAnimationFrame</span>(gameLoop);</span></span><br><span class="line"><span class="language-javascript"> }</span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="title function_">gameLoop</span>();</span></span><br><span class="line"><span class="language-javascript"> </span><span class="tag"></<span class="name">script</span>></span></span><br><span class="line"><span class="tag"></<span class="name">body</span>></span></span><br><span class="line"><span class="tag"></<span class="name">html</span>></span></span><br></pre></td></tr></table></figure>
<ul>
<li>在这个示例中,我们使用HTML5的Canvas元素作为游戏画布,并使用JavaScript来控制游戏逻辑和渲染。我们创建了一个名为<code>tank</code>的对象来表示坦克的位置和速度。在<code>drawTank</code>函数中,我们使用<code>ctx</code>对象清除画布并绘制一个绿色的矩形来表示坦克。在<code>handleInput</code>函数中,我们检测玩家的键盘输入并根据按键来移动坦克的位置。在<code>gameLoop</code>函数中,我们在每一帧中调用<code>drawTank</code>函数来更新游戏画面。</li>
</ul>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
<entry>
<title>恭喜</title>
<url>/2023/11/10/%E6%81%AD%E5%96%9C/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h1 id="本网站副站:https-shrstudio-github-io"><a href="#本网站副站:https-shrstudio-github-io" class="headerlink" title="本网站副站:https://shrstudio.github.io/"></a>本网站副站:<a href="https://shrstudio.github.io/">https://shrstudio.github.io/</a></h1>]]></content>
</entry>
<entry>
<title>感谢</title>
<url>/2023/10/02/%E6%84%9F%E8%B0%A2/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h2 id="感谢百度-谷歌-必应对本网站的收录"><a href="#感谢百度-谷歌-必应对本网站的收录" class="headerlink" title="感谢百度,谷歌,必应对本网站的收录"></a>感谢<a href="https://baidu.com/">百度</a>,<a href="https://google.com/">谷歌</a>,<a href="https://bing.com/">必应</a>对本网站的收录</h2><h2 id="感谢华为提供计算服务"><a href="#感谢华为提供计算服务" class="headerlink" title="感谢华为提供计算服务"></a>感谢<a href="https://huawei.com/">华为</a>提供计算服务</h2><h2 id="感谢Github提供的域名解析服务"><a href="#感谢Github提供的域名解析服务" class="headerlink" title="感谢Github提供的域名解析服务"></a>感谢<a href="https://github.com/">Github</a>提供的域名解析服务</h2>]]></content>
</entry>
<entry>
<title>教师节快乐!</title>
<url>/2023/09/10/%E6%95%99%E5%B8%88%E8%8A%82%E5%BF%AB%E4%B9%90%EF%BC%81/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script>]]></content>
</entry>
<entry>
<title>新年快乐!</title>
<url>/2023/12/31/%E6%96%B0%E5%B9%B4%E5%BF%AB%E4%B9%90%EF%BC%81/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><h1 id="祝所有人新年快乐!!!"><a href="#祝所有人新年快乐!!!" class="headerlink" title="祝所有人新年快乐!!!"></a>祝所有人新年快乐!!!</h1><h2 id="——竹石"><a href="#——竹石" class="headerlink" title="——竹石"></a>——竹石</h2>]]></content>
</entry>
<entry>
<title>毕业快乐!</title>
<url>/2023/07/20/%E6%AF%95%E4%B8%9A%E5%BF%AB%E4%B9%90%EF%BC%81/</url>
<content><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="\assets\css\APlayer.min.css"><script src="\assets\js\APlayer.min.js" class="aplayer-secondary-script-marker"></script><p>祝2023届3班同学毕业快乐!</p>
<ul>
<li><a href="http://dysyxx.cn/">学校网站</a><br><img src="https://s2.loli.net/2023/08/24/8CdSsacp7NvKuWU.jpg" alt="pasted-0.png"></li>
</ul>
<p>———————— Powered by Shihaoran ————————————————-</p>
]]></content>
</entry>
</search>