Sponsor

แสดงบทความที่มีป้ายกำกับ unix แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ unix แสดงบทความทั้งหมด

25 มิถุนายน 2563

Vim-key - hjkl ปุ่มควบคุมทิศทางในตำนาน

adm-3a keyboard cb140
คีย์บอร์ดของคอมฯ ADM-3A ซึ่งได้กำหนดปุ่มลูกศรไว้บน hjkl จนเป็นมาตราฐานดั้งเดิมของโปรแกรมบน Unix มาจนถึงปัจจุบัน
ตอนที่ 1
ปุ่มทิศทางในการควบคุมเคอร์เซอร์บนจอคอมฯ หรือควบคุมตัวละครในเกม ปัจจุบันมักจะใช้ปุ่มลูกศรที่ออกแบบมาเป็นรูปแบบตัว Tคว่ำ ซึ่งอยู่บนคีย์บอร์ดช่วงขวามือ (หรือเกมที่ต้องใช้เม้าส์ด้วยมือขวาจะนิยมควบคุมทิศทางด้วย wasd ในมือซ้ายซึ่งอยู่ในรูปแบบ Tคว่ำ เช่นกัน) แต่ในสมัยที่คีย์บอร์ดยังไม่มีปุ่มทิศทาง ในฝั่ง Unix มีการควบคุมเคอร์เซอร์และเล่นเกมด้วยปุ่ม hjkl โดยสมัยก่อนเมื่อจะเลื่อนเคอร์เซอร์ต้องกด Ctrl แช่ไว้ แล้วตามด้วยปุ่มทิศทาง hjkl จึงจะไม่เป็นการพิมพ์ตัวอักษร

hjkl keys

เกม NetHack กำเนิดมาบนเครื่อง Unix เก่าแก่เหล่านั้น ปุ่มควบคุมทิศทางแบบดั้งเดิมของ NetHack จึงควบคุมด้วย hjkl เป็นค่าปริยายได้เลย (แต่ปัจจุบันสามารถใช้ปุ่มทิศทางได้ ถ้าเล่นบนคีย์บอร์ดที่มี Numpad แล้วต้องการใช้ปุ่มดั้งเดิม ต้องปิด Numlock ก่อน) โดยทิศทางคือ

h=ซ้าย j=ล่าง k=บน l=ขวา

วางนิ้วแบบ ชี้กลางนางก้อย ได้เลย และยังมีปุ่มเฉียงที่ปุ่มทิศทางแบบอื่นๆไม่มี คือ

y=เฉียงขึ้นซ้าย u=เฉียงขึ้นขวา
b=เฉียงลงซ้าย n=เฉียงลงขวา

ใน NetHack ถ้าเรียกเต็มๆจะเรียกว่า hjklyubn Keys หรือเรียกย่อๆว่า hjkl Keys ยังรู้จักในอีกชื่อว่า vi Keys มาจากชื่อโปรแกรมพิมพ์งานยอดนิยมบนเครื่อง Unix

นอกจาก NetHack แล้ว เกมที่ใช้ปุ่ม hjkl ยังมี the Rogue series, Linley's Dungeon Crawl และ Dance Dance Revolution clone StepMania ทั้งใน Gmail และ Google labs ยังใช้ shortcuts เป็น j และ k คือ "next" และ "previous" อีกด้วย

ฮิตขนาดไหนถามใจดู ๕๕๕
ตอนที่ 2
ปุ่มทิศทาง hjkl เป็นที่คลั่งไคล้มากนะครับในหมู่ชาว Unix โดยเฉพาะชาว Vi และยังเป็นที่ถกเถียงกันอีกด้วยว่า ควรวางมืออย่างไรเมื่อต้องใช้ปุ่มทิศทาง hjkl
จะวางตามแป้นเหย้า แล้วค่อยเอื้อมนิ้วชี้ไปกด h เมื่อต้องการ หรือพูดง่ายๆคือ ใช้ 3 นิ้วในการควบคุม โดยนิ้วชี้คุม j และ h, กลาง k และ นาง l
หรือจะขยับทั้งมื้อมาทางซ้ายโดย ชี้-กลาง-นาง-ก้อย : h-j-k-l เพื่อใช้ 4 นิ้วคุมอย่างละปุ่ม
กระทั่งเป็นดราม่าไปว่า ทำไมไม่ทำปุ่มทิศทางให้อยู่บนแป้นเหย้า jkl; ไปเลย จะได้ไม่ต้องเอื้อมนิ้วหรือขยับมือ
แล้วยังว่ากันว่าการกำหนด j เป็นปุ่มลูกศรลงก็เพราะ j ดูคล้าย ↓
เรื่องนี้ปวดหัวชะมัดครับ😅 [ส่วนตัวคิดว่าที่ยกออกจากแป้นเหย้าเพราะไม่ต้องการให้ใช้ปุ่ม ; เนื่องจากน่าจะคีย์ตัวแปรแตกต่างออกไปอีกในการเขียนโปรแกรม คงวุ่นวาย มั้ง?]
แต่การใช้ hjkl นั้นมีข้อดีคือความรวดเร็ว(และดั้งเดิม)โดยเฉพาะผู้ที่พิมพ์โค้ดบ่อยๆ จะได้ไม่ต้องย้ายมือไปมาที่ชุดปุ่มลูกศร(ถ้ามี) สำหรับใน NetHack นั้น การใช้ hjkl ก็เป็นข้อดีคือสามารถควบคุมปุ่ม เฉียง ได้ใกล้ๆ จาก yubn

