‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะเรียนรู้เกี่ยวกับตัวดำเนินการบูลีนเพื่อให้เราสามารถสร้างข้อความที่ซับซ้อนซึ่งต้องใช้บูลีนหลายตัวให้เป็นจริง
‫เช่น ให้กอบลินยอมรับก็ต่อเมื่อแท็กถูกต้องและไม่ถูกจับ
‫เมื่อฉันปล่อยกอบลิน คุณจะเห็นว่าผนังตอบสนองเฉพาะจุดนั้นเท่านั้น
‫มาดูกันว่ามันทำงานอย่างไร
‫ดังนั้น ตามหลักการแล้วเราต้องการให้องค์ประกอบทริกเกอร์ของเราเพิกเฉยหรือไม่รับบทบาทที่ยอมรับได้ซึ่งกำลังถูกจับตัวอยู่
‫เพื่อเปลี่ยนสิ่งนี้ ฉันจะลงไปที่การใช้งานนักแสดงที่ยอมรับได้ของเราในองค์ประกอบทริกเกอร์ CP และคุณสามารถดูได้ในคำสั่ง
‫if ของเราที่เรากำลังบอกว่า ให้นักแสดงถ้ามันมีแท็กที่ยอมรับได้ และนั่นก็เท่านั้น สิ่งที่เรากำลังทำ
‫แต่สิ่งที่ผมอยากจะทำคือทำให้สิ่งนี้มีเงื่อนไขสองอย่าง
‫เราจะรวมค่าบูลีนสองค่าได้อย่างไร
‫มีสองตัวเลือก
‫เรามีโอเปอเรเตอร์สำหรับสิ่งนี้
‫หนึ่งในนั้นคือตัวดำเนินการ ampersand ampersand ซึ่งเราอ่านว่า
‫และนี่หมายถึงโดยพื้นฐานแล้ว นี่จะรวมบูลีนสองตัวเข้าด้วยกัน เพื่อให้เป็นจริงก็ต่อเมื่อทั้งคู่เป็นจริง
‫ถ้าเรามีจริงกับจริง, นั่นจะเท่ากับจริง
‫โดยที่ถ้าข้อใดข้อหนึ่งเป็นเท็จ ดังนั้นหากตัวขวาเท็จ
‫สิ่งนั้นทั้งหมดจะเป็นเท็จ เป็นต้น มีอีกตัวเลือกหนึ่งที่นี่ ซึ่งก็คือการใช้ตัวดำเนินการสองแท่งแบบนี้
‫และตัวนี้จะอ่านเป็นหรือ
‫และโดยพื้นฐานแล้ว นี่หมายความว่าหากข้อใดข้อหนึ่งในสองข้อนี้เป็นจริง ผลลัพธ์ก็จะเป็นจริง
‫และถ้าทั้งสองอย่างเป็นจริง ผลลัพธ์ก็จะเป็นจริง
‫แต่ถ้าทั้งคู่เป็นเท็จ ผลลัพธ์จะเป็นเท็จ
‫นี่คือนิพจน์ทั่วไปบางส่วนที่เราใช้
‫อีกสิ่งหนึ่งที่เราใช้คือเครื่องหมายอัศเจรีย์ และโดยทั่วไปแล้ว เครื่องหมายอัศเจรีย์จะกลับค่าบูลีนที่เรามีและเราอ่านว่าไม่
‫คุณสามารถมีค่าเท็จได้ แต่เนื่องจากผมใส่ปมไว้ข้างหน้า ค่าทั้งหมดนี้ พจน์นี้จึงกลายเป็นจริง
‫และถ้าผมสั่งเป็นเท็จ ก็เพราะอย่างน้อยหนึ่งในนั้นเป็นจริง ผลลัพธ์ก็จะเป็นจริง
‫สิ่งที่เราอยากทำที่นี่คือโดยพื้นฐานแล้วเราต้องการบอกว่าถ้ามันมีแท็กนักแสดง นั่นคือแท็กการกระทำที่ยอมรับได้
‫แต่มันไม่มี
‫ดังนั้นในกรณีนี้และไม่ได้แท็กนักแสดงจึงเป็นที่ยอมรับได้
‫ความท้าทายมากมายสำหรับคุณ
‫คุณจะใช้โอเปอเรเตอร์สามตัวที่ฉันเพิ่งอธิบายไปว่าอย่างไร
‫คุณไม่จำเป็นต้องใช้ทั้งหมด แต่คุณจะใช้อันไหนและคุณจะเขียนคำสั่ง if
‫นี้อย่างไร
‫ตกลง.
‫ฉันจะใส่สิ่งนี้ลงในตัวแปรบูลีนเพื่อให้ชัดเจนมาก
‫ดังนั้นคุณได้บูลที่มีแท็กที่ยอมรับได้จะเท่ากับนักแสดงที่มีแท็กที่ยอมรับได้เช่นนั้นและใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด
‫ทีนี้บูลอีกอันจะเป็นไม่ว่าจะถูกคว้าหรือไม่ และเราจะได้สิ่งนี้โดยไปที่ นักแสดง ลูกศร นักแสดง นักแสดงมีแท็ก
‫และกรณีนี้ ก็แค่จะถูกคว้าอย่างนั้น เราจึงพูดได้ว่าไม่ว่าจะคว้าหรือไม่บนพื้นฐานนี้แล้วใน
‫ถ้าสิ่งที่เราต้องการจะพูดคือมี tag ที่ยอมรับได้ และนั่นคือ ampersand ampers and not that's an
‫exclamation point is grabed like so that read right well if you read out an ampersand and the exclamation point
‫as and not so if suitable has suitable tag and ไม่โดนจับแล้วเราคืนพระเอกคนนี้
‫ลองรวบรวมและดูว่าทำงานได้หรือไม่
‫เลยลองกดเล่นดู
‫เราจะคว้าการ์กอยล์ของเราแล้ววิ่งไปที่บริเวณไกปืน
‫คุณจะเห็นว่าฉันกำลังใส่กอบลินเข้าไป แต่ไม่มีอะไรเกิดขึ้นเพราะฉันยังไม่ได้ปล่อยมันออกมา
‫แล้วถ้าฉันลองเอาการ์กอยล์ลงมานี่ล่ะ?
‫ไปเลย
‫ทันทีที่ฉันปล่อยมัน มันจะเปิดใช้งาน คว้าการ์กอยล์ออกจากฉันแล้วมันก็หายไปกับพื้น
‫ขณะนี้มีสถานที่สองสามแห่งใน Grab a CP ที่เรามีคำสั่ง if สองแห่ง ที่เราสามารถมีได้เพียงแห่งเดียว
‫หากเราต้องการใช้ and หรือ และ ไม่ได้ดำเนินการ
‫เคล็ดลับอย่างหนึ่งก็คือ เมื่อคุณทำสิ่งนี้ โดยที่เรากำลังตรวจสอบว่ามีบางอย่างที่ไม่ใช่ตัวชี้ค่าว่างหรือไม่
‫อีกทางเลือกหนึ่งคือ คุณสามารถลบสิ่งนี้ที่ไม่เท่ากับตัวชี้ค่าว่างได้
‫และถ้าคุณเพียงแค่บอกว่าถ้าแล้วใส่พอยน์เตอร์บางประเภทเป็นบูลีน ก็จะตรวจสอบโดยอัตโนมัติว่าไม่ใช่ตัวชี้ว่าง
‫ในที่นี้มันบอกว่ามีที่จับฟิสิกส์ที่นี่หรือไม่ มันบอกว่าองค์ประกอบการคว้าพร้อมใช้งานหรือไม่
‫จากนั้นเราก็สามารถใช้งานได้
‫ฉันจึงอยากท้าให้คุณรวมคำสั่ง if ของคุณเข้าด้วยกัน
‫ดังนั้นคุณจะรวมมันเข้าด้วยกันในองค์ประกอบติ๊ก
‫ลองนึกดูว่าคุณต้องการใช้เครื่องหมายแอมเพอร์แซนด์ the และ OR หรือไม่ หรือว่าคุณต้องการใช้เครื่องหมายลบหรือปมหรือเครื่องหมายอัศเจรีย์
‫จากนั้นนำมารวมเข้าด้วยกันในการเปิดตัวด้วย และทดสอบการทำงานของคุณและดูว่ายังใช้ได้อยู่หรือไม่ ทำงาน
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫เราจะใช้ประโยชน์จากสิ่งนี้เพราะโดยพื้นฐานแล้วสิ่งที่เราต้องการจะทำในการปล่อยคือเรากำลังบอกว่าเรามีที่จับทางฟิสิกส์ที่ถูกต้องและที่จับทางฟิสิกส์นั้นมีองค์ประกอบที่คว้าแล้วเราก็อยากทำร่างกาย
‫ของคำสั่ง if นี้
‫ดังนั้นมันจึงค่อนข้างง่ายที่จะเขียนแบบนั้น
‫เราสามารถพูดได้ว่าถ้าอุปกรณ์จับฟิสิกส์และที่จับฟิสิกส์มีองค์ประกอบที่จับได้ เราก็สามารถทำสิ่งต่อไปนี้ได้
‫เพื่อให้เราสามารถลบการ return ก่อนกำหนด if statement และทำให้โค้ดสั้นลงเล็กน้อย
‫ตอนนี้ สายตานกอินทรีในหมู่พวกคุณอาจกังวลว่า เฮ้ เรากำลังอ้างถึงการจัดการทางฟิสิกส์นี้ภายในคำสั่ง
‫if เพื่อประเมินว่าคำสั่งนี้และคำสั่งควรใช้งานได้หรือไม่
‫ตอนนี้มีคุณลักษณะของและจะประเมินสิ่งทางด้านซ้ายก่อน
‫และถ้าสิ่งนั้นเป็นเท็จ มันจะไม่ประเมินสิ่งทางด้านขวาด้วยซ้ำ
‫มันไม่จำเป็นต้อง
‫มันรู้อยู่แล้วว่าผลลัพธ์จะเป็นเท็จ
‫ไม่จำเป็นต้องประเมินอะไรเพิ่มเติม
‫นั่นหมายความว่าปลอดภัยที่จะทำสิ่งนี้โดยที่ผลลัพธ์ทางด้านขวาในการคำนวณ จะปลอดภัยที่จะทำเมื่อผลลัพธ์ทางด้านซ้ายเป็นจริงเท่านั้น
‫และนี่เป็นคุณสมบัติที่สะดวกมาก และคุณจะเห็นว่ามีการใช้สิ่งนี้ค่อนข้างมากเมื่อคุณใช้พอยน์เตอร์ ซึ่งก่อนอื่นคุณจะต้องตรวจสอบพอยน์เตอร์
‫จากนั้นคุณจะมีเครื่องหมายแอมเพอร์แซนด์
‫เครื่องหมาย และจากนั้น คุณจะใช้ตัวชี้ทางด้านขวามือ
‫แต่ได้โปรด ได้โปรด ได้โปรดอย่าพยายามสลับสองตัวนี้ตามลำดับ
‫มันจะไม่ทำงานในทางกลับกันและคุณจะเกิดปัญหา
‫ไปที่องค์ประกอบติ๊กที่เรากำลังทำสิ่งเดียวกัน
‫เราต้องการตรวจสอบว่ามีส่วนประกอบที่คว้ามาหรือไม่
‫สิ่งที่เราทำได้บนนี้คือ เราสามารถจัดการฟิสิกส์และจัดการฟิสิกส์ได้
‫ลูกศรคว้าส่วนประกอบ
‫เราไม่ต้องการค่าที่ไม่เท่ากับตัวชี้ null เพื่อให้มันเรียบร้อย จากนั้นเราสามารถดำเนินการต่อและลบคำสั่ง
‫if ด้วยการส่งคืน และเพียงแค่ลดบรรทัดของโค้ดลง รักษาความชัดเจนให้สูงขึ้นอีกเล็กน้อย
‫สิ่งที่ดี
‫ดังนั้นในการบรรยายครั้งนี้ เราได้เห็นวิธีการใช้ตัวดำเนินการ and or and not ใน C++
‫เจอกันใหม่ตอนหน้าค่ะ