回精華區
作者itoc, 信區: itoc
標題[功能] pal.c 麻吉類型
時間03/07/10
作者: itoc (風調雨順,國泰民安) 看板: plan
標題: [功能] 看見隱形名單
時間: Thu Jul 10 08:49:28 2003                          Updated: 2004/01/30

  朋友名單新增「麻吉」

: struct.h

#define PAL_BAD         0x02    /* 好友 vs 壞人 */
+ #define PAL_MATE      0x04    /* 麻吉 */

+ #define MATE_MASK     0x01000000

: pal.c:pal_item()

- prints("%6d %-3s%-14s%s\n", num, pal->ftype & PAL_BAD ? "X" : "",
-   pal->userid, pal->ship);
+ prints("%6d %-3s%-14s%s\n", num,
+   pal->ftype & PAL_BAD ? "X" :
+   pal->ftype & PAL_MATE ? "○" : "",
+   pal->userid, pal->ship);

: pal.c:pal_edit() 換新

void
pal_edit(pal, echo)
  PAL *pal;
  int echo;
{
  if (echo == DOECHO)
    memset(pal, 0, sizeof(PAL));
  vget(b_lines, 0, "友誼:", pal->ship, sizeof(pal->ship), echo);
#ifdef HAVE_BADPAL
  if (vans("壞人(Y/N)?[N] ") == 'y')
    pal->ftype = PAL_BAD;
  else
#endif
  if (vans("麻吉(Y/N)?[N] ") == 'y')
    pal->ftype = PAL_MATE;
  else
    pal->ftype = 0;
}

: pal.c:image_pal()

      do
      {
-       /* 若是壞人,存 -userno;若是好友,存 +userno */
-       *plist++ = (phead->ftype & PAL_BAD) ? -(phead->userno) : phead->userno;
+       /* 若是壞人,存 -userno;若是好友,存 +userno;
+          若是麻吉,存 userno+MASK */
+       *plist++ = (phead->ftype & PAL_BAD) ? -(phead->userno) :
+         (phead->ftype & PAL_MATE) ? phead->userno | MATE_MASK :
+         phead->userno;
      } while (++phead < ptail);

--
□ 本文章由 itocitoc.Dorm11.NCTU.edu.tw 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