作者itoc.bbs@processor.tfcis.org (1999 Commencement) 看板: plan
標題Re: [功能] 水球系統
時間XEON (Sat, 28 Jun 2003 09:12:00 +0800 (CST)) Updated: 2005/03/09
※ 引述《Frequency (頻率)》之銘言:
> 而是改成...如果我回了bmw_pos目前的水球...
> 下一次call bmw_display()時...星號會變成"ˇ"...
> 也就是說...回過的水球會變成打勾...
: struct.h // 抓 1-bit 給 replied
typedef struct
{
time_t btime;
UTMP *caller; /* who call-in me ? */
int sender; /* calling userno */
int recver; /* called userno */
char userid[IDLEN + 1 + 2]; /* itoc.010529: 保留 2 byte 給廣播符號 > */
- char msg[69]; /* 水球 */
+ char msg[68]; /* 水球 */
+ char replied; /* 1: 已回水球 */
} BMW; /* bbs message write */
: bmw.c:bmw_edit()
if (vans(fpath) != 'n')
{
int i;
+ if (bbsmode == M_BMW_REPLY)
+ {
+ BMW *benz;
+
+ /* ^R 回過的水球標記已回 */
+ benz = &bmw_lslot[bmw_pos];
+ benz->replied = 1;
+ }
bmw->caller = cutmp;
bmw->sender = cuser.userno;
strcpy(bmw->userid, userid = cuser.userid);
...
...
+ bmw->replied = 0;
time(&bmw->btime);
usr_fpath(fpath, userid, fn_bmw);
rec_add(fpath, bmw, sizeof(BMW));
: bmw.c 版面自行調整
#define BMW_FORMAT "\033[1;33;46m★%s \033[37;45m %s \033[m" /* 收到的水球 */
#define BMW_FORMAT2 "\033[1;33;41m☆%s \033[34;47m %s \033[m" /* 送出的水球 */
+ #define BMW_FORMAT4 "\033[1;33;46mˇ%s \033[37;45m %s \033[m" /* 已回覆 */
: bmw.c:bmw_display()
for (; max >= 0; max--)
{ /* 從較新的水球往下印 */
bmw = &bmw_lslot[max];
move(i, 0);
clrtoeol();
- prints(" " BMW_FORMAT, bmw->userid, bmw->msg);
+ prints(bmw->replied ? " " BMW_FORMAT4 : " " BMW_FORMAT,
+ bmw->userid, bmw->msg);
i++;
}
--
=[﹎:�摃�◣��:﹎ Origin ]|[ �吨O�痐� processor.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[ itoc.Dorm11.NCTU.edu.tw ]|[���插�﹊:]=