สรุปแล้วผมคิดว่า สำหรับ NetHack การขยับมือมาวาง hjkl คุมนิ้วละปุ่ม(ใช้ 4 นิ้ว) จะสะดวกกว่า โดยใช้นิ้วชี้เอื้อมกด ybn และกลางเอื้อมกด u ก็จะสามารถควบคุมแบบสัมผัสได้ 8 ทิศทาง ซึ่งใน NetHack จะเรียกว่า hjklyubn (ยาวกว่าเดิมอีก😅)


ตอนที่ 3
ทำไมปุ่มทิศทางของ NetHack แบบดั้งเดิมถึงเป็น hjkl
คำตอบของเรื่องนี้อยู่ที่คีย์บอร์ดคอมฯในยุคแรกๆครับ ตอนนั้นยังไม่มีชุดปุ่มลูกศร แต่ใช้ปุ่มทิศทางอยู่บนแป้มพิมพ์ทั่วไปแทน จากในรูปเป็นคีย์บอร์ดของคอมฯ ADM-3A ซึ่งได้กำหนดปุ่มลูกศรไว้บน hjkl จนเป็นมาตราฐานดั้งเดิมของโปรแกรมบน Unix มาจนถึงปัจจุบัน
นอกจาก NetHack แล้ว โปรแกรม Text editor อย่าง Vi ที่นิยมในหมู่นักเขียนโปรแกรม ก็ใช้ปุ่ม hjkl ในการเลื่อนเคอร์เซอร์เช่นกัน และ NetHack มีทิศทางเฉียงด้วย โดย
y=เฉียงขึ้นซ้าย u=เฉียงขึ้นขวา
b=เฉียงลงซ้าย n=เฉียงลงขวา
ซึ่งชุดปุ่มลูกศรไม่มี จึงเรียกกว่า hjklyubn

Roguelike keyset

อ้างอิง
https://www.facebook.com/NetHackThailand/
https://jazzylj.blogspot.com/2019/05/the-vi-editor-vi-text-editor.html
http://xahlee.info/kbd/ADM-3A_terminal.html
https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys

04 พฤษภาคม 2562

GNU nano - Nano โปรแกรม text editor ที่เรียบง่าย

GNU nano on Linux Mint 19.1

ตอนนี้ผมมองหาโปรแกรมแก้ไขข้อความที่รวดเร็วเรียบง่าย โดยเฉพาะในคอมฯช้า ไม่ต้องพูดถึงการเปิดโปรแกรม Office ที่ต้องรอนานมากและกิน RAM(ไม่ว่าคอมฯจะพัฒนาไปแค่ไหนแล้วก็ตาม ๕๕๕บวก) ทั้งที่ไม่ได้ต้องการใช้ฟังชั่นอะไรมากมายขนาดนั้น แม้แต่การเปิด Text Editor ที่เป็น GUI ก็ต้องรอนาน และบางตัวยังมีปัญหาภาษาไทย เมื่อเราลบข้อความเช่นคำว่า "ที่" กดลบทีเดียว หายทั้งคำเลย ทั้งที่ปกติต้องค่อยๆลบ ไม้เอก สระอี และท.ทหาร ตามลำดับ
นั่นแหละครับ บางครั้งเราต้องการแค่พิมพ์ทดข้อความเล็กๆน้อยๆ หรือพักข้อความไว้ก่อน เราก็แค่ต้องการโปรแกรมเรียบง่ายสักตัว และแล้วก็มาจบที่ GNU nano ครับ ทั้งยังรวดเร็วเพราะเป็น text mode และไม่มีปัญหาภาษาไทยข้างต้นอีกด้วย nano เป็นโปรแกรมเล็กๆที่มาพร้อมกับ Linux Mint อยู่แล้ว แต่ Linux บางตัวไม่มี ก็ติดตั้งเพิ่มได้จาก Software Manager

เปิด Termimal พิมพ์ nano แล้วกด Enter

เข้าโปรแกรมมาแล้วก็สามารถเริ่มพิมพ์ข้อความได้เลยครับ
สังเกตหน้าต่างโปแกรมข้างล่างจะมีคีย์คำสั่งเพื่อให้ทำงานในโหมดต่างๆ
โดย ^ คือ Ctrl และ M- คือ Alt นั่นเองครับ ก็สามารถดูเมนูข้างล่างเพื่อสั่งการได้ หรือเข้าไปใน Get Help ด้วยการกด Ctrl + g เพื่อดูคำสั่งอื่นๆเพิ่มเติม

คำสั่งทั่วไปของ GNU nano
nano = เปิดโปรแกรม Nano
nano ชื่อไฟล์ = สร้างไฟล์ใหม่หรือเปิดไฟล์ที่มีอยู่แล้ว
Ctrl + g = แสดงคำสั่งที่สามารถใช้งานได้ทั้งหมด
Ctrl + x = ออกจากโปรแกรม
Ctrl + o = บันทึกข้อมูล
Ctrl + r = เปิดไฟล์ที่มีอยู่แล้วและนำมาแทรกในไฟล์ปัจจุบัน
Ctrl + w = ค้นหาคำที้ต้องการ
Ctrl + a = เลื่อนเคอร์เซอร์ไปทางซ้ายสุดของบรรทัด
Ctrl + e = เลื่อนเคอร์เซอร์ไปทางขวาสุดของบรรทัด
Ctrl + y = เลื่อนเคอร์เซอร์ไปหน้าก่อนหน้า
Ctrl + v = เลื่อนเคอร์เซอร์ไปหน้าถัดไป
Ctrl + d = ลบตัวอักษรในตำแหน่งที่เคอร์เซอร์อยู่
Ctrl + \ = ค้นหาและแทนที่ด้วยคำที่ต้องการ
Ctrl + c = แสดงตำแหน่งบรรทัดที่เคอร์เซอร์อยู่
Ctrl + 6 = Highlight ข้อความโดยใช้ลูกศรเลื่อนเคอร์เซอร์ และหากกด Ctrl + 6  อีกครั้งจะเป็นการยกเลิก
Alt + 6 = Copy ข้อความที่ highlight
Ctrl + k = Cut ข้อความที่ highlight
Ctrl + u = Paste ข้อความที่ cut/copy มา
Alt + u = Undo
Alt + e = Redo
Alt + l = เปิด/ปิดการตัดบรรทัด

