游戏王残局简化版

Check-in [d1bed00fbf]
Login

Check-in [d1bed00fbf]

Overview
Comment:0.0.2749
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: d1bed00fbf501e4fe15f6e06c4b85c918ed8b5676fbdd355cd15ec0a803479ae
User & Date: 顽雨沉风 on 2023-10-21 02:24:36
Other Links: manifest | tags
Context
2023-10-21
13:59
0.0.2750 check-in: 4506bf4102 user: 顽雨沉风 tags: trunk
02:24
0.0.2749 check-in: d1bed00fbf user: 顽雨沉风 tags: trunk
2023-10-20
23:49
0.0.2748 check-in: 75229fdb43 user: 顽雨沉风 tags: trunk
Changes

Modified script/0.txt from [60f01040d3] to [c6941da7db].

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
Debug.SetAIName("base-2")

Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)

Debug.SetPlayerInfo(0,8000,0,0)

Debug.SetPlayerInfo(1,8000,0,0)


-----------------


Debug.AddCard(27288416,0,0,LOCATION_HAND,0,POS_FACEDOWN)

-----------------



-----------------


-----------------

Debug.AddCard(27288416,1,1,LOCATION_HAND,0,POS_FACEDOWN)

-----------------


-----------------













>
|



>






<







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
Debug.SetAIName("base-2")

Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)

Debug.SetPlayerInfo(0,8000,0,0)

Debug.SetPlayerInfo(1,8000,0,0)


-----------------

Debug.AddCard(46485778,0,0,LOCATION_DECK,0,POS_FACEDOWN)
Debug.AddCard(14283055,0,0,LOCATION_HAND,0,POS_FACEDOWN)

-----------------

Debug.AddCard(26435595,0,0,LOCATION_EXTRA,0,POS_FACEDOWN)

-----------------


-----------------



-----------------


-----------------


