跳一跳

作者: Luxin23 | 来源:发表于2018-03-03 15:40 被阅读146次

最近我们也做了一个跳一跳的小游戏。

我们的跳一跳是多人联网一同比赛的。

这个跳的过程我们是由服务器来做的。

跳一跳

如图,我们的平台大小各不同。我们知道玩家当前的位置和玩家要跳跃的距离,根据这个我们要求出玩家的目标点。为了尽可能的跳到下一个平台上,所以我们需要朝着下一个平台的中心点跳,这里用到了方向向量的概念。

如果我们把玩家的位置坐标表示为{x0, y0},下一个平台的中心坐标为{x1,y1}。玩家跳跃距离为Len

那么我们计算玩家的的目标位置:

get_e(X0, Y0, X1, Y1) ->
  X2 = X0 - X1,
  Y2 = Y0 - Y1,
  math:sqrt(X2 * X2 + Y2 * Y2).

get_e_x_y(X0, Y0, X1, Y1) ->
  E = get_e(X0, Y0, X1, Y1) ,
  XX = X1 - X0,
  YY = Y1 - Y0,
  case E =:= 0 of
      true -> {0, 0};
      _ -> {XX / E, YY / E}
  end.

get_x_y(Len, X0, Y0, X1, Y1) ->
  {X2, Y2} = get_e_x_y(X0, Y0, X1, Y1),
  X = X0 + Len * X2,
  Y = Y0 + Len * Y2,
  {X, Y}.

计算出玩家跳跃后的目标点,我们要判断玩家是否有落在下一个平台上或者是落在当前平台上,这个就比较简单了。直接计算出玩家跳跃后的点与两个平台中心点的距离,如果小于两个平台的半径,表示它落在了平台上,反之没有在平台上。

这个应该还算是简单。

架构

这个有点类似LOL。不过我只有两个进程

匹配进程 -> 比赛进程。

玩家首选进入到匹配进程,由匹配进程进行匹配,挑选出合适的玩家,然后新起一个比赛进程,以后这些玩家都和这个比赛进程通讯。由比赛进程完成当场比赛的所有工作,比赛结束,这个比赛进程当然也就被回收掉啦。

最后,我觉得这个游戏不好玩啊......好无聊

相关文章

  • 微信“跳一跳”,暴露了你的感情危机

    最近,流行着一股“跳一跳”风。 课间休息跳一跳,大脑好放松。 宿舍床上跳一跳,晚上睡的香。 办公室里跳一跳,小心点...

  • 跳一跳

    我这几天在玩小程序里的跳一跳游戏,几番努力都没有儿子跳的步数多。或许是自己太在意,用劲小了掉下去了,用劲大了跳过了...

  • 跳一跳

    有这样一件事,相信大家都知道微信上“跳一跳”这个小程序,有个人每次都能有很高的分数,而另一个人,分数怎么都提不上去...

  • 跳一跳

    在朋友圈问了个问题:玩儿跳一跳的时候你在想什么,一个朋友答说思考人生。 人生我倒没思考,玩儿的时候一直努力让自己专...

  • 跳一跳

  • 跳一跳

  • 跳一跳

    最近我们也做了一个跳一跳的小游戏。 我们的跳一跳是多人联网一同比赛的。 这个跳的过程我们是由服务器来做的。 如图,...

  • 跳一跳

    无聊的时候玩跳一跳,本来玩不了多少,但幸运乃至到了110,而童鞋则是138,我还在玩儿,他说道:你还玩干嘛呀?是要...

  • 跳一跳

    2017年的末尾,腾讯发布了小游戏,而其中最让人欲罢不能的 ,当属跳一跳了 。今天 就来给大家分享一下如何用pyt...

  • 跳一跳

    今天我有一件好玩的事,就是我玩了跳一跳,这个游戏可好玩了只要在手机屏幕上点的时间越多那个小人就跳的越远不过他要在每...

网友评论

    本文标题:跳一跳

    本文链接:https://www.haomeiwen.com/subject/xqwtfftx.html