20.11.2016 Views

Android App Development ฉบับสมบูรณ์

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ในการคลิกที่หน้าจอแต่ละครั้ง ก็จะมีการคำนวณเพื่อเพิ่มการวาด X หรือ O โดยในระหว่างเล่นนั้น<br />

จะใช้ตัวแปร game ของคลาส SimpleXO ในการตรวจสอบว่าผู้เล่นเล่นจนจบเกมแล้วหรือไม่ และในกรณีที่เล่น<br />

คนเดียวจะใช้งานคลาส SimpleXOAI ใช้ในการคำนวณการเดินของฝ่ายโปรแกรม<br />

การปรับแต่งการแสดงผลเมื่อจบเกม<br />

ในหัวข้อก่อนหน้านี้เมื่อผู้เล่นเล่นจบเกมแล้ว เกมก็จะไม่สามารถดำเนินการใดๆ ต่อได้ ซึ่งในกรณีนี้ผู้<br />

อ่านจะต้องเขียนโปรแกรมเพื่อแสดงข้อความแจ้งเตือนว่า ฝ่ายใดเป็นผู้ชนะ และมีปุ่มสำหรับเริ่มเล่นเกมใหม่<br />

ซึ่งผู้อ่านสามารถทำได้ตามขั้นตอนดังต่อไปนี้<br />

1. เขียนโค้ด Java เพิ่มในเมธอด gameOver() ของคลาส XOGameActivity ดังนี้<br />

// start GameOverActivity when game finish.<br />

public void gameOver(int win) {<br />

264<br />

}<br />

if (win != 0) {<br />

player_score[win-1]++;<br />

Intent intent = new Intent(getBaseContext(), GameOverActivity.class);<br />

intent.putExtra("GAME_MSG", player_name[win-1] + " Win!");<br />

startActivityForResult(intent, 10);<br />

} else {<br />

Intent intent = new Intent(getBaseContext(),GameOverActivity.class);<br />

intent.putExtra("GAME_MSG", "XO");<br />

startActivityForResult(intent, 10);<br />

}<br />

จากโค้ดจะเพิ่มคะแนนให้ฝ่ายที่ชนะ และเรียกใช้งานแอ็คทิวิตี้ GameOverActivity โดยมีรูปแบบ<br />

การแสดงผลดังนี้<br />

• ในกรณีที่มีฝ่ายชนะก็จะส่งชื่อของฝ่ายที่ชนะ เพื่อแสดงผลออกทางหน้าจอ<br />

• ในกรณีที่เสมอกันก็จะส่งข้อความ “XO” แทน<br />

ซึ่งคลาส GameOverActivity จะเป็นผู้ทำหน้าที่นำข้อความไปแสดงผล<br />

<strong>Android</strong> <strong>App</strong> <strong>Development</strong> <strong>ฉบับสมบูรณ์</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!