Modified single_doc/场景.html from [6117516a27] to [79e51ddf69].

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
  <style type="text/css">@media screen and (min-aspect-ratio:1/1) {html {background-color: f8f8f8;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 8px 8px;background-position: 0 0, 16px 8px;}body {border: solid #a0a0a0 1px ;border-radius: 20px ;padding: 26px ;margin: 16px ;color: #101010 ;background: linear-gradient(to right, #efefefff, #efefeffc);padding: 2em 11%;line-height: 2.1em;box-shadow: 0px 0px 1px rgba(160, 160, 160, 1), 0px 0px 1px rgba(160, 160, 160, 1);}}h1,h2,h3,h4,h5,h6 {font-size: 1.5em;color: #3F5770;border-bottom: 1px solid #dddddd;margin: 1.2em 0em;}a {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;background-color: white;text-decoration-color: blue;border-radius: 0.2em;}a:visited {color: blue;text-decoration-color: white;}a:active {color: red;}nav ul li {margin: 1.2em 0em;}p::before {}p {margin: 1.2em 0;letter-spacing: 0.15em;}.title {background-color: white;font-size: 2em;text-align: center;}b {background-color: white;list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;border-radius: 0.2em;}details {border-bottom: 1px solid #dddddd;}details > summary {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;outline: none;border-radius: 0.2em;}pre {background: #f6f6f6;border-left: 0.5em solid #ccc;padding: 0.4em;border-radius: 0.2em;overflow-wrap:break-word;}pre:active {color: red;}code {font-family: "Verdana";}button {background: #ffffff;color: #20894d;}button:active {color: red;}</style>
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">场景</h1>







|







17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
  <style type="text/css">@media screen and (min-aspect-ratio:1/1) {html {background-color: f8f8f8;background-image:linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 8px 8px;background-position: 0 0, 16px 8px;}body {border: solid #a0a0a0 1px ;border-radius: 20px ;padding: 26px ;margin: 16px ;color: #101010 ;background: linear-gradient(to right, #efefefff, #efefeffc);padding: 2em 11%;line-height: 2.1em;box-shadow: 0px 0px 1px rgba(160, 160, 160, 1), 0px 0px 1px rgba(160, 160, 160, 1);}}h1,h2,h3,h4,h5,h6 {font-size: 1.5em;color: #3F5770;border-bottom: 1px solid #dddddd;margin: 1.2em 0em;}a {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;background-color: white;text-decoration-color: blue;border-radius: 0.2em;}a:visited {color: blue;text-decoration-color: white;}a:active {color: red;}nav ul li {margin: 1.2em 0em;}p::before {}p {margin: 1.2em 0;letter-spacing: 0.143em;}.title {background-color: white;font-size: 2em;text-align: center;}b {background-color: white;list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;border-radius: 0.2em;}details {border-bottom: 1px solid #dddddd;}details > summary {list-style: none;border-right: 0.3em solid #5183C466;border-left: 0.3em solid #5183C466;padding: 0.2em 0.4em;margin-bottom: 0.2em;margin-top: 0.3em;outline: none;border-radius: 0.2em;}pre {background: #f6f6f6;border-left: 0.5em solid #ccc;padding: 0.4em;border-radius: 0.2em;overflow-wrap:break-word;}pre:active {color: red;}code {font-family: "Verdana";}button {background: #ffffff;color: #20894d;}button:active {color: red;}</style>
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">场景</h1>
119
120
121
122
123
124
125

126
127
128
129
130
131
132
<li><a href="#section-79" id="toc-section-79"><span class="toc-section-number">2.43</span> </a></li>
<li><a href="#section-80" id="toc-section-80"><span class="toc-section-number">2.44</span> </a></li>
</ul></li>
<li><a href="#小结" id="toc-小结"><span class="toc-section-number">3</span> 小结</a></li>
<li><a href="#原因" id="toc-原因"><span class="toc-section-number">4</span> 原因</a>
<ul>
<li><a href="#召唤时的卡名提示" id="toc-召唤时的卡名提示"><span class="toc-section-number">4.1</span> 召唤时的卡名提示</a></li>

</ul></li>
</ul>
</nav>
<h1 data-number="1" id="正常"><span class="header-section-number">1</span> 正常</h1>
<h2 data-number="1.1" id="section"><span class="header-section-number">1.1</span> </h2>
<pre><code>Debug.SetAIName(&quot;base-2&quot;)








>







119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<li><a href="#section-79" id="toc-section-79"><span class="toc-section-number">2.43</span> </a></li>
<li><a href="#section-80" id="toc-section-80"><span class="toc-section-number">2.44</span> </a></li>
</ul></li>
<li><a href="#小结" id="toc-小结"><span class="toc-section-number">3</span> 小结</a></li>
<li><a href="#原因" id="toc-原因"><span class="toc-section-number">4</span> 原因</a>
<ul>
<li><a href="#召唤时的卡名提示" id="toc-召唤时的卡名提示"><span class="toc-section-number">4.1</span> 召唤时的卡名提示</a></li>
<li><a href="#料理对决类的失误" id="toc-料理对决类的失误"><span class="toc-section-number">4.2</span> 料理对决类的失误</a></li>
</ul></li>
</ul>
</nav>
<h1 data-number="1" id="正常"><span class="header-section-number">1</span> 正常</h1>
<h2 data-number="1.1" id="section"><span class="header-section-number">1.1</span> </h2>
<pre><code>Debug.SetAIName(&quot;base-2&quot;)

3089
3090
3091
3092
3093
3094
3095























































3096
3097
3098
3099
3100
3101
3102

-----------------


Debug.ReloadFieldEnd()

--~ aux.BeginPuzzle()























































</code></pre>
<script>

document.onclick = function(event) {

  var target = event.target








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158

-----------------


Debug.ReloadFieldEnd()

--~ aux.BeginPuzzle()
</code></pre>
<h2 data-number="4.2" id="料理对决类的失误"><span class="header-section-number">4.2</span> 料理对决类的失误</h2>
<p>「糕冷的料理对决」<b>应该可以</b>把「圣菓使
考维曲天使」特殊召唤到对方的额外怪兽区域,但现在,虽然出现了代表可选的背景线,但是却不能选择那个区域。</p>
<p>同样的事情,也发生在残局模式中,比如当我方控制对方要特殊召唤怪兽到额外怪兽区域时,就也出现了代表可选的背景线,但是却不能选择那个区域。</p>
<p>通过对残局模式的追踪,可以发现,当我方控制对方要特殊召唤怪兽到额外怪兽区域时,
MSG_SELECT_PLACE 有两个值是异常的:</p>
<ol type="1">
<li><p>hovered_controler</p></li>
<li><p>selectable_field</p></li>
</ol>
<p>当要确定 selectable_field 时, hovered_controler 的值会影响到
selectable_field 的值,主要是让 selectable_field 的高 16 位与低 16
位进行互换。</p>
<p>也就是说,低 16 位用来表示我方可选区域,高 16
位用来表示对方可选区域。</p>
<p>之所以要用互换,而不是用直接移位,估计是因为我方与对方的视角不同。</p>
<p>那么为什么 hovered_controler 的值会出现异常?</p>
<p>这是因为 event_handler.cpp
在处理额外怪兽区域悬停消息的时候,只考虑到了这个区域是否有卡,而没有考虑到
selectable_field 。</p>
<pre><code>Debug.SetAIName(&quot;base-2&quot;)

Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)

Debug.SetPlayerInfo(0,8000,0,0)

Debug.SetPlayerInfo(1,8000,0,0)


-----------------

Debug.AddCard(46485778,0,0,LOCATION_DECK,0,POS_FACEDOWN)
Debug.AddCard(14283055,0,0,LOCATION_HAND,0,POS_FACEDOWN)

-----------------

Debug.AddCard(26435595,0,0,LOCATION_EXTRA,0,POS_FACEDOWN)

-----------------


-----------------


-----------------


-----------------


Debug.ReloadFieldEnd()

aux.BeginPuzzle()

</code></pre>
<script>

document.onclick = function(event) {

  var target = event.target

Modified single_doc/场景.md from [85aec42a54] to [b999124373].

3344
3345
3346
3347
3348
3349
3350




























































3351
3352

-----------------


Debug.ReloadFieldEnd()

--~ aux.BeginPuzzle()





























































~~~







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412

-----------------


Debug.ReloadFieldEnd()

--~ aux.BeginPuzzle()

~~~

### 料理对决类的失误

「糕冷的料理对决」<b>应该可以</b>把「圣菓使 考维曲天使」特殊召唤到对方的额外怪兽区域,但现在,虽然出现了代表可选的背景线,但是却不能选择那个区域。

同样的事情,也发生在残局模式中,比如当我方控制对方要特殊召唤怪兽到额外怪兽区域时,就也出现了代表可选的背景线,但是却不能选择那个区域。

通过对残局模式的追踪,可以发现,当我方控制对方要特殊召唤怪兽到额外怪兽区域时, MSG_SELECT_PLACE 有两个值是异常的:

1. hovered_controler

1. selectable_field

当要确定 selectable_field 时, hovered_controler 的值会影响到 selectable_field 的值,主要是让 selectable_field 的高 16 位与低 16 位进行互换。

也就是说,低 16 位用来表示我方可选区域,高 16 位用来表示对方可选区域。

之所以要用互换,而不是用直接移位,估计是因为我方与对方的视角不同。

那么为什么 hovered_controler 的值会出现异常?

这是因为 event_handler.cpp 在处理额外怪兽区域悬停消息的时候,只考虑到了这个区域是否有卡,而没有考虑到 selectable_field 。

~~~
Debug.SetAIName("base-2")

Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)

Debug.SetPlayerInfo(0,8000,0,0)

Debug.SetPlayerInfo(1,8000,0,0)


-----------------

Debug.AddCard(46485778,0,0,LOCATION_DECK,0,POS_FACEDOWN)
Debug.AddCard(14283055,0,0,LOCATION_HAND,0,POS_FACEDOWN)

-----------------

Debug.AddCard(26435595,0,0,LOCATION_EXTRA,0,POS_FACEDOWN)

-----------------


-----------------


-----------------


-----------------


Debug.ReloadFieldEnd()

aux.BeginPuzzle()


~~~