วันพฤหัสบดีที่ 27 ตุลาคม พ.ศ. 2559

วันอังคารที่ 25 ตุลาคม พ.ศ. 2559

ความคืบหน้าเกม Pong กลุ่ม 6


เกมปอง ภาพที่เห็นคือ ลูกบอลได้ไปกระทบกับไม้แล้ว (เนื่องจากไม่สามารถแคปภาพทันในขณะที่ยังไม่กระทบได้) ก่อนหน้านี้ไม้จะเป็นสีขาว และเมื่อลูกบอลกระทบไม้ ไม้ปิงปองจะกลายเป็นสีชมพู ดังภาพที่เห็น


โค้ดส่วนที่เปลี่ยนสีของปิงปอง ได้กำหนดนัมเมอริกของแต่ละสีให้เป็น 1 ไว้ และนำมาจัดเก็บในอาเรย์ เรฟเฟอเรนจ์ลิสต์พรอบเพอตี้ จะได้ค่าเป็น 1,1,1 ซึ่งหมายถึง เป็นสีขาว ตอนเริ่มต้น
และหากบอลกระทบไม้ จะเข้าเงื่อไขใน method ของ bounce_ball แล้วจะเจอฟังก์ชัน self.rgb = (1,0,1) คือให้เปลี่ยนสีไม้เป็นสีชมพูนั่นเอง


ในไฟล์ kv ในส่วนของไม้ปิงปองนั้น ในคำสั่ง Color ได้ใช้ self. สีต่างๆ เพื่อรับค่าสีมาจากไฟล์ py


ได้ทำการ commit โค้ดไปที่ Bitbucket เรียบร้อยแล้ว https://bitbucket.org/RIKTI/pong/commits/all


ความคืบหน้าเกม OX กลุ่ม 6 สัปดาห์ที่ 11


นี้คือหน้าต่างเกมในปัจจุบัน ซึ่งภาพที่ใช้นั้น ติดสิขสิทธิ์อยู่ (เซฟเอามาจากในอินเทอเนตทั่วไป)


โดยเริ่มแรก จะกำหนดให้เป็นตาของ X เสมอ และเมื่อผู้เล่นกดไปที่ตำแหน่งใดๆแล้ว ตำแหน่งนั้น จะปรากฎภาพตัว X ขึ้นมา


เช่นเดียวกันกับเมื่อกดปุ่มใดๆ ในรอบถัดไป ที่เป็นตาของ O ภาพตัว O ก็จะปรากฎขึ้นมาเช่นกัน


โค้ดของการเพิ่มรูปนั้น จะอยู่ที่ Board.py ใน class ของ My_button ใน method select โดยใน method จะกำหนดเงื่อนไขว่า ถ้าไอค่อนของผู้เล่นเป็น X (ซึ่งไอค่อนนั้นจะปรากฎอยู่ด้านบนของหน้าต่างเกม) เมื่อกดไปที่ปุ่มใดๆแล้ว ให้นำภาพ X มาใส่ที่ตำแหน่งนั้นแทน ถ้านอกเหนือจากนั้นให้ใส่ภาพของ O เมื่อมีการคลิกที่ปุ่มใดๆ


หน้าต่างของเกมแบบใหม่ จะสังเกตุว่า พื้นหลังของหน้าต่างเกมไม่ใช่แบบเก่า ซึ่งนั้นคือภาพที่ไม่ติดลิขสิทธิ์แล้ว เป็นภาพที่สร้างขึ้นมาจากโปรแกรมวาดรูปและแต่งภาพ สิ่งที่เพิ่มขึ้นมาอีกอย่างนึงคือ ปุ่ม option ด้านล่างแต่เดิมมีเพียงปุ่ม Undo และ Reset ปัจจุบันได้มีการเพิ่มปุ่ม Save และ Load ขึ้นมาด้วย


ปุ่มต่างๆที่ได้เพิ่มเข้ามานั้นอยู่ในไฟล์ option.kv


เมื่อเล่นไปจนเต็มตารางและยังไม่มีผู้ใดชนะ Status ของเกมจะขึ้นว่า DRAW ซึ่งแปลว่าเสมอกัน


หากผู้เล่น X เป็นผู้ชนะ Status ก็จะขึ้นว่า X WIN


หรือผู้เล่น O ชนะ ก็จะขึ้นว่า O WIN เช่นกัน



และหากเรากดปุ่ม Reset ในขณะที่กำลังเล่นอยู่นั้น ทุกอย่างจะกลับไปเหมือนตอนเริ่มต้น นั้นคือ Status ของเกม จะขึ้นว่าเป็นตาของ X และตารางทุกช่องจะไม่เหลือ O และ X อยู่เลย


การ Commit ร่วมกันของผมและเพื่อนใน https://bitbucket.org/RIKTI/ox_kivy/commits/all

วันพฤหัสบดีที่ 20 ตุลาคม พ.ศ. 2559

ความคืบหน้าเกม OX กลุ่ม 6.


รูปภาพตัว O ใช้สำหรับเมื่อถึงตาของ O แล้วผู้เล่น O กดเลือกตำแหน่งใดตำแหน่งหนึ่ง ตำแหน่งนั้นจะปรากฎรูปตัว O ขึ้นมา


