๐๙ กรกฎาคม ๒๕๕๐

tetris

Tetris ถูกคิดค้นโดยชาวรัสเซียชื่อ Alexley Pajitnov ในปี 1985 ที่สถาบันวิจัยวิทยาศาสตร ในกรุงมอสโคว์ โดยได้รับแรงบันดาลใจ มาจากเกมที่ชื่อว่า pentominoes , Tetris เป็นเกมที่โด่งดังมาก และมีลงในเครื่องทุกชนิด ที่สามารถเล่นเกมได้ มีแม้กระทั่งคนเอา Tetris ไปเล่นกับตึก โดยอาศัยการติดดับของไฟ และใช้โน้ตบุคบังคับเกม ที่ตึก LA BASTILLE
Tetrisวิธีเล่น จะมีบลอครูปทรงต่างๆ ที่ประกอบด้วยบลอคย่อย 4 บลอค ซึ่งรูปทรงนี้ เรียกว่า Tetrads รูปทรงเหล่านี้จะร่วงลงมา และเมื่อเราสามารถเติมเต็มได้ในหนึ่งแถว แถวนั้นจะหายไป การทำให้หายไปนี้ สามารถหายไป พร้อมกันมากที่สุดได้ 4 แถวโดยบลอครูปตัว I และการทำให้หายไป มากที่สุด 4 แถวนี้แหละ ที่เรียกว่า Tetris และเป็นชื่อเกมTetris เป็นเกมที่ใช้หลักแรงโน้มถ่วงของโลก ซึ่งเป็นเหตุทำให้กติกา ในยุคแรก กับในยุคหลัง ต่างกัน กรุณาดูตามรูปกติกาในยุคแรกนั้น เราจะไม่สามารถทำ คอมโบต่อเนื่อง ได้ กล่าวคือ เมื่อแถวปัจจุบันหายไป แถวข้างบน จะหล่นลงมา เพียงครั้งเดียวเท่านั้น ดังนั้นจะมีชิ้นส่วนที่ลอยอยู่แ่ต่กติกาในยุคหลัง ได้มีการปรับปรุงในจุดนี้ ซึ่งจะเห็นว่าเป็นหลัก ที่ใกล้เคียงความเป็นจริงมากขึ้น เป็นไปได้หรือไม่ที่จะเล่นไปชั่วนิรันดร์?โดยปกติแล้ว ผู้ที่เล่น Tetris จะแพ้ ด้วยเหตุผล สองประการ คือ หนึ่ง.ความเร็วที่เพิ่มขึ้น ทำให้ผู้เล่น ไม่สามารถคิดตามได้ทัน หรือ สอง. ตัวระบบเอง ไม่สามารถตอบสนอง ต่อการกดของผู้เล่น ได้เท่ากับความเร็วในการตกของตัวบลอค ซึ่งปัญหาหลังนี้ เป็นปัญหาทางด้านการดีไซน์เกมแต่ถ้าสมมติว่า ความเร็วไม่เพิ่มขึ้นเลย ในแต่ละด่าน เราจะสามารถเล่น Tetris โดยไม่แพ้ ไปชั่วนิรันดร์ได้หรือไม่?คำตอบคือ ไม่ได้ เหตุผลมาจากตัวบลอคสองรูป คือ ตัว S และ Z (คล้ายรูปสายฟ้าฟาด) สองตัวนี้เป็นปัญหาของการเล่น ลองจินตนาการว่า คุณได้รับรูปตัว S หรือ Z มามากๆ ติดต่อกัน คุณจะไม่สามารถเคลียร์แถวได้หมด เนื่องจากว่าจะมีช่องว่างตรงริมอยู่ในหนึ่งแถว และเนื่องจากการตกลงมาของบลอคเป็นแบบสุ่ม ดังนั้นเหตุการณ์นี้จะเกิดขึ้นได้แน่นอน (ต่อไปนี้เป็นเชิงเทคนิค : ถ้าการตกลงมาเป็นแบบสุ่มสมบูรณ์ในทางทฤษฎี เหตุการณ์ดังกล่าวจะเกิดขึ้นไ้ด้ แต่เนื่องจากในทางปฏิบัติ การสุ่มที่ใช้ในโปรแกรมเป็นแบบ pseudo-random generator ซึ่งจะใช้หลักของ linear congruential generator ดังนั้นเหตุการณ์ดังกล่าวจะไม่เกิด)สมมติว่าให้ผู้เล่นเป็นผู้เล่นที่เพอร์เฟค กล่าวคือสามารถหาหนทางชนะได้เสมอ ตราบเท่าที่มีหนทาง เขาจะสามารถอยู่รอดได้เมื่อได้รับตัว S หรือตัว Z ติดต่อกัน 150 ตัว หลังจากนั้นคือไม่รอด ดังนั้น ความน่าจะเป็นที่เขาจะตายโดยได้รับ S หรือ Z ติดต่อกัน จะเป็น (2/7)กำลัง 150 หรือนั่นคือประมาณจำนวนอะตอมในจักรภพที่เรารู้จัก พูดง่ายๆ คือ เกิดขึ้นยากมากในทางปฏิบัตินั่นแหละ ที่จะมีคนเล่นไปจนขนาดนั้น แต่ว่า ก็ไม่ใช่ว่าจะเกิดไม่ได้
sequence ของ tetris คือเป็นการรวมตัวกันเพื่อลดจำนวนลง และมีลำดับ random ของการปล่อยตัวบล็อคลงมา
การรวม = การบวก
การรวมเพื่อลดจำนวน = จำนวนติดลบ + จำนวนติดลบ