การใช้คำสั่งร่วมกัน เช่น ต้องการ highlight ข้อความทั้งหมดเพื่อคัดลอก ทำได้ดังนี้ ^6 ตามด้วย ^y กรณีเคอเซอร์อยู่ท้ายบรรทัด เป็นต้น มันก็จะ highlight ตั้งแต่ท้ายสุดขึ้นมานั่นเอง และทำการ M-6 เพื่อ Copy ต่อไป หรือหากต้องการ Copy ออกมานอก Terminal สามารถใช้เม้าส์ได้ลากคลุมแล้วคลิกขวาได้

ยังมีโปรแกรม Text Editor อีกตัวที่มีบน Linux ทุกสายพันธุ์คือ Vi เป็นโปรแกรมแก้ไขข้อความเก่าแก่ที่นิยมกันในหมู่นักเขียนโปรแกรม ลองใช้แล้วก็มีปัญหาหาภาษาไทยข้างต้น แต่เป็นโปรแกรมที่ใช้สนุก และเป็นมาตราฐานบน Linux หากไม่ซีเรียสปัญหานั้นก็ลองใช้ดูได้ แล้วจะใช้ควบคู่ไปกับ nano ก็ได้ตามต้องการครับ


อ้างอิง
https://www.nano-editor.org
https://en.wikipedia.org/wiki/GNU_nano
https://spalinux.com/2015/07/edit-file-on-linux-by-using-nano
https://www.unzeen.com/article/1178/

03 พฤษภาคม 2562

The Vi Editor - Vi โปรแกรม Text Editor ในตำนาน

Vi on Linux Mint 19.1
เปิด Terminal
พิมพ์ vi (หรือ vim) แล้วกด Enter เพื่อเข้าโปรแกรม
หรือพิมพ์ vimtutor เพื่อดูคู่มือการใช้งานเบื้องต้น
ปกติ Vi จะมีในระบบอยู่แล้ว หากไม่มี สามารถติดตั้ง Vim ได้จาก Software Manager

พื้นฐานการใช้งาน
เมื่อเข้ามาถึงจะเป็น Normal mode(Command mode) เพื่อพิมพ์คำสั่งต่างๆในโปรแกรม
กด i เข้าสู่ Insert mode เพื่อให้พิมพ์ข้อความลงไปได้
กด ESC เพื่อกลับสู่ Normal mode
กด v เพื่อเข้าสู่ Visual mode เพื่อ highlight ข้อความ

คำสั่งทั่วไปใน Normal mode
:q = ออกจากโปรแกรม
:q! = ออกจากโปรแกรม โดยไม่เซฟ
:w = เซฟไฟล์
:w ชื่อไฟล์ = เซฟไฟล์พร้อมตั้งชื่อไฟล์
:wq = เซฟและออกจากโปรแกรม
h = เลื่อน cursor ไปทางซ้าย
j = เลื่อน cursor ไปทางล่าง
k = เลื่อน cursor ไปทางบน
l = เลื่อน cursor ไปทางขวา
gg = เลื่อน cursor ไปบรรทัดแรก
G = เลื่อน cursor ไปบรรทัดสุดท้าย
x = ลบตัวอักษรที่ cursor ทับอยู่
X = ลบตัวอักษรข้างหน้า cursor
dw = ลบคำ
dd = ลบทั้งบรรทัด
c = cut ข้อความที่ highlight ไว้
y = copy ข้อความที่ highlight ไว้
yy = copy ทั้งบรรทัด
yw = copy คำเดียว
p = paste วาง
u = undo
Ctrl+r = redo
o = เว้นบรรทัดข้างบน
:set nu = แสดงหมายเลขบรรทัด
:number = ย้าย cursor ไปตามบรรทัด number เช่น :10
/word = ย้าย cursor ไปตาม word ที่ต้องการ กด n จะเลื่อนไปคำต่อไป
:%y = Copy ข้อความทั้งหมด
. = ทำซ้ำคำสั่งล่าสุด
:help = ดูคำสั่งอื่นๆ

คำสั่งทั่วไปในการเข้า Insert mode
a = เพิ่มข้อความหลัง cursor ปัจจุบัน
i = เพิ่มข้อความก่อน cursor ปัจจุบัน ==== ปกติฉันใช้อันนี้
A = เพิ่มข้อความท้ายบรรทัด
I = เพิ่มข้อความต้นบรรทัด

คำสั่งทั่วไปในการเข้า Visual mode
v = highlight ปกติด้วยการใช้ปุ่มทิศทาง(hjkl)
V = highlight ทั้งบรรทัด
control+v = highlight เป็นบล๊อก

การใช้คำสั่งร่วมกันใน Normal mode กด ggVG = highlight ข้อความทั้งหมด เป็นการใช้คำสั่งร่วมกัน gg ไปบรรทัดแรก V ทำการ highlight ทั้งบรรทัด และ G ไปบรรทัดสุดท้าย ชุดคำสั่งนี้ก็จะ highlight ทั้งหมด เพื่อทำการ แก้ไข Copy/Cut ต่อไป
หรือหากต้องการ Copy ออกมานอก Terminal สามารถใช้เม้าส์ได้ลากคลุมแล้วคลิกขวาได้

http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html?fbclid=IwAR1iypXVEye_7p5xVoEGyMeoE9zOV_J6eK0Fz1Clth4V-TwrXWv6mmmq3aE

