piggy.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 2,054 行 · 第 1/4 页
C
2,054 行
/* <SecCrypt CPL V3R05> */
/******************************************************************************/
// piggy room, test, by pickle.
// 1-17-98
/******************************************************************************/
// inherit and include
#include <ansi.h>
inherit ROOM;
/******************************************************************************/
// declare global variables.
// cards are each a mapping variable, with name, status (played?
// in hand? on table? collected?), worth, misc (pig? sheep?
// blood? doubler?).
mapping *CARDS=({
([]),
([ "name": HIB "黑桃A" NOR,
"suit": "spade",
"rank": 14,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃K" NOR,
"suit": "spade",
"rank": 13,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃Q" NOR,
"suit": "spade",
"rank": 12,
"status": "undealt",
"worth": -10000,
"misc": "pig",
]),
([ "name": HIB "黑桃J" NOR,
"suit": "spade",
"rank": 11,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃T" NOR,
"suit": "spade",
"rank": 10,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃9" NOR,
"suit": "spade",
"rank": 9,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃8" NOR,
"suit": "spade",
"rank": 8,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃7" NOR,
"suit": "spade",
"rank": 7,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃6" NOR,
"suit": "spade",
"rank": 6,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃5" NOR,
"suit": "spade",
"rank": 5,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃4" NOR,
"suit": "spade",
"rank": 4,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃3" NOR,
"suit": "spade",
"rank": 3,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "黑桃2" NOR,
"suit": "spade",
"rank": 2,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "红桃A" NOR,
"suit": "heart",
"rank": 14,
"status": "undealt",
"worth": -5000,
"misc": "blood",
]),
([ "name": HIR "红桃K" NOR,
"suit": "heart",
"rank": 13,
"status": "undealt",
"worth": -4000,
"misc": "",
]),
([ "name": HIR "红桃Q" NOR,
"suit": "heart",
"rank": 12,
"status": "undealt",
"worth": -3000,
"misc": "",
]),
([ "name": HIR "红桃J" NOR,
"suit": "heart",
"rank": 11,
"status": "undealt",
"worth": -2000,
"misc": "",
]),
([ "name": HIR "红桃T" NOR,
"suit": "heart",
"rank": 10,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃9" NOR,
"suit": "heart",
"rank": 9,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃8" NOR,
"suit": "heart",
"rank": 8,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃7" NOR,
"suit": "heart",
"rank": 7,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃6" NOR,
"suit": "heart",
"rank": 6,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃5" NOR,
"suit": "heart",
"rank": 5,
"status": "undealt",
"worth": -1000,
"misc": "",
]),
([ "name": HIR "红桃4" NOR,
"suit": "heart",
"rank": 4,
"status": "undealt",
"worth": -1,
"misc": "",
]),
([ "name": HIR "红桃3" NOR,
"suit": "heart",
"rank": 3,
"status": "undealt",
"worth": -1,
"misc": "",
]),
([ "name": HIR "红桃2" NOR,
"suit": "heart",
"rank": 2,
"status": "undealt",
"worth": -1,
"misc": "",
]),
([ "name": HIR "方片A" NOR,
"suit": "diamond",
"rank": 14,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片K" NOR,
"suit": "diamond",
"rank": 13,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片Q" NOR,
"suit": "diamond",
"rank": 12,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片J" NOR,
"suit": "diamond",
"rank": 11,
"status": "undealt",
"worth": 10000,
"misc": "sheep",
]),
([ "name": HIR "方片T" NOR,
"suit": "diamond",
"rank": 10,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片9" NOR,
"suit": "diamond",
"rank": 9,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片8" NOR,
"suit": "diamond",
"rank": 8,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片7" NOR,
"suit": "diamond",
"rank": 7,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片6" NOR,
"suit": "diamond",
"rank": 6,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片5" NOR,
"suit": "diamond",
"rank": 5,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片4" NOR,
"suit": "diamond",
"rank": 4,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片3" NOR,
"suit": "diamond",
"rank": 3,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIR "方片2" NOR,
"suit": "diamond",
"rank": 2,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花A" NOR,
"suit": "club",
"rank": 14,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花K" NOR,
"suit": "club",
"rank": 13,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花Q" NOR,
"suit": "club",
"rank": 12,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花J" NOR,
"suit": "club",
"rank": 11,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花T" NOR,
"suit": "club",
"rank": 10,
"status": "undealt",
"worth": 5000,
"misc": "doubler",
]),
([ "name": HIB "草花9" NOR,
"suit": "club",
"rank": 9,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花8" NOR,
"suit": "club",
"rank": 8,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花7" NOR,
"suit": "club",
"rank": 7,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花6" NOR,
"suit": "club",
"rank": 6,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花5" NOR,
"suit": "club",
"rank": 5,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花4" NOR,
"suit": "club",
"rank": 4,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花3" NOR,
"suit": "club",
"rank": 3,
"status": "undealt",
"worth": 0,
"misc": "",
]),
([ "name": HIB "草花2" NOR,
"suit": "club",
"rank": 2,
"status": "undealt",
"worth": 0,
"misc": "",
]),
});
int CARDNO=sizeof(CARDS)-1;
// these two are for updating the table when players play cards.
// if they want to see the whole thing, show FULL, otherwise show
// SHORT, difference being short is only cards on table, and full
// is those sold and those played.
string COLLECT_STATE = "
%s
"+HIC+"%|12s"+NOR+"
┌────────┐
│ │
│ │
│ │
"+HIC+"%+12s"+NOR+"│ │"+HIC+"%-12s"+NOR+"
│ │
│ │
│ │
└────────┘
"+HIC+"%|12s"+NOR+"
";
string PIGSTATE_FULL = "
%s
"+HIC+"%|12s"+NOR+"
┌────────┐
│%s│
┌─┼────────┼─┐
│%2s│ %6s │%2s│
│ │ │ │
│%2s│ │%2s│
"+HIC+"%+12s"+NOR+"│ │%6s %6s│ │"+HIC+"%-12s"+NOR+"
│%2s│ │%2s│
│ │ │ │
│%2s│ %6s │%2s│
└─┼────────┼─┘
│%s│
└────────┘
"+HIC+"%|12s"+NOR+"
";
string PIGSTATE_SHORT = "
%s
"+HIC+"%|12s"+NOR+"
┌────────┐
│ %6s │
│ │
│ │
"+HIC+"%+12s"+NOR+"│%6s %6s│"+HIC+"%-12s"+NOR+"
│ │
│ │
│ %6s │
└────────┘
"+HIC+"%|12s"+NOR+"
";
string* DIR=({ "east", "north", "west", "south",});
string* SUIT=({"spade", "heart", "diamond", "club",});
int LIMIT = -5000;
mapping CSUIT=([
"spade": HIB"黑桃"NOR,
"heart": HIR"红桃"NOR,
"diamond": HIR"方片"NOR,
"club": HIB"草花"NOR,
]);
mapping CDIR = ([
"east" : "东",
"north": "北",
"west" : "西",
"south": "南",
]);
mapping SCARD=([
"pig": HIB,
"blood": HIR,
"sheep": HIR,
"doubler": HIB,
]);
mapping NCARD=([
"pig": 3,
"blood": 14,
"sheep": 30,
"doubler": 44,
]);
mapping CCARD=([
"pig": "猪("+HIB+"黑桃Q"+NOR+")",
"sheep": "羊("+HIR+"方片J"+NOR+")",
"doubler": "变压器("+HIB+"草花T"+NOR+")",
"blood": "血("+HIR+"红桃A"+NOR+")",
]);
string *CNUM = ({"?", "1", "2", "3", "4", "5", "6",
"7", "8", "9", "T", "J", "Q", "K", "A", });
int NUM = 4;
/******************************************************************************/
// following will change.
// game info...
mapping GAMEINFO=([
"round": 0,
"rlead":"",
"next":"",
"suit":"",
"spade": 0,
"heart": 0,
"diamond": 0,
"club": 0,
]);
string PIG_OWNER="";
mapping SCORING=([
"sitting": ([ "east": 0,
"west": 0,
"south": 0,
"north": 0, ]),
"hand" : ([ "east": 0,
"west": 0,
"south": 0,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?