Friends——一个简单的Processing小游戏

背景前言


人类永远是矛盾的个体,我们一边喜爱着无垠的夜空,一边又恐惧着深邃的孤独…

在无边无际的的黑夜中,每一个光点都是一个孤独的个体,他们本应活在自己的循环里,然而却有一簇小小的光环,不愿活在这永不交集的世界,请帮助他找到所有的Friends,还有…小心那些白色的飞驰而过的捕猎者…他们…不喜欢Friends…

玩法介绍


点击 START 字符串进入游戏,一簇围绕你鼠标箭头旋转的粒子就是你要操控的角色,请在屏幕中靠近其他光团来让他们加入你,游戏的目标是获得3000个Friends,这一数量将显示于屏幕左上角。

你可以通过按住鼠标左键/右键来收缩你的Friends,这样将更有利于你躲避捕猎者的攻击,但请注意,你不能一直按住鼠标,当左上角的能量槽耗尽,你会受到惩罚…

代码架构


完整代码贴在了另一篇博客:https://blog.csdn.net/qq_41645236/article/details/89678507

代码主体为:GameStart():游戏初始画面 GameMain():游戏主体程序 GameOver():播放结束动画,这三个部分,整个程序最重要的的思想受iprocessing示例的启发:放弃background(255)清屏,转而采用绘制一个rect(0,0,width,height);全屏的矩形,两者看起来没有什么不同,然而配合fill(2,2,2,15);选择一个透明的黑色便能呈现出尾迹的效果。

清屏语句:

fill(11,100);
rect(0,height/2-130,width,127);

粒子旋转参考了iprocessing的示例,只是一个简单的利用三角函数画圆,通过按时间增加角度来达到旋转目的,而粒子垂直移动更是简单的,按照时间提高y轴的坐标即可完成,整个程序使用了大量的随机数组,使所有粒子的运动显得独一无二。

垂直移动粒子程序:

void lizivertical(){pushMatrix();for(int i = 0;i<width;i=i+2){moriangle[i] += doriangle[i];v[i].lerp(i, sin(moriangle[i]*0.1)*(suijir[i]+height),0,easing[i]);fill(c[i]);ellipse(v[i].x, v[i].y, pointr[i],pointr[i]);}popMatrix();
}

捕猎者的运动逻辑参考了《代码本色》相关内容,运用了0章随机分布,1章向量以及2章力方面的思想,程序使用了NOC_2_6部分的代码,旨在通过引力来模拟一个更加真实的捕猎者:他们不会径直地向你冲来,却总会尾随你的路径逼近你。

随机数初始化(有删减)函数:

void chushihua(){for(int i =0;i<maxnum-1;i++){c[i] = color(random(1,255),random(1,255),random(100,255));if(i%10 == 0){pointr[i] = random(2.0)+1.0;}else{pointr[i] = random(2.0);}moriangle[i] = oriangle[i]/180*PI;chuxianx[i] = random(width-60)+30;chuxiany[i] = random(height-60)+30;}
}

值得一提的是,为了方便调试,我写了几个作弊按键,方便游戏直接通关,请适当使用,增加游戏乐趣。

键盘控制代码如下:

void keyPressed() {if (key == '1') {r++; }if (key == '2') { r--;}if (key == '3') {num+=10; }if (key == '4') {num-=10;}if (key == '5') {ranger+=10;}if (key == '6') {ranger-=10;}
}

参考文献

程序灵感来源于processing编程艺术网站:http://iprocessing.cn/
代码参考了《自然代码》示例相关内容:https://github.com/nature-of-code/noc-examples-processing

Friends——一个简单的Processing小游戏相关推荐

  1. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

  2. 用pygame做一个简单的python小游戏---贪吃蛇

    用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...

  3. 用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...

  4. 用pygame做一个简单的python小游戏---生命游戏

    用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...

  5. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...

  6. 做一个简单的java小游戏--单机版五子棋

    做一个简单的java小游戏–单机版五子棋 学了java有一段时间了,今天就来搞一个简单的单机版五子棋游戏. 实现功能:那必须能进行基础的输赢判断.还有重新开始的功能,悔棋的功能,先手设置的功能和退出的 ...

  7. 一个简单的纸牌小游戏

    一个简单的纸牌小游戏 初始化页面布局 function initView(){var html = html2 = '';for(var i=1;i<=10;i++){html += '< ...

  8. 制作一个简单的switch小游戏

    好的,那么,我们可以这样来制作一个简单的 switch 小游戏: 首先,我们需要先引入所需的库,如 stdio.h 和 stdlib.h. 接着,我们可以使用 printf 和 scanf 函数来输出 ...

  9. 做一个简单的java小游戏--贪吃蛇

    做一个简单的java小游戏–贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/detail ...

最新文章

  1. Mask-RCNN技术解析
  2. 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
  3. 如何使用Azure API管理服务?
  4. 知乎热议:计算机专业钱景究竟如何?
  5. python websocket库 安装_Python WebSocket
  6. Java基础篇:泛型与类型擦除
  7. 【Linux】一步一步学Linux——unset命令(202)
  8. vue created 调用方法_vue 基础-生命周期 lifecycle 的执行顺序和作用
  9. php session 释放,php中删除Session和销毁Session的方法
  10. Github Star 8.4K,超级好用的OCR数据合成与半自动标注工具,强烈推荐!
  11. ALGORITHMS
  12. 分析了 Stack Overflow、Reddit 等 9 个榜单,Python 第一的地位稳了!
  13. h5首页加载慢_Webview加载H5优化小记
  14. [Spring-cloud-eureka]使用 gradle, spring boot,Spring cloud Eureka 搭建服务注册中心
  15. dnsever 邮件记录
  16. oracle密码过期修改
  17. 三极管单级放大器输入输出阻抗
  18. 关于计算机的英语笑话,最经典的英语笑话,戳中你的笑点了吗?
  19. node-addon-api 的简单使用,c++数值、字符串、对象、数组转化为js可用数据。
  20. 你的快递“动”了吗,快递受阻,缺的不止快递小哥

热门文章

  1. vivoy12 android 10更新,vivo OriginOS新系统如何更新 originos系统更新方法
  2. 单元测试 断言值为null_如何通过使用值断言编写更强大的单元测试
  3. RXXW300/汇川MD500变频器MODBUS通信应用指导手册
  4. 开疆智能CANOpen转PROFINET网关连接汇川变频器案例
  5. Blender建模模块:匕首类模型的建模思路
  6. 多层面螺旋CT图像后处理技术
  7. 初学者用什么编写c语言_编写初学者级教程
  8. SharePoint 中关于event receivers的讨论
  9. 诺基亚一个暗箱操作,给华为喂了口九转大肠。。
  10. 零基础如何上手APICloud App、小程序多端开发