ศึกษาเพิ่มเติม
สอนใช้ Vim ออนไลน์ https://www.openvim.com/?fbclid=IwAR3p0e_I1TOPsk5DDMvz4ubXij-CvrR-Cr2REI2XxjqicGDfuRsTPtR5srE

หัดใช้ Vim ด้วยเกม Vim Adventures https://vim-adventures.com/


https://www.blognone.com/topics/vim

https://www.blognone.com/node/27440

The Vim book http://www.truth.sk/vim/vimbook-OPL.pdf


https://medium.com/vim-%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99-text-editor-%E0%B8%97%E0%B8%B5%E0%B9%88%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B9%84%E0%B8%94%E0%B9%89%E0%B8%97%E0%B8%B8%E0%B8%81%E0%B8%97%E0%B8%B5%E0%B9%88/%E0%B9%81%E0%B8%99%E0%B8%B0%E0%B8%99%E0%B8%B3%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%83%E0%B8%8A%E0%B9%89-vim-%E0%B9%80%E0%B8%9A%E0%B8%B7%E0%B9%89%E0%B8%AD%E0%B8%87%E0%B8%95%E0%B9%89%E0%B8%99-a899cdf3478c?fbclid=IwAR2Jdu46udZCQEYCM2IcyNvmQwremLO5F2X5H9fcewP6v4MHb9fYbGlNS0s






11 มีนาคม 2562

Hunt the Wumpus – ล่าปิศาจวอมปัส


Hunt the Wumpus เป็นเกมผจญภัยสไตล์ Text-based คือเล่นแบบข้อความล้วนๆ! เพราะเป็นเกมเก่าตั้งแต่ 1973 นู่นเลย สร้างโดยนาย Gregory Yob (June 18, 1945 – October 13, 2005) ชาวอเมริกัน เกมนี้เป็นแนว Turn-based โดยเนื้อเรื่องคือ เรารับบทเป็นผู้กล้าเข้าไปในถ้ำ เพื่อสังหารเจ้า Wumpus ด้วยลูกศรพิเศษ โดยต้องหลีกเลี่ยงหลุมลึกสุดอันตราย และโคตรค้างคาวที่บินไปทั่ว เกมนี้เป็นเกมแรกๆที่ถูกจัดอยู่ในแนว Survival Horror กระทั่งในปี 2012 นิตยสาร Time ได้จัดให้อยู่ใน 100 เกมที่ยิ่งใหญ่ที่สุดตลอดกาลอีกด้วย

ตอนนี้เราอยู่ห้องที่ 14 มีลูกศร 5 ดอก และมีอุโมงค์ไปถึงห้องที่ 6, 11 และ 17

ตัวเกมจะเป็นถ้ำวงกตที่มีห้องอยู่ 20 ห้อง แต่ละห้องจะมีอุโมงค์ 3 อุโมงค์ซึ่งเป็นทางเดินไปสู่อีกห้อง ซึ่งใน 20 ห้อง จะมี 3 ห้องเป็นหลุมไร้ก้นที่ลึกลงไปถึงแกนโลก ตกทีเดียวคือตาย! และมีโคตรค้างคาวอีก 3 ตัวที่บินไปบินมาตามห้องต่างๆ ถ้าเจอมันเข้า มันจะโฉบพาเราไปทิ้งไว้ในห้องใดห้องหนึ่งแบบสุ่ม แล้วถ้าเราเดินไปเจอเข้ากับเจ้า Wumpus หรือมันมาเจอเรา มันก็จะเขมือบเราทันที! แถมเจ้า Wompus จะเดินไปเดินมาได้ทุกห้องโดยไม่ตกหลุมไร้ก้นซะด้วย(ไต่บนเพดานได้สินะ?)

เริ่มต้น เราจะเริ่มในห้องใดห้องหนึ่ง ซึ่งตัวเกมจะบอก และให้ข้อมูลว่าห้องข้างเคียงมีอะไร เช่นว่า
  • *rustle* (must be bats nearby) -ได้ยินเสียงค้างคาว
  • *whoosh* (I feel a draft from some pits) -รู้สึกถึงหลุม
  • *sniff* (I can smell the evil Wumpus nearby!) -ได้กลิ่นเจ้า Wumpus
ข้อมูลเหล่านี้ก็จะบอกให้เรารู้ว่า 3 ห้องข้างๆมีอะไร แต่ไม่รู้แน่ว่าห้องไหน

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

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

เหลือธนูเพียงดอกเดียว แล้วยิงโดยด้วย!

คำสั่งในการเล่นนั้นง่ายมาก มีแค่ 2 คำสั่ง คือ m และ s โดย m คือ Move เดินไปห้องอีกห้อง โดยพิมพ์ m ตามด้วยเลขห้อง เช่น m1 คือ เข้าไปห้อง 1 และ s คือ Shoot ยิงธนู โดยพิมพ์ s แล้วตามด้วยเลขห้อง เช่น s1 คือ ยิงไปห้อง 1

เกมนี้มีหลายเวอร์ชั่นครับ แต่ละเวอร์ชั่นจะมีอุปสรรค์มากน้อยแตกต่างกันไป เวอร์ชั่นที่ผมเล่นเป็นของ BSD Games รุ่นคลาสสิคเก่าแก่(เปิด Terminal พิมพ์ wump เพื่อเข้าเกม) ปัจจุบันนี้ก็มีเวอร์ชั่นบนมือถือ ลองค้นหาคำว่า hunt the wumpus ก็จะมีให้เลือกหลายเจ้าเลย ลองหามาเล่นกันดูครับ คงจะถูกใจสายเกม Adventure/Puzzle/Quiz แน่นอน แล้วจะรู้ว่าทำไมเกมนี้ถึงเป็นตำนาน ;)
และหวังว่าบทความนี้คงจะเป็นแนวการเล่นเบื้องต้นให้กับมือใหม่ได้บ้างนะครับ

