สารบัญ:
- ขั้นตอนที่ 1: แครปส์
- ขั้นตอนที่ 2: การแสดงเงินสดของดีลเลอร์
- ขั้นตอนที่ 3: โครงร่างโปรแกรม
- ขั้นตอนที่ 4: รหัสการสื่อสารหลัก
- ขั้นตอนที่ 5: รหัสสุดท้ายและวิดีโอ
วีดีโอ: AVR Assembler บทช่วยสอน 11: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ยินดีต้อนรับสู่บทช่วยสอน 11!
ในบทช่วยสอนสั้นๆ นี้ ในที่สุดเราจะสร้างส่วนแรกของโครงการสุดท้ายของเรา
สิ่งแรกที่คุณควรทำคือไปที่ขั้นตอนสุดท้ายของบทช่วยสอนนี้แล้วดูวิดีโอ แล้วกลับมาที่นี่ [หยุดชั่วคราวในขณะที่คุณทำอย่างนั้น….] โอเค ตอนนี้ดำเนินการ
หากคุณยังไม่ได้เดา เรากำลังสร้างเกม Craps! แน่นอน เพียงเพราะว่าฉันกำลังสร้างเกมแคร็ปส์ ไม่ได้หมายความว่าคุณต้องทำอย่างแน่นอน ฉันหวังว่าจะไปโดยไม่บอก เป็นประโยชน์ในทุกกรณีที่จะใช้ไมโครคอนโทรลเลอร์เพื่อควบคุมการแสดงผลแบบแบ่งส่วน ฯลฯ และเพื่อสื่อสารระหว่างกัน นั่นคือสิ่งที่เรากำลังทำอยู่เป็นหลัก คุณสามารถเขียนโค้ดเพื่อใช้งานได้ตามที่คุณต้องการ สำหรับตอนนี้ ฉันจะเขียนโค้ดให้พวกเขาเล่นแคร็ปส์ แม้ว่าฉันอาจตัดสินใจในภายหลังเพื่อปรับเปลี่ยนการแสดงผลที่แบ่งส่วนเพื่อทำอย่างอื่น
เหตุผลที่ฉันสร้างสิ่งนี้ก็เพราะฉันคิดว่าในที่สุดฉันอาจต้องการโต๊ะ Vegas craps ขนาดเต็มใน "ถ้ำมนุษย์" ของฉันในห้องใต้ดินของบ้าน อย่างไรก็ตาม ไม่มีเพื่อนของฉันคนใดที่มีความคิดแม้แต่น้อยว่าจะจัดการ ทำคะแนน หรือจ่ายเงินเดิมพันและหมุนลูกเต๋า ดังนั้นฉันจึงคิดว่ามันคงจะดีถ้าให้โต๊ะทำงานให้เจ้ามือทำงานแทนเรา! เมื่อเราวางเดิมพันบนโต๊ะ เรายังสามารถกดปุ่มเล็กๆ ถัดจากช่องสี่เหลี่ยมที่ชิปของเราแสดงจำนวนที่วางอยู่ที่นั่น จากนั้นไมโครคอนโทรลเลอร์สามารถคำนวณการจ่ายเงินสำหรับสี่เหลี่ยมนั้นหลังจากการทอยลูกเต๋าและแสดงมัน ฉันยังไม่ค่อยแน่ใจว่าฉันจะจัดระเบียบด้านนี้อย่างไร ความคิดหนึ่งที่ฉันมีคือแต่ละคนจะถูกขอให้วางเดิมพันทั้งหมดตามลำดับเพื่อให้ผู้ควบคุมบันทึกว่าเงินของแต่ละคนอยู่ที่ใดก่อนที่จะบันทึกผู้เล่นคนต่อไปและอื่น ๆ หลังจากการทอย คอมพิวเตอร์สามารถแสดงการจ่ายเงินในแต่ละช่อง และยังสามารถเก็บ "เงินสดทั้งหมด" ไว้สำหรับผู้เล่นแต่ละคน
สำหรับภาพหน้าปกของบทช่วยสอนนี้ ฉันแค่ต้องใช้รูปภาพของฉันที่กำลังดึงเอซ 5 ตัวที่โต๊ะโป๊กเกอร์ในเวกัสในช่วงซัมเมอร์นี้ ฮิฮิ ตามใจฉัน.
นี่คือลิงค์ไปยังคอลเลกชันที่สมบูรณ์ของบทช่วยสอน AVR assembler ของฉัน:
ขั้นตอนที่ 1: แครปส์
ในบทช่วยสอนนี้ เราจะสร้างเฉพาะส่วนที่ง่ายที่สุดของเกม Craps สุดท้ายเท่านั้น นี้เรียกว่า "The Pass Line" และคุณสามารถเดิมพันได้ คุณสามารถเรียนรู้ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับส่วน "pass line" ของเกมโดยดูวิดีโอแนะนำสั้นๆ 2 นาทีที่ฉันแนบมากับขั้นตอนนี้
เราจะสร้างการแสดงตัวเลข 4 หลักซึ่งจะติดตามเงินสดของดีลเลอร์ในลักษณะเดียวกับที่การแสดงผล 4 หลักในปัจจุบันของเราติดตามเงินสดของผู้เล่น ดีลเลอร์จะเริ่มต้นด้วย $20 และผู้เล่นจะเริ่มต้นด้วย $20 (เงินทั้งหมดที่เป็นไปได้ในเกมคือ $9999 -- สูงสุดสำหรับการแสดงผล 4 หลักของเรา แต่เราต้องการเพียง $20 สำหรับส่วนแรกของเกมหรืออย่างอื่น จะน่าเบื่อหน่ายในที่สุดโต่งและยากที่จะชนะหรือแพ้ในระยะเวลาที่เหมาะสม) หากผู้เล่นรับเงินจากเจ้ามือทั้งหมด ผู้เล่นจะชนะ หากผู้เล่นเสียเงินทั้งหมด เจ้ามือจะชนะ
คุณจะชนะหรือสูญเสียเงินได้อย่างไร? พวกคุณที่เคยเล่นแครปส์ เห็นคน "ยิงลูกเต๋า" ตามท้องถนน หรือเห็นมันเล่นกับคาสิโนในเวกัสจะรู้ดีอยู่แล้ว สำหรับพวกคุณที่เหลือ ให้ฉันอธิบายสั้นๆ เกี่ยวกับส่วน "pass line" ของเกมที่เราจะทำการเข้ารหัสในวันนี้
Craps มีการเล่นมาหลายร้อยปีตั้งแต่สมัยสงครามครูเสด มันเล่นโดยกองทหารในสนามเพลาะของสงครามโลกครั้งที่สองมันถูกเล่นบนถนนมันถูกเล่นในคาสิโนและห้องเล่นการพนัน มันเริ่มต้นด้วยเพียงแค่พาสไลน์และสิ่งอื่น ๆ ทั้งหมดถูกเพิ่มเข้าไปในภายหลัง เราจะติดตามความคืบหน้าเดียวกันนี้
วิธีการทำงานของ Pass Line คือสิ่งนี้ คุณวางเดิมพันแล้วทอยลูกเต๋า ม้วนแรกเรียกว่า "ม้วนออก" หากคุณได้ 2 (ตางู), 3 (เอซ ดิวซ์) หรือ 12 (กล่องคาร์) ในการม้วน Come-out คุณจะเสียเงินเดิมพันและเรียกว่า "แครปส์" หากคุณหมุน 7 (เป็นธรรมชาติ) หรือ 11 (โย่ หรือโย-เลเวน) คุณจะชนะ หากคุณหมุนหมายเลขอื่น หมายเลขนี้จะกลายเป็น "จุด" ของคุณ เมื่อสร้าง "แต้ม" ขึ้นแล้ว คุณจะทอยลูกเต๋าต่อไปโดยมีเป้าหมายที่จะตีจุดนั้นอีกครั้งก่อนที่จะหมุน 7 หากคุณได้แต้มก่อนทอย 7 คุณจะได้เงิน ดังนั้นการเดิมพันดอลลาร์จะทำให้คุณชนะเงินดอลลาร์จากเจ้ามือ หากคุณได้ 7 ก่อนการทอยแต้ม ค่านี้เรียกว่า "เซเว่นเอาท์" และคุณเสียเงินเดิมพันให้กับเจ้ามือ
หลังจากนั้นคุณเริ่มต้นใหม่อีกครั้ง วางเดิมพันบนเส้นผ่านและทอยลูกเต๋า ชนะ 7 หรือ 11 แพ้ 2, 3 หรือ 12
มีการเดิมพันอีกมากมายหลายประเภท "ไม่ผ่าน", "อัตราต่อรองผ่าน", "ไม่ผ่านอัตราต่อรอง", "มาเดิมพัน", "อย่ามาเดิมพัน", "สนาม", "ฮอร์น", " วิธีที่ยากลำบาก" ฯลฯ ฯลฯ คุณสามารถดูรายละเอียดได้ที่นี่:
en.wikipedia.org/wiki/Craps
ดังที่ได้กล่าวไว้ข้างต้น สำหรับตอนนี้ เราจะเขียนโค้ดเฉพาะส่วน pass line ของเกม ซึ่งก็คือทั้งหมดที่พวกเขาเคยมีในสมัยที่เด็กๆ ขว้างลูกเต๋าใส่กำแพงเพื่อแลกกับเงินอาหารกลางวันของกันและกัน ดังนั้นนี่คือจุดเริ่มต้นของเรา.
อย่างไรก็ตาม ก่อนที่เราจะเริ่มเขียนโค้ด เรามาสร้างเครื่องแสดงเงินสดของดีลเลอร์กันก่อน สำหรับสิ่งนี้ ฉันต้องการใช้จอแสดงผล 4 หลักที่ใหญ่กว่าตัวใดตัวหนึ่งที่คุณสามารถหาได้จาก Sparkfun หรือที่อื่น จากนี้ไปฉันจะไม่แสดงรายการเนื้อหาในบทช่วยสอนเหล่านี้ ถ้าคุณสร้างทุกอย่างร่วมกับฉันจริงๆ คุณก็รู้แล้วว่าจะหาวัสดุได้ที่ไหนและคืออะไร มันไม่มีประโยชน์สำหรับฉันที่จะแสดงรายการเหล่านั้นหรือราคาเท่าไหร่
มาลองคว้าบอร์ดต้นแบบของเรา จอแสดงผล 4 หลักขนาดใหญ่ และ ATmega328p อีกอันเพื่อควบคุมจอแสดงผลนั้น และสร้างมันเหมือนที่เราทำกับลูกกลิ้งลูกเต๋า และการแสดงของผู้เล่นก่อนหน้านี้ นอกจากนี้เรายังจะแนบส่วนหัวสำหรับพลังงาน สำหรับการเขียนโปรแกรม และสำหรับการสื่อสาร TWI เช่นเดียวกับส่วนอื่นๆ
ขั้นตอนที่ 2: การแสดงเงินสดของดีลเลอร์
เราสร้างจอแสดงผลดีลเลอร์แบบเดียวกับที่เราทำกับจอแสดงผล 4 หลักของผู้เล่นในบทช่วยสอนที่แล้ว ความแตกต่างเพียงอย่างเดียวคือมันใหญ่กว่าและมีพินน้อยกว่า ดังนั้นเราจะจัดเรียงและเดินสายให้แตกต่างออกไป
ฉันได้แนบรูปภาพของการเดินสายไฟของจอแสดงผลนี้ คุณจะเห็นว่ามันใหญ่กว่าและมีพินน้อยกว่าจอแสดงผล playercash ของเรา รูปภาพมาจากหน้า sparkfun ที่ฉันได้จอแสดงผลและมันแสดงให้เห็นว่าพินใดมีพลังสำหรับแต่ละหลักและพินใดควบคุมแต่ละส่วนเป็นตัวเลข
ตามปกติ คุณควรเริ่มต้นด้วยการเสียบจอแสดงผลเข้ากับเขียงหั่นขนมการสร้างต้นแบบและทดสอบแต่ละส่วนเพื่อให้แน่ใจว่าคุณเข้าใจวิธีการต่อสาย จากนั้นคุณควรเชื่อมต่อกับหมุดของไมโครคอนโทรลเลอร์ AVR บนเขียงหั่นขนมของคุณและเรียกใช้จากที่นั่นจนกว่าเราจะมีโค้ดทั้งหมดของเราทำงานในบทช่วยสอนนี้ ในที่สุด ในตอนท้าย คุณควรสร้างบอร์ดภายนอกและประสานเข้ากับมัน จากนั้นเมื่อคุณทดสอบผลิตภัณฑ์ขั้นสุดท้าย คุณจะรู้ว่าปัญหาใดๆ มาจากงานบัดกรีและงานตัด ไม่ใช่โค้ด นอกจากนี้ อย่าลืมสัจพจน์ที่รู้จักกันดีของช่างไม้ "วัดสองครั้งและตัดครั้งเดียว" หรือในกรณีของการทำแผงวงจร: "ตัดสองครั้งบัดกรีครั้งเดียว" ดังที่คุณเห็นในภาพ ในที่สุดฉันก็พังและซื้อเอกสารแนบ Dremel ที่สมบูรณ์แบบสำหรับงานประเภทนี้ "ชุดแต้มเพชร" มีค่าใช้จ่าย 5 เหรียญ แต่น้อยกว่าค่าใช้จ่ายของ Anger Managment Therapy มาก ซึ่งทำให้งานตัดของฉันมีประสิทธิภาพมากขึ้นหลายครั้งติดต่อกัน
ฉันใช้ตัวต้านทาน 330 โอห์มสำหรับจอแสดงผลนี้ หมุด COM จะผ่านตัวต้านทานไปยัง GND และกำลังส่งไปยังส่วนใดก็ตามที่คุณต้องการแสดง ฉันจะใช้ PC0 ผ่าน PC3 สำหรับพิน COM และ PB0, PB1, PB2, PB3, PB4, PD5, PD6 และ PD7 สำหรับกลุ่ม
นี่คือกุญแจสำคัญในการเพิ่มโอกาสในการทำให้ถูกต้อง:
- แผนที่ออกวงจร
- ตัดวงจร
- ตรวจสอบสายไฟของคุณ
- ติดตัวต้านทาน แคป และคริสตัลออสซิลเลเตอร์
- ตรวจสอบการเชื่อมต่อและเดินสายอีกครั้ง
- ต่อสายไฟภายนอก
- ติดไมโครคอนโทรลเลอร์
- ตรวจสอบสายไฟอีกครั้ง
- แนบจอแสดงผล 4 หลัก
- ตรวจสอบแต่ละหลักด้วยสายคู่จากเขียงหั่นขนม
- วางไว้ข้างๆ แล้วเขียนโค้ด โดยรู้ว่าคุณอาจต้องปรับแต่งสิ่งต่างๆ ในภายหลัง และหวังว่าคุณจะไม่ปิดบังการเชื่อมต่อที่ต้องตัดออก
ฉันได้แสดงภาพชุดของงานเดินสายไฟของฉัน โปรดทราบว่าคุณสามารถวางสายของคุณได้ตามต้องการ เป็นไปได้มากที่คุณจะพบแผนที่ที่ดีกว่าที่ฉันทำ และคุณควรใช้มัน ไม่มีสิ่งใดในบทช่วยสอนเหล่านี้ขึ้นอยู่กับว่าส่วนประกอบของคุณต่อสายอย่างไร ตราบใดที่ส่วนประกอบเหล่านั้นมีพอร์ตเอาต์พุตที่ถูกต้อง ที่ทำให้ผมนึกถึง สังเกตว่าตอนนี้มีสองส่วนหัวไปที่ SDA และอีกสองตัวไปที่ SCL? ทำไมคุณถึงคิดว่าเราทำอย่างนั้น?
ตอนนี้ ดังที่คุณเห็นได้จากโค้ดที่แนบมาที่ส่วนท้ายของบทช่วยสอน ฉันเพียงแค่ตัดและวางโค้ดจากหน้าจอผู้เล่นของบทช่วยสอนล่าสุดไปยังไฟล์ใหม่สำหรับการแสดงของดีลเลอร์ จากนั้นฉันก็ผ่านเข้าไปและเปลี่ยนตารางการค้นหา "เซ็กเมนต์" ให้สอดคล้องกับพินแมปใหม่ โดยสังเกตว่าสำหรับการแสดงผลนี้ หมุด "com" นั้นเป็นกราวด์ และหมุดเซกเมนต์เป็น 5V แทนที่จะเป็นอีกทางหนึ่งเหมือนกับจอแสดงผลอื่น. ฉันยังเปลี่ยนการเริ่มต้นของพอร์ตเพื่อสะท้อนการเดินสายใหม่ ฉันเปลี่ยนที่อยู่ของจอแสดงผลดีลเลอร์แคชเป็น 0b1000000 เพื่อให้ลูกกลิ้งลูกเต๋าสามารถพูดคุยกับเขาได้ ฉันเปลี่ยนรูทีนย่อย "รอบ" เพื่อให้ปิด PC0 ถึง PC3 "com" หมุดเมื่อต้องการจ่ายไฟให้กับเซ็กเมนต์เฉพาะและฉันเปลี่ยน "หลัก" ที่แสดงขึ้นเนื่องจากการเดินสายใหม่มีตัวเลขในลำดับที่ตรงกันข้าม (ถ้าคุณปล่อยไว้เหมือนเดิมและพยายามแสดง 1234 จะแสดงเป็น 4321 แทน)
นี่คือแผนที่ลงทะเบียนใหม่:
(PD7, PD6, PD5, PB4, PB3, PB2, PB1, PB0) = (จุดทศนิยม, c, g, b, f, a, e, d)
โดยที่ 1 คือ ON และ 0 คือ OFF
ตอนนี้ทดสอบการแสดงผลโดยตั้งค่าเริ่มต้นของจอแสดงผลเป็นตัวเลขต่างๆ ก่อน เพื่อที่ว่าเมื่อเปิดเครื่องจะแสดงขึ้น สิ่งนี้จะบอกคุณว่าทุกอย่างถูกต้องหรือไม่
จากนั้นแก้ไขโค้ด diceroller เพื่อให้ใช้ที่อยู่ใหม่สำหรับสเลฟ เชื่อมเข้าด้วยกัน และเรียกใช้ มันควรจะทำหน้าที่เหมือนกับที่เราทำในบทช่วยสอนที่แล้ว ยกเว้นว่าทอยลูกเต๋าจะแสดงขึ้นบนหน้าจอใหม่
ยอดเยี่ยม! ตอนนี้เราพร้อมที่จะเขียนรหัสลูกกลิ้งลูกเต๋าใหม่เพื่อให้สื่อสารกับทั้งจอแสดงผลของผู้เล่นและจอแสดงผลของดีลเลอร์
ขั้นตอนที่ 3: โครงร่างโปรแกรม
วิธีการทำงานของโค้ดสำหรับเกมของเราคือ เราจะเก็บลูกกลิ้งลูกเต๋าไว้เป็นมาสเตอร์ และเพิ่มการแสดงดีลเลอร์เป็นทาสเพิ่มเติม ลูกกลิ้งลูกเต๋าจะควบคุมเกมและจะส่งการเปลี่ยนแปลงที่เป็นเงินสดไปยังเจ้ามือและผู้เล่นจะแสดงหลังจากการทอยแต่ละครั้ง สำหรับตอนนี้เราจะมีการเดิมพันแบบพาสไลน์อยู่ที่ $10 ในแต่ละครั้ง ดังนั้นเราไม่ต้องยุ่งยากเกินไปกับผู้เล่นที่เปลี่ยนการเดิมพันของเขา ต่อมาเมื่อเรามีกลไกการทำงานแล้ว เราจะเพิ่มตัวควบคุมอีกตัวหนึ่งซึ่งจะเป็นตัวหลักเพิ่มเติมซึ่งจะควบคุมการเดิมพันและการจ่ายเงิน และลูกกลิ้งลูกเต๋าของเราจะยังคงเป็นตัวควบคุมหลัก แต่ใช้สำหรับทอยลูกเต๋าเท่านั้น สิ่งนี้จะช่วยให้เราเข้าสู่กระบวนการอนุญาโตตุลาการ TWI การชนกัน และแง่มุมที่สำคัญอื่นๆ ของการสื่อสารแบบอนุกรมเมื่อคุณมีเจ้านายและทาสหลายคน นอกจากนี้ เรายังจะเพิ่มจอแสดงผล 7 หลักจำนวนหนึ่งพร้อมปุ่มกดด้านล่าง ซึ่งจะช่วยให้เราสามารถเดิมพันการทอยประเภทอื่นๆ ได้ แต่สิ่งที่จะเกิดขึ้นในบทช่วยสอนในอนาคต สำหรับตอนนี้ เราแค่ต้องการให้ลูกกลิ้งลูกเต๋าเป็นเจ้านาย และทั้งสองแสดงเป็นทาส เมื่อเรากดปุ่ม รหัสจะตัดสินว่าจะจ่ายแบบเนเชอรัล นำเงินจากลูกเต๋าชนิดหนึ่งหรือกิ่งไปยังชุด "จุด" ของการหมุนจนกว่าจะชนะหรือเจ็ดออก
ก่อนอื่นมาเขียนรูทีนของสเลฟกันก่อน สิ่งเหล่านี้ทำได้ง่ายเพียงแค่ดูบรรทัด SDA สำหรับที่อยู่ หากถูกเรียก พวกเขาจะอ่านหมายเลขใหม่เพื่อแสดงและแสดง นั้นคือทั้งหมด! พวกเขาไม่ต้องคุยกับมาสเตอร์ด้วยซ้ำ เนื่องจากมาสเตอร์จะคอยติดตามผลรวมของพวกเขาและทำการคำนวณการจ่ายเงินทั้งหมดก่อนที่จะอัปเดต ในบทช่วยสอนในอนาคต เราจะให้ทาสเขียนกลับไปหามาสเตอร์ (เช่น เมื่อเรามีจอแสดงผล 7 หลักเดียวพร้อมปุ่มกดสำหรับจำนวนเงินเดิมพัน พวกเขาจะต้องบอกมาสเตอร์ว่าวางเดิมพันในแต่ละจอแสดงผลเท่าไหร่ ดังนั้นเราจะทำ ระบุที่อยู่ + อ่านการโทรกับมาสเตอร์ใน "โหมดผู้รับหลัก") แต่เราจะไปถึงที่นั่นในเวลาที่กำหนด
สำหรับตอนนี้ทุกอย่างถูกกระตุ้นโดยการกดปุ่มทอยลูกเต๋าตามด้วยการคำนวณหรือกดปุ่มเพิ่มเติม และสุดท้ายข้อความไปยังจอแสดงผลแต่ละจอพร้อมผลรวมใหม่ จะมีการทดสอบหลังจากการจ่ายเงินแต่ละครั้งเพื่อตัดสินว่าผู้เล่นชนะหรือแพ้ กล่าวคือ เงินสดของเจ้ามือกลายเป็นศูนย์หลังจากการทอย หรือถ้าเงินสดของผู้เล่นกลายเป็นศูนย์หลังจากการทอย สามารถติดลบได้เนื่องจากจะได้รับอนุญาตให้เดิมพันเพียง $10 หรืออะไรก็ตามที่เหลืออยู่หากน้อยกว่า $10)
นั่นคือวิธีการที่จะทำงาน มาเข้ารหัสกันเถอะ
ขั้นตอนที่ 4: รหัสการสื่อสารหลัก
ตอนนี้เราสามารถเขียนกิจวัตรการสื่อสารของลูกกลิ้งลูกเต๋าได้แล้ว เกือบจะเหมือนกันกับที่เราเขียนเมื่อครั้งที่แล้ว ยกเว้นว่าเราจะสื่อสารกับทาสสองคนที่แตกต่างกันมากกว่าเพียงคนเดียว โปรดทราบว่าสำหรับทาสแต่ละคน เราใช้ที่อยู่ที่แตกต่างกัน คุณควรแก้ไขโค้ดด้วยตนเอง จากนั้นเพียงทดสอบกับที่อยู่แต่ละรายการ และตรวจดูให้แน่ใจว่าโค้ดทำงานเหมือนกับบทช่วยสอนที่แล้ว ยกเว้นในการแสดงผลที่แยกจากกัน
ฉันจะแนบรหัสสำหรับแต่ละส่วนประกอบซึ่งจะแสดงผลลัพธ์ของม้วนเพื่อให้จอแสดงผลทำงานได้อย่างถูกต้องและตรวจสอบการเดินสาย
การเข้ารหัสเกมไม่ได้นำเสนอสิ่งใหม่ใดๆ เท่าที่คำสั่งภาษาแอสเซมบลีหรือส่วนประกอบไมโครคอนโทรลเลอร์ AVR ดังนั้นฉันจึงไม่รู้สึกว่าต้องดำเนินการทีละบรรทัด คุณอาจสังเกตเห็นว่าเมื่อเราแนะนำสิ่งใหม่ ฉันจะอธิบายแต่ละบรรทัดอย่างละเอียดจนทำให้คุณหงุดหงิดหากไม่ทำให้คุณหลับ ในทางกลับกันฉันจะไม่ทำอย่างนั้นถ้าไม่มีอะไรใหม่แนะนำ นั่นคือกรณีวันนี้ ดังนั้นฉันคิดว่าคุณพร้อมที่จะเล่นกับโค้ดแล้ว อ่านโค้ด วิเคราะห์โค้ด ทำความเข้าใจโค้ด วิจารณ์โค้ด เย้ยหยันโค้ด และหัวเราะเยาะคนที่เขียนโค้ด ดังนั้นฉันจะปล่อยให้คุณไปข้างหน้าและทำอย่างนั้น เกือบจะแน่ใจว่าคุณจะพบสถานที่มากมายที่คุณสามารถปรับปรุงหรืออย่างน้อยก็ทำให้สิ่งที่ฉันเขียนง่ายขึ้น
ตามปกติแล้วฉันได้แนบโค้ดเวอร์ชันสุดท้ายสำหรับจอแสดงผลทั้งสองเครื่องและตัวแสดงลูกเต๋าในขั้นตอนต่อไปพร้อมกับวิดีโอทดสอบของฉัน
ขั้นตอนที่ 5: รหัสสุดท้ายและวิดีโอ
ฉันได้แนบวิดีโอและ 3 โปรแกรม คุณจะสังเกตเห็นว่าคุณสามารถแก้ไขการเดิมพันและเงินสดดีลเลอร์เริ่มต้นและผู้เล่นที่ด้านบนของโปรแกรมด้วยคำสั่ง.equ
ในบทช่วยสอนถัดไป เราจะเพิ่มความสามารถในการเดิมพันในสิ่งต่าง ๆ ซึ่งจะทำให้เกมน่าตื่นเต้นยิ่งขึ้น สิ่งที่น่าสนใจเกี่ยวกับ Craps สมัยใหม่คือคุณมีวิธีเดิมพันที่หลากหลายและพยายามเพิ่มอัตราต่อรองของคุณให้สูงสุด อันที่จริง Craps เป็นเกมที่อัตราต่อรองสูงสุดในคาสิโน! …หากคุณรู้วิธีเล่น ในทางกลับกัน ถ้าคุณไม่รู้วิธีเล่น มันจะกลายเป็นเกมที่อัตราต่อรองต่ำที่สุดเกมหนึ่ง
เมื่อเรามีสิ่งที่จะเดิมพันเงินของเรามากขึ้นแล้ว ฉันจะเพิ่มจำนวนเงินทั้งหมดในเกม
ฉันควรจะสนุก!
เจอกันคราวหน้า!
แนะนำ:
AVR Assembler บทช่วยสอน 2: 4 ขั้นตอน
AVR Assembler Tutorial 2: บทช่วยสอนนี้เป็นความต่อเนื่องของ "AVR Assembler Tutorial 1" หากคุณยังไม่ผ่านบทช่วยสอน 1 คุณควรหยุดตอนนี้และทำอย่างนั้นก่อน ในบทช่วยสอนนี้ เราจะทำการศึกษาการเขียนโปรแกรมภาษาแอสเซมบลีของ atmega328p u
บทช่วยสอน AVR Assembler 1: 5 ขั้นตอน
AVR Assembler Tutorial 1: ฉันได้ตัดสินใจที่จะเขียนชุดของบทช่วยสอนเกี่ยวกับวิธีการเขียนโปรแกรมภาษาแอสเซมบลีสำหรับ Atmega328p ซึ่งเป็นไมโครคอนโทรลเลอร์ที่ใช้ใน Arduino หากยังมีคนสนใจอยู่ ฉันจะออกสัปดาห์ละครั้งหรือประมาณนั้นจนกว่าของจะหมด
บทช่วยสอน AVR Assembler 6: 3 ขั้นตอน
บทช่วยสอน AVR Assembler 6: ยินดีต้อนรับสู่บทช่วยสอน 6! บทช่วยสอนวันนี้จะสั้นซึ่งเราจะพัฒนาวิธีง่ายๆ ในการสื่อสารข้อมูลระหว่าง atmega328p หนึ่งกับอีกพอร์ตหนึ่งโดยใช้สองพอร์ตเชื่อมต่อกัน จากนั้นเราจะนำลูกกลิ้งลูกเต๋าจากบทช่วยสอนที่ 4 และการลงทะเบียน
AVR Assembler บทช่วยสอน 8: 4 ขั้นตอน
AVR Assembler บทช่วยสอน 8: ยินดีต้อนรับสู่บทช่วยสอน 8!ในบทช่วยสอนสั้น ๆ นี้ เราจะเปลี่ยนจากการแนะนำแง่มุมใหม่ๆ ของการเขียนโปรแกรมภาษาแอสเซมบลี เพื่อแสดงวิธีย้ายส่วนประกอบการสร้างต้นแบบของเราไปยัง "พิมพ์แล้ว" แผงวงจร. NS
บทช่วยสอน AVR Assembler 7: 12 ขั้นตอน
บทช่วยสอน AVR Assembler 7: ยินดีต้อนรับสู่บทช่วยสอน 7! วันนี้เราจะแสดงวิธีการไล่คีย์แพดก่อน แล้วจึงแสดงวิธีใช้พอร์ตอินพุตแบบอะนาล็อกเพื่อสื่อสารกับปุ่มกด เราจะดำเนินการโดยใช้อินเตอร์รัปต์และสายเดี่ยวเป็น ป้อนข้อมูล. เราจะต่อสายปุ่มกดเพื่อเ