mys
ake10c编译命令:ccmys
ake10clcursesomys
ake10用方向键控制蛇的方向i
cludestdiohi
cludestdlibhi
cludecurseshi
cludesig
alhi
cludesystimehdefi
eNUM60structdirecti
tcxi
tcytypedefstruct
odei
tcxi
tcystruct
odebackstruct
ode
ext
odevoidi
itGamei
tsetTickeri
tvoidshowvoidshowI
formatio
voidshowS
akevoidgetOrdervoidoveri
tivoidcreatLi
kvoidi
sertNodei
txi
tyvoiddeleteNodevoiddeleteLi
ki
tchi
thourmi
uteseco
di
tle
gthtTimelevelstructdirectdirfood
odeheadtaili
tmai
用来表示方向的
链表的结点
初始化游戏设置计时器显示整个画面显示游戏信息(前两行)显示蛇的身体从键盘中获取命令完成游戏结束后的提示信息(带头尾结点)双向链表以及它的操作
输入的命令时分秒(蛇的)长度,计时器,(游戏)等级蛇的前进方向,食物的位置链表的头尾结点
fi
itscri
itGamesig
alSIGALRMshowgetOrdere
dwi
retur
0voidi
itGamecbreak把终端的CBREAK模式打开
oecho关闭回显curs_set0把光标置为不可见keypadstdscrtrue使用用户终端的键盘上的小键盘sra
dtime0设置随机数种子初始化各项数据hourmi
uteseco
dtTime0le
gth1dircx1dircy0chAfoodcxra
dCOLSfoodcyra
dLINES22creatLi
ksetTicker20设置计时器(这个函数是书本上的例子,有改动)i
tsetTickeri
t
_msecsstructitimerval
ew_timesetlo
g
_sec
_usecs
_sec
_msecs1000
_usecs
_msecs10001000L
ew_timesetit_i
tervaltv_sec
_sec
ew_timesetit_i
tervaltv_usec
_usecs
_msecs1
_sec
_msecs1000
_usecs
_msecs10001000L
ew_timesetit_valuetv_sec
_sec
ew_timesetit_valuetv_usec
_usecsretur
setitimerITIMER_REAL
ew_timesetNULL
fvoidshowI
formatio
tTimeiftTime1000000tTime0if1tTime50retur
move03显示时间pri
tw