เครื่องหมาย Reset จะอยู่ที่ปุ่ม Reset ใช้สำหรับกดเพื่อเริ่มต้นเกมใหม่


การคอมมิทโค้ดที่ Bitbucket : https://bitbucket.org/RIKTI/ox_kivy/commits/all


หน้าต่างของเกม


โค้ดในส่วนของการเพิ่มรูป Undo และ Reset


ฉากพื้นหลังที่ใช้สร้างตาราง และปุ่มต่างๆ


เครื่องหมาย Undo อยู่ที่ปุ่ม Undo ใช้สำหรับกดเพื่อย้อนกลับไปในจุดที่เพิ่งเล่นผ่านมา


รูปภาพตัว X ใช้สำหรับเมื่อถึงตาของ X แล้วผู้เล่น X กดเลือกตำแหน่งใดตำแหน่งหนึ่ง ตำแหน่งนั้นจะปรากฎรูปตัว X ขึ้นมา

วันพฤหัสบดีที่ 13 ตุลาคม พ.ศ. 2559

Game Pong.



เพิ่มลูกบอลให้มี 2 ลูก โดยการใช้ function เดิมที่มีมา เพิ่มเข้าไปอีกหนึ่ง function

โค้ดส่วนนี้ไว้ใช้เก็บลูกบอลทั้ง 2 ลูกเป็นอาเรย์ โดยใช้ ReferenceListProperty
และกำหนดทิศของการเสริฟบอล โดยให้ลูกแรกไปทางซ้ายของเกม และลูกที่สองไปทางขวาของเกม จากตรงกลางทั้งสองลูก จากนั้นใน method update ได้ใช้ for ลูป กำกับว่า สำหรับบอลทุกบอลใน all_ball นั้น ถ้าบอล move แล้วไปชนสิ่งไหน ให้ทำตาม method นั้นๆ

โค้ดส่วนนี้จะเป็น method ที่กำกับว่า เมื่อชนกับอะไร แล้วให้ลูกบอลเด้งไปในทิศทางไหน ซึ่งกำลังพยายามทำให้ ลูกบอล 2 ลูกชนกันแล้วเด้งกลับ แต่ยังไม่สำเร็จ


เมื่อเริ่มเกมแล้วปล่อยให้เกมดำเนินต่อไปเองอัตโนมัติ พบว่า ลูกบอลจะเร็วขึ้นเรื่อยๆ และเร็วจนเกมเริ่มใหม่เอง โดยฝ่ายด้านซ้ายของเกมจะได้คะแนนเสมอ และเมื่อเกมเริ่มใหม่ ลูกบอลจะเสริฟในทิศเฉียง ต่างจากเริ่มต้นที่จะเสริฟในทิศตรงๆ ดังรูปด้านล่าง


วันจันทร์ที่ 10 ตุลาคม พ.ศ. 2559

Quiz 2 test 3




การทดสอบครั้งที่ 2 หัวข้อที่ 3 โดยให้ทำการแก้ไขโค้ด ในส่วนที่ว่า เพิ่มและลบสติ๊กแมน แล้วให้แถบ properties บอกจำนวนของสติ๊กแมนบน interface ได้อย่างถูกต้อง

หลักการคือ ได้กำหนด id ให้กับ method Stickman แล้วใช้ if เช็ค String ว่า ถ้า String ของ id ตรงกับ Stickman ให้แถบแสดงค่าของ Strickman เพิ่มหรือลด โดย id ของวงกลมและเส้นตรงจะเป็น None

Quiz 2 Test 1 and 2





การทดสอบครั้งที่ 2 ในหัวข้อที่ 1 และ 2 โดยหัวข้อที่ 1 ให้ทำการเปลี่ยน Method จาก on_chidren เป็น on_30september แล้วทำให้โค้ดทำงานได้ปกติ
และในหัวข้อที่ 2 ให้ทำการแก้ไขโค้ด โดยสามารถ Remove widget เป็นกรุ๊ปได้

โดยหลักการแก้โค้ดของหัวข้อที่ 1 คือเมื่อแก้ไขโค้ดจาก on_chidren เป็น on_30september แล้ว method นี้จะไม่ถูกเรียกใช้งานโดยอัตโนมัติ จึงนำ method นี้ไปใส่เป็นพารามิเตอร์ของฟังก์ชันเพิ่มและลบ widget เพื่อให้ทำงานได้ปกติ
ส่วนในหัวข้อที่ 2 นั้น ได้ไปแก้ไขในส่วนของ remove โดยใช้ เงื่อนไข if not ว่าถ้า widget ใดๆไม่ได้ถูกเลือก ให้ remove ตามปกติ แต่ถ้า widget ใด ถูกกรุ๊ปไว้อยู่ ให้ลบทุกๆ widget นั้นออกไป

Link Video Presentation Resort Managemant System Project.

Video Presentation Resort Managemant System Project. จัดทำโดย พากษ์เสียง: คุณาสิน  ทองมณี  5801012620011 ลำดับภาพ: สุพิชชา  ศรีศิริ...