[*nix] My tetris on terminal
約莫期中考前吧,看到學長發RPG的文,於是也想來寫個遊戲。 想開學時重回臉書時,玩的tetris玩得還蠻爽的,於是就成為首選啦,而且Linux號稱是用來多工的,說不定也能來寫個連線版,在學校的主機上和同學來PK一下,感覺很酷,於是就動工囉。 我在linux上會使用的只有學校教半學期的C,關於文字顯示也只會一行行的,要怎麼辦呢?一位系上同學告訴了我ncurses的事(果然是高手),於是就開始google啦! 不管三七二十一,工欲善其事,必先利其器,ncurses下了再說。 sudo apt-get update sudo apt-get install ncurses-dev 原來ncurses是curses的進化,然後我參考了這篇,整個tetris的畫面就差不多出來了。 http://www.csie.ntnu.edu.tw/~ghhwang/course_slices... (除了#include要引入函式庫外,compiler時也要加上-lncurses喔!!) 接著嘛,要參考一下標準的tetris規則,旋轉之類的,由於有些很麻煩,所以做多少算多少囉! http://tetris.wikia.com/wiki/SRS 做得差不多了,就差一個個方塊落下了,畫龍點睛就是這一步,看了一些函式後發現alarm好像不是很精準(好像只能到整數秒),於是採用了setitimer http://fp-moon.iteye.com/blog/1534980 我把成果發到asciinema上 https://asciinema.org/a/1zinm7gewyniwz2qy0fb8dbdc //成果1 https://asciinema.org/a/2amo1o5kfe0fuut56qj5oym42 //成果2 最後再附個有點糟糕的程式碼 mycode: github上喔 //原版 (compiler $ gcc tetris.c -lncurses) https://mega.nz/#!MIUmmRpJ!thZg1WcWWJEyW6b2UzxV2_Q... //惡搞方塊版 (compiler $ gcc new.c -lncurses) 可能是因為win...