分享发现 [伡栕] 卡牌游戏的基本思路和框架 build1.0 测试版

伡栕 · 2018年01月04日 · 最后由 轻狂大帝 回复于 2019年02月10日 · 943 次阅读
本帖已被设为精华帖!

#卡牌游戏 回合制卡牌游戏的基本框架,设定为一个玩家和一个电脑,你也可以根据你的喜好和实际需要调整电脑npc 的数量。 ##准备 ###设定游戏变量 =: MD. h=0 h=0表明是你的回合,h=1表明是对手的回合。 =: MD.a=0 一个辅助变量 ###设定卡牌属性 设定卡牌名称 =: var card1=第一张牌的名称 =: var card2=第二张牌的名称 =: …… =: var card n=第n 张牌的名称 设置初始手牌数量 =: MD. cardnum=手牌数量 MD. vp0=对手 设置每回合摸牌数量 =: MD. cardinc=摸牌数量 设置手牌上限 =: MD. cardmax=手牌上限 ###设定人物属性 根据实际需要来添加,例如: 我方角色影响力,控制力,胜利点数: =: MD. inf=初始影响力 =: MD. cont=初始控制力 =: MD. vp=当前胜利点数 敌方角色同理。 =: MD. inf0=对手初始影响力 =: MD. cont0=对手控制力 =:MD. vp0=对手胜利点数 ###设置卡牌功能 根据个人喜好,例如: card1打出if (MD.h=0) game_jumpto('你的回合');else game_jumpto('对手回合');(/j) if (cont>=5) MD.vp=MD.vp+2;else MD.cont=5;(/j) 跳:功能执行完毕 对手if (cont0>=5) MD.vp0=MD.vp0+2;else MD.cont0=5;(/j) 跳:功能执行完毕 如果控制力达到5那么vp+2,否则控制力提升至5. [功能执行完毕] 跳:胜负判定 ##开始游戏。 你的影响力:(j)MD.inf(/j) 你的控制力:(j)MD.cont(/j) 你的胜利点数:(j)MD.vp(/j) [发牌] 根据你需要的手牌数量来编辑卡牌槽。 MD. c1=rnd_int(1,n) MD. c2=rnd_int(1,n) MD. c3=rnd_int(1,n) c1,c2,c3是卡牌槽的序号,假设只有三个卡牌槽。 123…n 都是卡牌序号,例如card1对应序号1 跳:玩家回合 [玩家回合] 选:c1出牌

: game_jumpto('card(j)MD.c1(/j)打出') 选:c2出牌 : game_jumpto('card(j)MD.c2(/j)打出') 选:c3出牌 : game_jumpto('card(j)MD.c3(/j)打出') 选:结束回合 假设每回合结束摸1张牌 [结束回合] if (MD.c1=0&&MD.a=0) MD.a=1,MD.c1=rnd_int(1,n),game_jumpto('电脑回合') c2,c3同上。 [电脑回合] : MD.h=1 电脑相当于每回合只出1张牌,除了第一回合出3张牌,所以电脑无需摸牌,直接执行功能即可。 =: MD.computer=rnd_int(1,n) : game_jumpto ('card(j)MD.computer(/j)'打出) [胜负判定] 设定一个胜利条件即可,例如: if (MD.vp>MD.vp0&&MD.vp-MD.vp0>=5) game_jumpto('玩家胜利');else game_jumpto('发牌') 如果vp 大于对方5点则玩家胜利,否则继续摸牌或重新洗牌(本例重新洗牌,你可以根据喜好而定。) [玩家胜利] 你胜利了! #版权所有 伡栕 (其实你们随便拿着用我都不介意的)

共收到 3 条回复

把程序附上来

有这个纸牌游戏代码么,能不能看看

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册