我要一个类似百战天虫的页面游戏
发射时炮弹速度太快了,而且我也不能通过键盘移动,请修改这两个问题
还有以下几个问题,1.游戏角色就是一个小方块,太单一,用户也无法知道角色目前的朝向。2.角色目前是浮在地形上的,角色的行进要贴合地形,要有和地形的碰撞检测,要增加跳跃功能。3角色被武器的子弹击中好要有击中效果特效,要会掉血,也要有子弹的碰撞检测
还有问题,1.子弹爆炸时,应该可以炸毁地形,改变地形。并且可以对玩家角色造成伤害。2.角色跳跃时前进距离太短了。3不同的武器子弹颜色应该有所区别,最好武器图标也能有所区别。3.发射角度和力度在游戏角色旁边必须有指示,并且上一回合调整好的角度,这一回合需要沿用
你的子弹碰撞检测策略是不是有问题啊?玩家1发射的子弹应该只对玩家2和地面有伤害啊,不能对玩家自己造成伤害啊
我打开游戏时报错了,Uncaught SyntaxError: /https:/6982a0d03c51f2ca1a00eeb5.yicaiai.com/dev/src/pages/Game.js: Unsyntactic continue. (489:25) 487 | // 修改说明:只对敌方蠕虫造成伤害,避免友军伤害 488 | worms.forEach(worm => { > 489 | if (!worm.isAlive) continue; | ^ 490 | 491 | // 修改说明:跳过发射者自己的蠕虫 492 | if (worm.playerId === owner) return; 你再改改
还是有问题,玩家角色发射的子弹为啥会还没飞出自生范围就爆炸了,它是撞到了什么东西爆炸的???这个问题必须解决掉,不然没法进行游戏
删除除了火箭筒以外的其他武器吧,这样可以缩短一点代码,而且发射子弹后还是没有碰到地面和敌人就触发了碰撞检测,你再好好思考一下这个碰撞检测的问题
子弹的碰撞检测还是有问题,依然是没有碰到任何物体还在空中飞行就爆炸了,你应该彻底放弃原先的碰撞检测算法,从根本上解决这个问题
很好,你很完美的解决了这个问题,现在还有两个问题:1.游戏结束后一方胜利之后的胜利画面不会显示了。2.需要加入机器人玩家功能,就是把p2玩家变成机器人,自动战斗。当p2玩家不是机器人时,你需要考虑两个玩家在同一个键盘上操作的问题,需要重新分配键位,需要有按键可以调节发射力度
你新的角色控制代码和老的角色控制代码有冲突,1.当我和AI角色对战时,轮到AI角色的回合,我依然可用通过键盘控制AI所控制的角色。2,p1角色用方向键盘控制发射角度时会失效,我觉得这和pvp时p2的键位有冲突,我建议在一个键盘上把p1和p2的控制键位彻底分开,p1集中在左边,p2集中在右边,你重构键盘控制代码吧。3,角色发射力量显示的浮点数位数太多了
1.玩家角色的血量空了,应该进入游戏结束画面。2.切换AI玩家和pvp时,应该就在当前画面刷新
1.玩家校色阵亡后,游戏结束画面你重构吧,刚改了还是有问题。2.玩家上一回合为角色设置好的发射力度和角度需要保存到下一回合
还有个很致命的问题,当角色发射第一枚炮弹后,用户可以疯狂点击发射按钮,从而实现一个回合内多发连续发射,这将严重破坏游戏平衡性
1.游戏角色跳跃时也要计算移动距离,跳跃也要受到每回合最大移动距离的限制。2.AI角色的行为好像有点奇怪,尽量让AI角色再智能一点
角色跳跃时报错:Game.js:649 Uncaught ReferenceError: jumpMoveCost is not defined at <anonymous>:847:33 at Array.map (<anonymous>) at <anonymous>:827:19 at basicStateReducer (react17-dom.development.js:15225:43) at updateReducer (react17-dom.development.js:15348:24) at updateState (react17-dom.development.js:15671:12) at Object.useState (react17-dom.development.js:16472:18) at useState (react17.development.js:1533:23) at Game (<anonymous>:93:21) at renderWithHooks (react17-dom.development.js:15015:20) at updateFunctionComponent (react17-dom.development.js:17386:22) at beginWork (react17-dom.development.js:19093:18) at HTMLUnknownElement.callCallback (react17-dom.development.js:3942:16) at Object.invokeGuardedCallbackDev (react17-dom.development.js:3991:18) at invokeGuardedCallback (react17-dom.development.js:4053:33) at beginWork$1 (react17-dom.development.js:23994:9) at performUnitOfWork (react17-dom.development.js:22809:14) at workLoopSync (react17-dom.development.js:22737:7) at renderRootSync (react17-dom.development.js:22700:9) at performSyncWorkOnRoot (react17-dom.development.js:22323:20) at react17-dom.development.js:11357:28 at unstable_runWithPriority (react17.development.js:2764:14) at runWithPriority$1 (react17-dom.development.js:11306:12) at flushSyncCallbackQueueImpl (react17-dom.development.js:11352:11) at flushSyncCallbackQueue (react17-dom.development.js:11339:5) at scheduleUpdateOnFiber (react17-dom.development.js:21923:11) at dispatchAction (react17-dom.development.js:16169:7) at <anonymous>:826:5 at <anonymous>:903:5 at gameLoop (<anonymous>:888:7) react17-dom.development.js:20115 The above error occurred in the <Game> component: at Game (<anonymous>:47:20) at n (https://www.yicaiai.com/js/lib/react17-router-dom.min.js:1:23724) at n (https://www.yicaiai.com/js/lib/react17-router-dom.min.js:1:25678) at main at div at Layout (<anonymous>:23:23) at t (https://www.yicaiai.com/js/lib/react17-router-dom.min.js:1:19747) at t (https://www.yicaiai.com/js/lib/react17-router-dom.min.js:1:26739) at App Consider adding an error boundary to your tree to customize error handling behavior. Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.,我建议你重构角色跳跃功能
还有两个问题;1.AI角色会调整发射角度和力量,但不会最后进行发射。2.我的角色和AI角色都会抽风 进入自动移动状态,并且移动距离会突破上限,突破上限后还能自动移动
还是有问题,AI角色的代码你直接重构吧
游戏时风向有问题,风力好像对子弹没有影响,每回合风向和风力斗应该是随机的
1. 风力范围改为(0-30)。2.AI角色还是会出现不发射的情况