บทความนี้เท่านี้ก่อนครับ
ไว้เจอกันใหม่
สวัสดีครับ

แถม
แผนที่ในเกมเป็นรูปทรงที่เรียกว่า squashed dodecahedron
จึงทำให้ทุกห้องมี 3 ทางเดินเสมอ

มาดูคลิปการเล่นเวอร์ชั่นต่างๆกันครับ



เพิ่มเติม
https://en.wikipedia.org/wiki/Hunt_the_Wumpus

11 กรกฎาคม 2559

Ninvaders - เกมผจญผู้รุกรานแห่งห้วงอวกาศ

Ninvaders ก็คือเกม Space Invaders ในตำนานนั่นเองครับ แต่มาในรูปแบบของ Texual โดยผู้เล่นจะควบคุมการยิงปืนเลเซอร์ โดยการเคลื่อนที่ในแนวนอนที่ด้านล่างของจอ และยิงเหล่าเอเลี่ยนที่กำลังเคลื่อนตัวลงมา ซึ่งมีจุดมุ่งหมายคือการกำจัดเหล่าเอเลี่ยน ถ้ามันลงมาถึงข้างล่างได้เราก็จะเป็นฝ่ายแพ้ ดังนั้นเราต้องยิงมันให้หมดก่อน!
สำหรับชาว Linux Mint สามารถติดตั้งได้จาก Software manager โดยค้นหาคำว่า ninvaders หรือพิมพ์ใน Terminal ว่า sudo apt-get install ninvaders ก็ได้


วิธีเปิดเกม คือ เข้า Terminal พิมพ์ ninvaders

หวังว่าทุกคนคงจะสนุกกับเกมในตำนานเกมนี้ในแบบ Texual นะครับ สำหรับเกมอื่นๆที่จะเล่นใน Terminal ดูบทความนี้นะครับ BSD Games - รวมเกมส์คลาสสิคแนว Texual อาจจะเจอเกมในตำนานอีกก็ได้นะ
สำหรับวันนี้สวัสดีครับ ^_^

อ้างอิง
http://www.tecmint.com/best-linux-terminal-console-games/

https://th.wikipedia.org/wiki/สเปซอินเวเดอส์

Moon Buggy - เกมซิ่งตะลุยแดนพระจันทร์

Moon Buggy เว่อร์ชั่นนี้มาในรูปแบบ Texual เป็นแนวเดียวกับเกม Canabalt เลยครับ แต่แทนที่จะโดดข้ามตึกในวันโลกาวินาศ เปลี่ยนมาเป็นขับรถบั๊กกี้กระโดดข้ามหลุมบนดวงจันทร์แทน! เป็นเกมที่อยู่บน Linux ครับ สำหรับชาว Linux Mint สามารถติดตั้งได้จาก Software Manager โดยค้นหาคำว่า moon-buggy ก็จะเจอเป็นอันแรกเลยครับ หรือพิมพ์ใส่ Terminal ว่า sudo apt-get install moon-buggy ก็ได้ครับ ง่ายดาย ;)


วิธีเข้าเกม เปิด Termimal พิมพ์ moon-buggy แล้วเอ็นเตอร์เป็นอันเรียบร้อย

วิธีเล่น
  • กระโดด กด ปุ่มสเปสบาร์(Spacebar หรือที่เรียกว่าปุ่มเว้นวรรค)
  • ยิงเลเซอร์ กด a หรือ l ครับ
  • ออกจากเกม กด q
บางหลุมก็ใกล้บางหลุมก็ไกล บางหลุมก็กว้างบางหลุมก็แคบ ต้องดูให้ดีเลยล่ะครับ และเมื่อจบเกมจะมีบันทึกสกอร์ด้วยว่าเราไปได้ไกลแค่ไหน
เป็นเกมที่เล่นได้สนุกเพลินๆเลยล่ะครับ หวังว่าทุกคนคงจะชอบเหมือนที่ผมชอบนะครับ เกมอื่นๆที่จะเล่นใน Terminal ดูบทความนี้นะครับ BSD Games - รวมเกมส์คลาสสิคแนว Texual อาจจะเจอเกมที่เพื่อนๆตามหาอยู่ก็ได้นะ
สำหรับวันนี้สวัสดีครับ ^_^

อ้างอิง
http://www.tecmint.com/best-linux-terminal-console-games/

28 มิถุนายน 2559

วิธีการเล่น Mille Bornes ใน BSD Games

เกม Mille Bornes นี้เป็นแนว Race หรือแนวรถแข่งไปถึงเส้นชัยก่อนชนะ ในประเทศไทยดูจะหาซื้อการ์ดชุดนี้ยาก แต่ไม่เป็นไรเพราะเราสามารถเล่นกับคอมพิวเตอร์ได้ครับ สำหรับวิธีการเล่นเราได้เคยเขียนบทความไว้แล้วลองอ่านดูกันก่อนนะครับ How to play Mille Bornes - กติกาการเล่นมิลล์บอร์นส์ เกมการ์ดตะลุย 1,000 ไมล์

สำหรับ Linux มีเกม Mille Bornes เป็นหนึ่งใน BSD Games โปรแกรมที่รวมเกมคลาสสิคดั้งเดิมในรูปแบบ Textual ถ้าเกมนี้ถูกเรียกว่าเป็นเกมรถแข่งล่ะก็ ก็ต้องเป็น Need for speed รุ่น Texual กันเลยทีเดียวนะครับ 555+

วิธีเปิดเกมคือ
  1. เปิด Terminal
  2. พิมพ์ mille กด enter
 ทีนี้ก็เข้าเกมเรียบร้อยครับ


