mover.c
来自「TCP-IP红宝书源代码」· C语言 代码 · 共 59 行
C
59 行
#include <conf.h>
#include <kernel.h>
#include <io.h>
#include <tty.h>
#include "game.h"
int wormx, wormy;
mover()
{
int oldx, oldy;
int direc;
direc = EAST;
wormx=2;
wormy=10;
oldx=wormx;
oldy=wormy;
newsend(pidplotter,3,wormx,wormy,'#');
while (TRUE) {
switch (timedgetchar(10)) {
case NORTH: direc = NORTH; break;
case SOUTH: direc = SOUTH; break;
case EAST: direc = EAST; break;
case WEST: direc = WEST; break;
case NE: direc = NE; break;
case NW: direc = NW; break;
case SE: direc = SE; break;
case SW: direc = SW; break;
case SIT: direc = SIT; break;
case QUIT: send(pidmain,0); return;
}
switch (direc) {
case SIT: continue;
case NORTH: if (wormy > 1) --wormy; break;
case SOUTH: if (wormy < YMAXFIELD) ++wormy; break;
case WEST: if (wormx > 1) --wormx; break;
case EAST: if (wormx < XMAXFIELD) ++wormx; break;
case NE: if (wormy>1 && wormx<XMAXFIELD) {
--wormy; ++wormx; } break;
case NW: if (wormy>1 && wormx>1) {
--wormy; --wormx; } break;
case SE: if (wormy<YMAXFIELD && wormx<XMAXFIELD) {
++wormy; ++wormx; } break;
case SW: if (wormy<YMAXFIELD && wormx>1) {
++wormy; --wormx; } break;
}
newsend(pidplotter,3,oldx,oldy,' ');
newsend(pidplotter,3,wormx,wormy,'#');
oldx=wormx;
oldy=wormy;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?