📄 terminal.c
字号:
/* * Hunt * Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold * San Francisco, California */# include "hunt.h"# define TERM_WIDTH 80 /* Assume terminals are 80-char wide *//* * cgoto: * Move the cursor to the given position on the given player's * terminal. */cgoto(pp, y, x)register PLAYER *pp;register int y, x;{ if (x == pp->p_curx && y == pp->p_cury) return; sendcom(pp, MOVE, y, x); pp->p_cury = y; pp->p_curx = x;}/* * outch: * Put out a single character. */outch(pp, ch)register PLAYER *pp;char ch;{ if (++pp->p_curx >= TERM_WIDTH) { pp->p_curx = 0; pp->p_cury++; } (void) putc(ch, pp->p_output);}/* * outstr: * Put out a string of the given length. */outstr(pp, str, len)register PLAYER *pp;register char *str;register int len;{ pp->p_curx += len; pp->p_cury += (pp->p_curx / TERM_WIDTH); pp->p_curx %= TERM_WIDTH; while (len--) (void) putc(*str++, pp->p_output);}/* * clrscr: * Clear the screen, and reset the current position on the screen. */clrscr(pp)register PLAYER *pp;{ sendcom(pp, CLEAR); pp->p_cury = 0; pp->p_curx = 0;}/* * ce: * Clear to the end of the line */ce(pp)PLAYER *pp;{ sendcom(pp, CLRTOEOL);}/* * ref; * Refresh the screen */ref(pp)register PLAYER *pp;{ sendcom(pp, REFRESH);}/* * sendcom: * Send a command to the given user *//* VARARGS2 */sendcom(pp, command, arg1, arg2)register PLAYER *pp;register int command;int arg1, arg2;{ (void) putc(command, pp->p_output); switch (command & 0377) { case MOVE: (void) putc(arg1, pp->p_output); (void) putc(arg2, pp->p_output); break; case ADDCH: case READY: (void) putc(arg1, pp->p_output); break; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -