GameDesign 板


LINE

※ 引述《IAMTCH (新的挑战)》之铭言: : 如题,因为本身想试着做游戏,於是前阵子去询问学校的老师, : 老师便给了我一个方向叫我试试看,但是我本身在这方面没什麽 : 经验,因此在这边请教各位,谢谢。 : 游戏内容: : 1.回合制寻宝游戏:玩家和电脑各有同等数量的棋子n(n为游戏开始时设定), : 每一回合中,双方轮流用一个棋子移动一步。棋子位置由 : 游戏开始後乱数放置於地图之中。 以我那老旧的笨逻辑来想...... 先建立一个阵列,例如 { 0, 0, 0, 0, 0, 0, 各位观众!看~~6 x 6! 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 嘘 嘘 嘘 0, 0, 0, 0, 0, 0, 嘘 嘘 0, 0, 0, 0, 0, 0, 嘘 嘘 0, 0, 0, 0, 0, 0 } 我是这样想的...... 0 代表的是零,没有东西的位置。 然後再将宝物放进去,例如代表宝物的是 2, 然後就把上面阵列看是要几个宝物随机放进去,把原本的 0 变成 2 。 (至於要怎样随机...... 若12宝物 / (6*6) = 1/3 出现机率,看程式有啥随机函式能用) 然後放棋子,怎麽放同上,只是要记得减机率的分母,至於要先放棋子再宝物随您, 或甚至[棋子+宝物]放不放一个随机,放哪种在一个随机也都好 ╮( ̄﹏ ̄)╭ : 2.运作方式:在方格地图中进行,地图里隐藏r个宝物(r为游戏开始时设定), : 一个棋子只能拿一个宝物。因此游戏的关键在於,当棋子 : 遇到同伴时(即在相临方格接触时)能够交换资料,得知其 : 他宝物地点,然後让身上没宝物的棋子去争取。 「...........」 现在才看到写说隐藏r个宝物 @#$%^&* 喔,前面忘了说,棋子啊...... 看要怎样定,我大概是玩家定 1,电脑定 -1 要移动时,是先选要动哪个,选定时以判定大於零...... 到这边我後悔啦~~ 我希望玩家 定成 3 电脑定成 -3 ...... 不喜欢?咬我啊 ╮(╯▽╰)╭ 然後玩家选定时判定是否大於 2 (其实当初选判定是否等於 1 也是可以啦~~人真是善变的动物......|||) 是的话,就准备移动罗~~ 我大概会先准备读入 4 个值备用,也就是选定棋子的上下左右座标的数值。 至於是哪个座标?也许您可以固定初始座标 ( x, y ),当往哪边就加减 x 或 y 哪边当原点就看个人罗,不过建议是四个角啦,这样另一边多远也比较好算。6 x 6 嘛 然後移动时确认是可移动位置才给移动,例如加绝对值後小於 3 (有绝对值这功能吧?) (此时...... 想起有人说过乘除是蛮耗时间的东西...... (心虚)喔,再说啦) 此时!我又後悔啦 XDDDDD 我希望~~空地座标的值是 1 (囧rz) 然後~~移动过去是将目标座标的值 *= 移动的物件 例如 移动的玩家棋子为 3,目标空地值是 1,移过去後 1 *= 3,所以就变 3 罗; 但若 移动的玩家棋子为 3,目标宝物值是 2,移过去後 2 *= 3,所以是变 6 的。 这下您可以了解我方才所下的伏笔了吧 (谜之声:真烂的方法) 囧rz 而电脑是 -3,所以都是负的...... 至於这逻辑好不好...... 乱想的,天知道 囧 而离开的原地,通通就都放空地 1 罗~~ 至於您说的交换资料?! 这方面就同前面回文,我是假设不存在的啦 (懒) 如是假设可转东西...... ( a 把宝物转到 b 上), 那就 b = a,a = 3 罗 (反正玩家就是 3 嘛) (←不过要写电脑就要改罗) 不过我可能会把转东西不列为[一步],为什麽?单纯觉得这样应该比较好写吧... ||| 好像这部份就完了...... 嗯,换下部份。 : 3.胜利条件:一方先取得过半的宝物数量即获胜。 : 不限制作语言,不过老师是提议我用Visual C++,但我本身比较熟flash(但也 : 不到做游戏的水准),因此希望各位高手能够建议我,这样的游戏该怎麽学习制 : 作比较好,谢谢。 胜利条件嘛~~就一个个座标判断大於 5 (或等於 6) 的有几个,有没有过半罗 判断就设在每次动作结束时呼叫的函式,用回圈从头扫到尾 里面用 if 或啥类似的判断说玩家有宝物的就哪个值++,电脑有宝物就另个值++ 当哪个值达一半则宣布哪边赢...... 就这样,ptt的历史又翻过了一页。 函式名称 () { float player = 0 ; // 这只是宣告两个存数量的 float com = 0 ; if ( 宝物数%2 != 0 ) // 判断奇偶数 { 宝物数++ ; } for ( int x = 0, x++, x <= 阵列的宽 ) { for ( int y =0, y++, y <= 阵列的高) { if ( 阵列名称[x][y] == 6 ) // 这是计算拥有宝物的 { player++ ; } else if ( 阵列名称[x][y] == -6 ) { com++ ; } if ( player >= 宝物数/2) // 这是判断胜利 { 啥结束游戏的函式 ; cout << "玩家获胜" << endl ; } else if ( com >= 宝物数/2) { 啥结束游戏的函式 ; cout << "电脑获胜" << endl ; } } } } (检查宝物奇偶数 跟 判断胜利 可独立出来再写成个函式) 至於要不要分档案写或是用啥 x.判断胜利 跟 y.判断胜利...... 还是那句:再说吧...... ||| ps: 那些啥数值、逻辑的仅供参考...... 不喜欢千万别勉强,好记好用较重要。 -- 之所以写这些有的没的, 纯粹因为自己过去没用功写个自我弥补 囧 反正我现在的程度刚好跟新手差不多, 写起来应该也刚好适合新手吧 Orz --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.141.141
1F:推 IAMTCH:谢罗 我会仔细想想的^^ 07/28 13:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP