作者jd.bbs@bbs.eo.nhit.edu.tw (jd妹代打中), 看板: plan
標題[修改] 鍊金術程式(加入鍊金紀錄)
時間光域小族 (Wed Nov 27 15:36:18 2002) Updated: 2005/11/29
小弟所管的BBS站剛由MagicBBS系統轉為Maple-itoc版
我試著把某些原Magic上的一些遊戲移植到Maple-itoc上
適合 金:銀 = 1:1000000 的金融制度
: global.h
#ifdef HAVE_BUY
#define FN_RUN_BANK_LOG "run/bank.log" /* 匯錢記錄 */
#endif
+ #ifdef HAVE_GAME
+ #define FN_RUN_MAKEGOLD_LOG "run/makegold.log" /* jd.021127: 煉金術紀錄 */
+ #endif
: account.c:main()
#ifdef HAVE_BUY
/* itoc.020831: 把 匯錢記錄 放入 [BN_SECURITY] */
sprintf(title, "%s匯錢記錄", date);
keeplog(FN_RUN_BANK_LOG, BN_SECURITY, title, 2);
#endif
+ #ifdef HAVE_GAME
+ /* jd.021127: 把 鍊金記錄 放入 [BN_SECURITY] */
+ sprintf(title, "%s鍊金記錄", date);
+ keeplog(FN_RUN_MAKEGOLD_LOG, BN_SECURITY, title, 2);
+ #endif
: so/Makefile
SO = ... alchemy.so
: so/alchemy.c
/*-------------------------------------------------------*/
/* alchemy.c ( NTHU CS MapleBBS Ver 3.10 ) */
/*-------------------------------------------------------*/
/* target : 煉金術 */
/* create : 02/11/27 */
/* update : / / */
/* author : jd.bbs@bbs.nhit.edu.tw */
/*-------------------------------------------------------*/
#include "bbs.h"
#ifdef HAVE_GAME
#define mouts(x,y,s) { move(x, y); outs(s); }
int
main_alchemy()
{
int make_gold, randnum;
srand(time(NULL) + cuser.userno);
while(1)
{
vs_bar("煉金術");
mouts(2, 0, "只需花費 50000 銀幣");
mouts(3, 0, "就有機會得到金幣!");
move(4, 0);
prints("\033[1;30m您目前有 %d 銀 %d 金 \033[m", cuser.money, cuser.gold);
if (vans("要扣掉 50000 銀幣來煉金嗎(Y/N)?[N] ") != 'y')
break;
if (cuser.money < 50000)
break;
cuser.money -= 50000;
mouts(6, 15, "嘿嘿~錢不太夠了,來變一點錢吧~");
mouts(7, 15, "統御四方的金色之龍啊~");
mouts(8, 15, "遵從您的光輝,請借我力量~");
sleep(1);
make_gold = 0;
randnum = rnd(120);
if (randnum < 3)
{
make_gold = 1 + randnum;
cuser.gold += make_gold;
mouts(9, 15, "給我更多的金幣$吧~");
move(11,15);
prints("耶~運氣真不錯~煉得了 %d 金~", make_gold);
}
else if (randnum < 20)
{
mouts(9, 15, "ZZzz~");
mouts(11, 15, "咦~怎麼咒語念到一半~睡著了啦~~嗚嗚~");
}
else if (randnum < 40)
{
mouts(9, 15, "我要…我要…我要金幣啦…");
mouts(11, 15, "咦?金幣呢?");
}
else if (randnum < 60)
{
mouts(9, 15, "<\033[1;33m金色之龍\033[m>你找我嗎?");
mouts(11,15, "<\033[1;33m金色之龍\033[m>沒空,不要吵!");
}
else
{
mouts(9, 15, "哈哈~快給我錢吧~");
mouts(10, 15, "(等待~)");
mouts(11, 15, "(等待~)");
mouts(12, 15, "咦~怎麼甚麼也沒發生...:Q");
}
/* jd.021127: 加入煉金記錄,以防大量暴力煉金 */
if (make_gold) /* 煉金成功才記錄 */
{
char buf[80];
sprintf(buf, "%-13s煉得 %d 金 (%s)\n", cuser.userid, make_gold, Now());
f_cat(FN_RUN_MAKEGOLD_LOG, buf);
}
vmsg("煉金好累喔");
}
return 0;
}
#endif /* HAVE_GAME */
: menu.c
+ "bin/alchemy.so:main_alchemy", 0, - M_GAME,
+ "Alchemy ♂ 煉金大法 ♀",
--
□ Origin: 光域小族 - bbs.eo.nhit.edu.tw
□ From: sw107-199.adsl.seed.net.tw