ในโปรแกรมนี้จะจบเกมที่ 700km ครับ เล่น 2 ฝ่าย คือ เรา และ คอมฯ
คำสั่งที่ใช้เล่นจะมีบอกอยู่แล้วในกรอบสี่เหลี่ยมทางขวานั่นเอง เราขอนำคำสั่งหลักๆมาสรุปไว้คือ
พิมพ์ p เพื่อจั่วการ์ด
พิมพ์ u ตามด้วยหมายเลข เป็นการใช้การ์ดใบนั้น เช่น u1 คือใช้การ์ด1 หรือ up คือใช้การ์ดp
พิมพ์ d ตามด้วยหมายเลข เป็นการทิ้งการ์ดในมือ
พิมพ์ q เมื่อต้องการออกจากเกมกด y
กด o เป็นการเรียงการ์ดในมือให้เป็นระเบียบอัตโนมัติ(จากระยะทางน้อยไปหามาก) กดอีกทียกเลิก
เมื่อเราถึง 700km แล้ว ก็ถือว่าเราชนะแล้วครับ แต่โปรแกรมจะคำถามว่า Extention? หมายถึงจะเล่นต่อจนถึง 1,000km หรือไม่? กด y เพื่อเล่นต่อ กด n เพื่อจบเกม
เมื่อจบเกมจะมีคำถามขึ้นมาว่า Another hand? หมายถึง เล่นอีกตามั้ย? กด y เพื่อเล่นอีกตา กด n สองครั้งเพื่อออกครับ

ก่อนเข้าเกมถ้าต้องการอ่านวิธีใช้คำสั่งอย่างละเอียด(ภาษาอังกฤษ) เปิด Terminal พิมพ์ man mille แล้ว enter จะมีคู่มือวิธีการเล่นให้อ่านได้ครับ
ลองเล่นกันดูนะครับสำหรับชาว Linux ที่ชอบเล่นในแนว Textual คลาสสิค แบบเดียวกันกับ Unix สมัยเก่าเลยทีเดียว ยังมีเกมแนว Texual โบราณอีกมากมายใน BSD Games ลองเข้าไปดูรายชื่อเกมกันได้ คุณอาจจะเจอเกมที่ทำให้คุณชื่นชอบก็ได้นะ
แถมอีกหน่อย ใน Linux จะมีอีกโปรแกรมชื่อ xmille เป็นการเล่นแบบกราฟฟิค ทันสมัยขึ้นมาหน่อย ลองติดตั้งกันดูนะครับ

สุดท้ายนี้ขอให้สนุกกับการเล่น Mille Bornes กันนะครับ ^_^

xmille

12 มิถุนายน 2559

วิธีการเล่น Backgammon ใน BSD Games


Backgammon หรือ แบ็กแกมม่อน เป็นเกมกระดานสำหรับเล่นสองคนที่มีอายุเก่าแก่ที่สุดในประวัติศาสตร์ ยาวนานกว่า 5,000 ปี โดยมีอยู่ในแทบทุกอารยธรรม ในปัจจุบันนับเป็นเกมคลาสสิคสากลที่นิยมเล่นกันทั่วโลก แต่ในบ้านเรายังไม่ค่อยเป็นที่รู้จักกันมากนัก หลายคนบอกว่ามันคล้ายเกม สกา ของอินเดียสมัยโบราณ (เกมนี้มีอยู่ในหลายอารยธรรมทั้งตะวันออกกลาง อินเดีย จีน และญี่ปุ่น ซึ่งมีชื่อเรียกต่างกันไป โดยที่หน้าตาคล้ายกันมาก) ซึ่งถ้าได้เล่นแล้วจะรู้เลยว่าเกมนี้สนุกและลุ้นระทึกได้เร้าใจมากทีเดียวเชียว
เกมกระดานที่มีการทอยเต๋าเข้ามาเกี่ยวข้องนั้นคล้ายกับชีวิตจริงของคนเรา ที่อาจเจอเรื่องไม่คาดฝัน สภาพอากาศที่ไม่เป็นใจ หรือทรัพยากรต่างๆมากน้อยที่เราควบคุมไม่ได้ ทีนี้อยู่ที่ว่าเราจะจัดการกับทรัพยากรที่มีอยู่อย่างจำกัดนี้ได้อย่างไร ก็ขึ้นอยู่กับการตัดสินใจของเรานั่นเองครับ

อันดับแรกมาดูวิธีการเล่นจากคลิปนี้ก่อนนะครับ หรือ อ่านวิธีการเล่นอย่างละเอียดได้ที่บทความ How to play Backgammon - กติกาและวิธีการเล่นแบ็กแกมมอน



สำหรับ Linux มีเกม Backgammon เป็นหนึ่งใน BSD Games โปรแกรมที่รวมเกมคลาสสิคดั้งเดิมในรูปแบบ Textual

วิธีเปิดเกมคือ
  1. เปิด Terminal ก่อน
  2. พิมพ์ backgammon และ enter
  3. ถ้าต้องการอ่านวิธีเล่น(ภาษาอังกฤษ)กด y ถ้าต้องการข้ามกด n
  4. ถ้าต้องการอ่านคู่มือการใช้โปรแกรมอย่างละเอียด(ภาษาอังกฤษ)กด y ถ้าต้องการข้ามกด n
  5. ตอนนี้ให้เราเลือกสี ถ้าเล่นสีแดงกด r ถ้าต้องการเล่นสีขาวกด w ถ้าจะเล่นสองคนกด b
ทีนี้ก็เข้าเกมเป็นที่เรียบร้อย



