|
|
|
ช่วยคิดโจทย์ข้อนี้หน่อยนะค่ะ เขียนเกม Dragonball ใช้การ์ด + Priority queue |
|
|
|
|
|
|
|
Assignment 4 Turn Based RPG by Priority Queue
เกม Dragonball ใช้การ์ด + Priority queue ในการกำหนดการต่อสู้โดยที่การโจมตีจะอยู่ซ้ายบนและการป้องกันจะอยู่ขวาล่าง โดยแต่ละค่าจะมี 8 ระดับตาม Dragonball 1-7 และสูงสุดคือ Z โดย Z (8) มากสุดและ 1 คือน้อยสุดโดยให้นักศึกษาเขียนโปรแกรมจัดลำดับการต่อสู้ของตัวละครโดยฝ่ายพระเอกมี 2 คนและฝ่ายผู้ร้ายมี 4 คนตามรูปโดยกติกามีดังนี้
-แต่ละคนโจมตีได้เพียง 1 ครั้ง
-คนที่มีค่าโจมตีสูงสุด โจมตีศัตรูก่อนเสมอ
-หากค่าโจมตีเสมอกันให้ดูค่าป้องกัน ค่าป้องกันสูงกว่าโจมตีก่อน
-หากทั้งค่าโจมตีและป้องกันเท่ากัน ทั้งสองฝ่ายให้ฝ่ายพระเอกโจมตีก่อน
-ทั้งสองฝ่ายจะโจมตีใครก็ได้ (ค่าป้องกันต่ำ หรือแบบสุ่มตามแต่นักศึกษา)
ตัวอย่าง Scenario
โจมตี ป้องกัน
โกคู 8 4
พิคโคโร 5 4
ศัตรู1 5 3
ศัตรู2 8 4
ศัตรู3 1 5
ศัตรู4 3 2
ผลลัพธ์ 6 คู่
โกคู สู้ ศัตรู
ศัตรู2 สู้ พิคโคโรหรือโกคู
พิคโครู สู้ ศัตรู
ศัตรู1 สู้ พิคโคโรหรือโกคู
ศัตรู4 สู้ พิคโคโรหรือโกคู
ศัตรู3 สู้ พิคโคโรหรือโกคู
ตัวอย่างโปรแกรม Priority Queue
Code (Java)
import java.util.Comparator;
import java.util.PriorityQueue;
public class pqr {
static class PQsort implements Comparator<Integer> {
public int compare(Integer one, Integer two) {
return two-one;
}
}
public static void main(String[] args) {
int[] ia = { 1, 11, 5, 3, 4, 7, 6, 9, 8 };
PQsort pqs = new PQsort();
PriorityQueue<Integer> pq2 = new PriorityQueue<Integer>(pqs);
for (int x : ia) {
pq2.offer(x);
}
System.out.println("pq2: " + pq2);
System.out.println("peek: " + pq2.peek());
System.out.println("poll: " + pq2.poll());
System.out.println("size: " + pq2.size());
System.out.println("pq2: " + pq2);
}
}
Tag : Java, Oracle, JavaScript, C#, JAVA
|
ประวัติการแก้ไข 2014-11-25 21:27:13 2014-11-30 21:59:27
|
|
|
|
|
Date :
2014-11-24 11:36:06 |
By :
จ๊ะจ๋า |
View :
1991 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำถามคือ ???
|
|
|
|
|
Date :
2014-11-24 17:00:46 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|