<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="th">
	<id>http://158.108.32.49/wiki/index.php?action=history&amp;feed=atom&amp;title=418383%2F418587_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%9B%E0%B8%A5%E0%B8%B2%E0%B8%A2_2553%2F%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99_3</id>
	<title>418383/418587 ภาคปลาย 2553/การบ้าน 3 - ประวัติรุ่นแก้ไข</title>
	<link rel="self" type="application/atom+xml" href="http://158.108.32.49/wiki/index.php?action=history&amp;feed=atom&amp;title=418383%2F418587_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%9B%E0%B8%A5%E0%B8%B2%E0%B8%A2_2553%2F%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99_3"/>
	<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418383/418587_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%9B%E0%B8%A5%E0%B8%B2%E0%B8%A2_2553/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99_3&amp;action=history"/>
	<updated>2026-05-06T14:58:03Z</updated>
	<subtitle>ประวัติรุ่นแก้ไขของหน้านี้ในวิกิ</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>http://158.108.32.49/wiki/index.php?title=418383/418587_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%9B%E0%B8%A5%E0%B8%B2%E0%B8%A2_2553/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99_3&amp;diff=10628&amp;oldid=prev</id>
		<title>Cardcaptor: หน้าที่ถูกสร้างด้วย &#039;ให้ไว้ ณ &#039;&#039;&#039;วันศุกร์ที่ 11 ก.พ. 2554 ส่งวันศุกร์ 25 ก.พ. 2554 เวล…&#039;</title>
		<link rel="alternate" type="text/html" href="http://158.108.32.49/wiki/index.php?title=418383/418587_%E0%B8%A0%E0%B8%B2%E0%B8%84%E0%B8%9B%E0%B8%A5%E0%B8%B2%E0%B8%A2_2553/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B9%89%E0%B8%B2%E0%B8%99_3&amp;diff=10628&amp;oldid=prev"/>
		<updated>2011-02-10T21:23:30Z</updated>

		<summary type="html">&lt;p&gt;หน้าที่ถูกสร้างด้วย &amp;#039;ให้ไว้ ณ &amp;#039;&amp;#039;&amp;#039;วันศุกร์ที่ 11 ก.พ. 2554 ส่งวันศุกร์ 25 ก.พ. 2554 เวล…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;หน้าใหม่&lt;/b&gt;&lt;/p&gt;&lt;div&gt;ให้ไว้ ณ &amp;#039;&amp;#039;&amp;#039;วันศุกร์ที่ 11 ก.พ. 2554 ส่งวันศุกร์ 25 ก.พ. 2554 เวลา 23.59 น.&amp;#039;&amp;#039;&amp;#039; โดย zip ไฟล์ในไดเรกทอรี PacmanStarter ส่งมาที่ pramook at gmail dot com&lt;br /&gt;
&lt;br /&gt;
== เริ่มต้น ==&lt;br /&gt;
* ให้ดาวน์โหลดซอร์สโค้ดของโปรแกรมเกม Pacman จาก http://theory.cpe.ku.ac.th/~pramook/418383/codes/PacmanStarter.zip&lt;br /&gt;
* คุณสามารถดาวน์โหลดโปรแกรมเกม Pacman ที่สมบูรณ์มาดูเป็นตัวอย่างได้ที่ http://theory.cpe.ku.ac.th/~pramook/418383/codes/PacmanComplete.zip&lt;br /&gt;
&lt;br /&gt;
== งานของคุณ ==&lt;br /&gt;
เกมที่คุณได้รับใน PacmanStarter.zip เป็นเกมแพคแมนที่สามารถเล่นได้เกือบสมบูรณ์แล้ว เพียงแต่ว่าผีในเกมยังไม่สามารถเดินไปจับตัว Pacman เท่านั้น&lt;br /&gt;
&lt;br /&gt;
ที่เป็นเช่นนี้เนื่องจากผีทุกตัวมีการใช้เมธอดของคลาส PathFinder (ดูในไฟล์ PacmanLib/AI/PathFinder) ที่ชื่อ WhichWayToMove แต่ในโค้ดตั้งต้น เราให้เมธอดนี้คืนค่าืิทิศทางขึ้นบน (Direction.Up) เท่านั้น&lt;br /&gt;
&lt;br /&gt;
จงเติมเมธอด WhichWaytoMove ให้สมบูรณ์ โดยที่เมธอดนี้&lt;br /&gt;
* รับข้อมูล 3 ตัว ดังนี้&lt;br /&gt;
** startPoint คือ คู่ลำดับ x, y ของช่องที่ผีอยู่&lt;br /&gt;
** endPoint คือ คู่ลำดับ x, y ที่ผีต้องการไป&lt;br /&gt;
** currentDirection คือ ทิศทางที่ผีกำลังเคลื่อนที่อยู่ในตอนนั้น&lt;br /&gt;
* หลังจากนั้นจะต้อง&lt;br /&gt;
*# คำนวณทางเดิน (ซึ่งหมายถึงลำดับของช่องในแผนที่) ที่สั้นที่สุดจาก startPoint ไปยัง endPoint&lt;br /&gt;
*# คำนวณช่องที่ผีจะต้องเดิืนต่อจาก startPoint ในทางที่สั้นที่สุดนั้น&lt;br /&gt;
*# คำนวณทิศทางที่ผีจะต้องเดืนเพื่อที่จะไปช่องในข้อ 2&lt;br /&gt;
*# คืนทิศทางในข้อ 3 มา&lt;br /&gt;
&lt;br /&gt;
เส้นทางที่ผีจะเดินไปจะต้องไม่มีสิ่งกีดขวาง (คุณสามารถตรวจสอบดูว่าช่อง p มีสิ่งกีดขวางหรือไม่ด้วยการเช็คว่า &amp;lt;tt&amp;gt;map.Walkability[p.x, p.y]&amp;lt;/tt&amp;gt; มีค่าเท่ากับ Map.Walkabilities.Walkable หรือ Map.Walkabilities.EnemyWalkable หรือไม่&lt;br /&gt;
&lt;br /&gt;
ในการคำนวณนี้อาจมีบางกรณีที่ผีไม่สามารถเดินไปถึงช่องที่กำหนดได้ ในกรณีนั้นให้คุณคืน currentDirection มาเป็นคำตอบ&lt;br /&gt;
&lt;br /&gt;
เมื่อเขียนฟังก์ชันนี้เสร็จแล้ว โปรแกรม Pacman ของคุณควรจะมีพฤติกรรมคล้ายๆ กับเกม Pacman ที่สมบูรณ์แล้วที่ให้ไป&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ใบ้:&amp;#039;&amp;#039;&amp;#039; คุณควรจะเขียนโปรแกรมหาทางที่สั้นที่สุดโดยใช้ [http://en.wikipedia.org/wiki/Breadth-first_search Breadth First Search]&lt;/div&gt;</summary>
		<author><name>Cardcaptor</name></author>
		
	</entry>
</feed>