คำสั่งในการเล่นของโปรแกรมนี้ขอสรุปมาอย่างย่อๆนะครับคือ
สมมติว่าเราเป็นฝ่ายสีแดง(r)
ทอยเต๋าได้ Red rolls 6 5
คำสั่งเดินหมากคือ ตำแหน่งหมากที่จะเดิน/จำนวนเต๋าที่ทอยได้
เช่น 17/6,12/5 หมายความว่า เดินหมากแถวที่ 17 ไป 6 ช่อง และ เดินหมากแถวที่ 12 ไป 5 ช่อง
หรือถ้าต้องการกำหนดตำแหน่งโดยตรงก็สามารถพิมพ์คำสั่งแบบนี้คือ ตำแหน่งหมากที่จะเดิน-ตำแหน่งสุดท้ายของหมาก
เช่น 17-23,12-17
สรุป คือ ถ้าจะใส่แต้มที่ทอยได้ ใช้ ' / ' ถ้าจะใส่ตำแหน่งสุดท้ายของหมาก ใช้ ' - '
ถ้าต้องการเดินหมากเดียวยาวๆเลยก็ใช้คำสั่งต่อเนื่อง คือ 12/6/5 หมายความว่า เดินหมากแถวที่ 12 ไป 6 ช่องและ 5 ช่อง(รวมคือหมากเดียวไป 11 ช่อง) ระหว่างที่เดินไป 6 ช่อง ช่องที่ตกต้องเป็นไปตามกติกาด้วยนะครับ(คือเป็นช่องว่าง หรือกินหมากฝ่ายตรงข้าม) ถึงจะเดินต่อไปอีก 5 ช่องได้ คือเดินหมากเดียวต่อเนื่องได้ แต่ต้องเดินทีละชุดแต้ม จะเดินแต้มมากก่อนหรือเดิมแต้มน้อยก่อนก็ได้ แล้วแต่กลยุทธ์
ส่วนหมากที่โดนกิน จะถูกวางไว้ที่ BAR ให้เดินด้วยคำสั่ง B เช่น B/6/5 คือ เดินจากบาร์ไป 6 ช่องและ 5 ช่อง เป็นต้น
การเดินหมากออกนอกกระดานช่วงท้ายเกมถ้าต้องการใช้ตำแหน่งสุดท้ายคือตำแหน่ง 25 แต่ตามปกติแค่ใส่แต้มที่ทอยได้ก็พอ ไม่ต้องกำหนดตำแหน่งอะไรให้มากความครับ

ก่อนที่จะเริ่มนำหมากออกจากกระดานได้ คือ เราต้องนำหมากทั้งหมดของเราไปอยู่ในบ้าน(Home)หรือโซนมุมขวาบนก่อน(ในรูปคือตำแหน่งที่ 19-24)จึงจะเริ่มเดินหมากออกจากกระดานได้ โดยต้องทอยแต้มให้ได้ออกพอดี เช่น หมากที่ช่อง 24 ต้องทอยให้ได้ 1 ถึงจะออกได้ ช่องอื่นก็เพิ่มแต้มขึ้นตามสัดส่วน หากทอยได้แต้มมากกว่าตำแหน่งของหมากตัวที่มีอยู่ ให้นำตัวหมากที่อยู่บนหลักที่สูงที่สุดออกได้ แต่หากได้แต้มน้อยให้เลื่อนหมากตามจำนวนที่ทอยได้


ขอให้สนุกกับการเล่น Backgammon สไตล์คอมพิวเตอร์ย้อนยุคกันนะครับ ^-^


อ้างอิง
https://th.wikipedia.org/wiki/แบ็กแกมมอน
http://www.thecardz.com/2011/03/how-to-play-backgammon/

11 มิถุนายน 2559

BSD Games - รวมเกมส์คลาสสิคแนว Texual

เกม Tetris เททริส ที่รู้จักกันดี
เกมส์คอมพิวเตอร์สมัยก่อนนั้นจะอยู่ในรูปของ Text Mode เป็นส่วนใหญ่ เนื่องจากสมัยก่อนคอมฯยังแสดงผลได้แต่พวกตัวอักษรเป็นหลัก เกมที่ถูกสร้างขึ้นก็จะนำอักขระมาประยุกต์ให้เป็นลักษณะต่างๆ เพื่อให้เล่นเป็นเกมได้(แม้จอจะแสดงผลได้แค่ตัวอักษร ก็ยังทำเป็นเกมสนุกๆได้เลยนะเนี่ย) ครั้งนี้เราจะมาแนะนำให้รู้จักกับ BSD Games - Collection of classic textual unix games รวมเกมคลาสสิคที่เคยเล่นกันบนระบบปฏิบัติการ Unix
Linux บางรุ่นอาจมีติดมาอยู่แล้ว

การติดตั้งสำหรับ Linux ให้เข้าไปที่ Software Manager และค้นหาคำว่า bsdgames และติดตั้งได้เลย
หรือ เข้า Terminal แล้วพิมพ์คำสั่ง sudo apt update ตามด้วย sudo apt install bsdgames

วิธีเปิดเกมส์เพียงแค่เปิด Terminal และตามด้วยการพิมพ์ชื่อเกมส์(เรารวบรวมรายชื่อไว้แล้วข้างล่างเลย) หากต้องการดูคู่มือก็ให้พิม man เว้นวรรณตามด้วยชื่อชื่อเกม ก็จะมีคู่มือวิธีการเล่นให้อ่านครับ(ภาษาอังกฤษ)
BSD Games รวมเกมส์แนว text-based คลาสสิคดั้งเดิมสำหรับความคลาสสิคกว่า 40 เกมส์ ซึ่งมีคู่มือการเล่นมาพร้อมอยู่แล้วในเกมนั้นๆ ทั้งแนว Action, Card, Puzzle/Quiz และ ฯลฯ ในแบบเก่าแก่ดั้งเดิมให้ระลึกความหลังกันเลย

รายชื่อเกมส์มีดังนี้

