From e443776eb7025c569df22f801965f0ec84798e35 Mon Sep 17 00:00:00 2001 From: jack Date: Sun, 2 May 2004 21:58:08 +0000 Subject: merge trunk to branches and corrected confliction git-svn-id: http://opensvn.csie.org/pttbbs/branches/Jaky.i18n@1919 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/chicken.c | 83 ++++++++++++++++++++++----------------------------------- 1 file changed, 32 insertions(+), 51 deletions(-) (limited to 'mbbsd/chicken.c') diff --git a/mbbsd/chicken.c b/mbbsd/chicken.c index eeb5b1f9..2c63f274 100644 --- a/mbbsd/chicken.c +++ b/mbbsd/chicken.c @@ -81,25 +81,23 @@ static int new_chicken() { chicken_t *mychicken = &cuser.mychicken; - char buf[150]; - int price; + int price, i; clear(); move(2, 0); outs(SHM->i18nstr[cuser.language][867]); - getdata_str(7, 0, SHM->i18nstr[cuser.language][868], buf, 3, LCECHO, "0"); + i = getans(SHM->i18nstr[cuser.language][868]); - buf[0] -= 'a'; - if (buf[0] < 0 || buf[0] > NUM_KINDS - 1) + i -= 'a'; + if (i < 0 || i > NUM_KINDS - 1) return 0; - mychicken->type = buf[0]; + mychicken->type = i; reload_money(); price = egg_price[(int)mychicken->type]; if (cuser.money < price) { - prints(SHM->i18nstr[cuser.language][869], price); - refresh(); + vmsg(SHM->i18nstr[cuser.language][869], price); return 0; } vice(price, SHM->i18nstr[cuser.language][870]); @@ -107,10 +105,9 @@ new_chicken() getdata(8, 0, SHM->i18nstr[cuser.language][871], mychicken->name, sizeof(mychicken->name), DOECHO); - snprintf(buf, sizeof(buf), - SHM->i18nstr[cuser.language][872], cuser.userid, - mychicken->name, chicken_type[(int)mychicken->type], ctime(&now)); - log_file(CHICKENLOG, buf, 1); + log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][872], + cuser.userid, + mychicken->name, chicken_type[(int)mychicken->type], ctime(&now)); mychicken->lastvisit = mychicken->birthday = mychicken->cbirth = now; mychicken->food = 0; mychicken->weight = time_change[(int)mychicken->type][WEIGHT] / 3; @@ -359,12 +356,10 @@ ch_buyitem(int money, char *picture, int *item, int haveticket) else demoney(-money * num); show_file(picture, 5, 14, NO_RELOAD); + pressanykey(); } else { - move(b_lines - 1, 0); - clrtoeol(); - outs(SHM->i18nstr[cuser.language][903]); + vmsg(SHM->i18nstr[cuser.language][903]); } - pressanykey(); } static void @@ -402,19 +397,16 @@ static void ch_kill() { chicken_t *mychicken = &cuser.mychicken; - char buf[150], ans[4]; + int ans; - snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][904], - chicken_type[(int)mychicken->type]); - getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N"); - if (ans[0] == 'y') { + ans = getans(SHM->i18nstr[cuser.language][904]); + if (ans == 'y') { vice(100, SHM->i18nstr[cuser.language][905]); more(CHICKEN_PIC "/deadth", YEA); - snprintf(buf, sizeof(buf), + log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][906], cuser.userid, mychicken->name, chicken_type[(int)mychicken->type], ctime(&now)); - log_file(CHICKENLOG, buf, 1); mychicken->name[0] = 0; } } @@ -443,8 +435,7 @@ ch_sell() int money = (age * food_price[(int)mychicken->type] * 3 + (mychicken->hp_max * 10 + mychicken->weight) / time_change[(int)mychicken->type][HP_MAX]) * 3 / 2 - - mychicken->sick; - char buf[150], ans[4]; + mychicken->sick, ans; if (money < 0) money = 0; @@ -466,14 +457,12 @@ ch_sell() pressanykey(); return 0; } - snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][910], age, - chicken_type[(int)mychicken->type], money); - getdata_str(23, 0, buf, ans, sizeof(ans), DOECHO, "N"); - if (ans[0] == 'y') { - snprintf(buf, sizeof(buf), SHM->i18nstr[cuser.language][911], - cuser.userid, mychicken->name, - chicken_type[(int)mychicken->type], money, ctime(&now)); - log_file(CHICKENLOG, buf, 1); + ans = getans(SHM->i18nstr[cuser.language][910], age, + chicken_type[(int)mychicken->type], money); + if (ans == 'y') { + log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][911], + cuser.userid, mychicken->name, + chicken_type[(int)mychicken->type], money, ctime(&now)); mychicken->lastvisit = mychicken->name[0] = 0; passwd_update(usernum, &cuser); more(CHICKEN_PIC "/sell", YEA); @@ -610,7 +599,6 @@ deadtype(chicken_t * thechicken) { chicken_t *mychicken = &cuser.mychicken; int i; - char buf[150]; if (thechicken->hp <= 0) /* hp用盡 */ i = 1; @@ -627,12 +615,10 @@ deadtype(chicken_t * thechicken) return 0; if (thechicken == mychicken) { - snprintf(buf, sizeof(buf), - SHM->i18nstr[cuser.language][912], - cuser.userid, thechicken->name, - chicken_type[(int)thechicken->type], - ctime(&now)); - log_file(CHICKENLOG, buf, 1); + log_file(CHICKENLOG, 1, + SHM->i18nstr[cuser.language][912], + cuser.userid, thechicken->name, + chicken_type[(int)thechicken->type], ctime(&now)); mychicken->name[0] = 0; passwd_update(usernum, &cuser); } @@ -679,19 +665,16 @@ static void ch_changename() { chicken_t *mychicken = &cuser.mychicken; - char buf[150], newname[20] = ""; + char newname[20] = ""; getdata_str(b_lines - 1, 0, SHM->i18nstr[cuser.language][913], newname, 18, DOECHO, mychicken->name); if (strlen(newname) >= 3 && strcmp(newname, mychicken->name)) { - snprintf(buf, sizeof(buf), - SHM->i18nstr[cuser.language][914], - cuser.userid, mychicken->name, - chicken_type[(int)mychicken->type], - newname, ctime(&now)); strlcpy(mychicken->name, newname, sizeof(mychicken->name)); - log_file(CHICKENLOG, buf, 1); + log_file(CHICKENLOG, 1, SHM->i18nstr[cuser.language][914], + cuser.userid, mychicken->name, + chicken_type[(int)mychicken->type], newname, ctime(&now)); } } @@ -880,20 +863,18 @@ chickenpk(int fd) memcpy(&ouser, &xuser, sizeof(userec_t)); reload_chicken(); if (!ochicken->name[0] || !mychicken->name[0]) { - outmsg(SHM->i18nstr[cuser.language][925]); /* Ptt:妨止page時把寵物賣掉 */ bell(); - refresh(); + vmsg(SHM->i18nstr[cuser.language][925]); /* Ptt:妨止page時把寵物賣掉 */ add_io(0, 0); close(fd); unlockutmpmode(); - sleep(1); return 0; } show_chicken_data(ochicken, mychicken); add_io(fd, 3); /* 把fd加到igetch監視 */ while (1) { r = rand(); - ch = igetkey(); + ch = igetch(); getuser(mateid); memcpy(&ouser, &xuser, sizeof(userec_t)); reload_chicken(); -- cgit v1.2.3