Action games:

    hunt - a multi-player multi-terminal game
    worm - Play the growing worm game === กติกาเดียวกับเกมงูในโทรศัพท์โนเกียร์ 3310

Board games:

    backgammon - the game of backgammon === เป็นเกมกระดานสำหรับเล่นสองคนที่เก่าแก่กว่า 5,000 ปี โดยมีอยู่ในแทบทุกอารยธรรม ปัจจุบันนับเป็นเกมคลาสสิคสากลที่นิยมเล่นกันทั่วโลก คล้ายเกม สกา ของอินเดียโบราณ วิธีการเล่น Backgammon ใน BSD Games
    gomoku - game of 5 in a row === เล่นเหมือนเกม OX แต่เรียงให้ได้ 5 ตัว Gomoku - โกโมคุ หมากเรียงห้า
    monop - Monopoly game === เกมเศรษฐีแบบ Textual ไม่มีรูปภาพใดๆเลย 555+

Card games:

    canfield - the solitaire card game canfield
    cribbage - the card game cribbage
    go-fish - play Go Fish === เป็นเกมแนวจับคู่ไพ่ที่เป็นเกมที่นิยมในต่างประเทศมาก วิธีการเล่น Go Fish ใน BSD Games
    mille - play Mille Bornes === ป็นเกมการ์ดจากฝรั่งเศษ โด่งดังมากที่ยุโรป เป็นแนว Race หรือแนวรถแข่งไปถึงเส้นชัยก่อนชนะ เป็นเกมรถแข่งที่ใช้การ์ดแข่ง วิธีการเล่น Mille Bornes ใน BSD Games

Formatting fun:

    banner - print large banner on printer
    bcd - reformat input as punch cards, paper tape or morse code
    morse - reformat input as punch cards, paper tape or morse code
    number - convert Arabic numerals to English
    pig - eformatray inputway asway Igpay Atinlay
    ppt - reformat input as punch cards, paper tape or morse code
    random - random lines from a file or random numbers
    rot13 - rot13 encrypt/decrypt === เป็นโปรแกรมเข้าและถอดรหัสข้อความ ด้วยการเลื่อนตัวอักษรภาษาอังกฤษไป 13 หลัก เช่น A แปลงเป็น N, B แปลงเป็น O, ฯลฯ เป็นต้น ว่ากันว่า ชาว Geek (เนิร์ดขั้นสุด)แค่เห็นข้อความก็รู้แล้วว่ามันเข้ารหัสด้วย ROT13 
ในเว็บบอร์ดมีการใช้ ROT13 ในการซ่อนการสปอยล์ ตอนจบของมุกตลก คำตอบของปริศนา หรือคำหยาบ เพื่อไม่ให้ผู้อ่านเหลือบมองเห็นคำที่ซ่อนอยู่โดยบังเอิญ ศึกษาเพิ่มเติม https://th.wikipedia.org/wiki/ROT13

Puzzle/Quiz:

    arithmetic - quiz on simple arithmetic === เกมคณิตศาสตร์บวกลบคูณหาร
    boggle - word search game
    hangman - Computer version of the game hangman
    robots - fight off villainous robots
    snake - display chase game ===ควบคุมตัว I ให้เก็บ $ ให้ได้มากที่สุด อย่าโดน # และอย่าให้งูฉก!
    tetris-bsd - the game of tetris === เกมเททริสสไตล์ Unix
    quiz - random knowledge tests
    wump - hunt the wumpus in an underground cave === 
เป็นเกมผจญภัยรับบทเป็นผู้กล้าเข้าไปในถ้ำ เพื่อสังหารเจ้า Wumpus ด้วยลูกศรพิเศษ โดยต้องหลีกเลี่ยงหลุมลึกสุดอันตราย และโคตรค้างคาวที่บินไปทั่ว Hunt the Wumpus – ล่าปิศาจวอมปัส

Role playing:

    adventure - an exploration game === เป็นแนวเกมสำรวจพื้นที่ด้วยการพิมพ์คำสั่ง ภาษาอังกฤษ เช่น forest, building, downstream, enter, east, west, north, south, up, หรือ down ฯลฯ แล้วละครจะทำตามที่เราสั่งเพื่อผจญภัยแบบ Textๆ
    battlestar - a tropical adventure game
    phantasia - an interterminal fantasy game

"Screensavers":

    rain - animated raindrops display
    worms - animate worms on a display terminal

Simulation games:

    atc - air traffic controller game
    sail - multi-user wooden ships and iron men
    trek - trekkie game

Various calculations:

    caesar - decrypt caesar cyphers
    pom - display the phase of the moon
    primes - generate primes

Other:

    cfscores - show scores for canfield
    huntd - hunt daemon, back-end for hunt game
    snscore - show scores for snake
    teachgammon - learn to play backgammon
    wargames - shall we play a game?
    wtf - translates acronyms for you



ยังมีหลายเกมส์ทีเดียวที่เรายังไม่รู้จัก และเล่นไม่เป็น เพื่อนๆท่านใดรู้จักเกมส์ไหนช่วยแนะนำวิธีเล่นเข้ามาได้ใต้คอมเม้นได้เลยนะครับ เกมคลาสสิคจะได้ไม่เลือนหายไปตามกาลเวลา :D

Monopoly หรือ เกมเศรษฐี แบบ Textual เอิ่ม... -_-'
คลาสสิคจริงๆครับ 555+

Gomoku

Backgammon



 

แถม
https://ttygames.wordpress.com/ เว็บนี้รวบรวมและแนะนำเกมบน Linux console แนว Texual หลายเกมที่น่าเล่นอย่าง Greed, Empire-The wargame of century และอื่นๆ ลองเข้าไปดูกันได้

อ้างอิง
http://wiki.linuxquestions.org/wiki/BSD_games