Java小游戏:模仿微信群发红包

微信群主发普通红包,普通红包规则:

  1. 群主的一笔金额,从群主余额中扣除,平均分成n等分,让群员领取。
  2. 成员领取红包后,保存到余额中。

请根据规则,完成案例中所有类的定义以及指定类之间的继承关系,完成发红包动作。

Step1: 定义父类User:微信用户。

package com.day0222;public class User {private String name;private int money;//余额,当前用户有多少钱。public User() {}public User(String name, int money) {this.name = name;this.money = money;}//定义一个方法展示用户有多少钱public void show(){System.out.println("我叫:"+name+"    我有多少钱:"+money);}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}
}

Step 2:定义群主Manager类。

package com.day0222;import java.util.ArrayList;public class Manager extends User{public Manager() {}public Manager(String name, int money) {super(name, money);}public ArrayList<Integer> send(int money, int count){ArrayList redList=new ArrayList();int leftMoney=super.getMoney(); //群主当前余额if(money>leftMoney){System.out.println("余额不足");return redList;}//扣钱super.setMoney(leftMoney-money);//发红包需要平均拆分成count份。int avg=money/count;int mod=money%count;//余数,除不开的零头。//除不开的零头放在最后一个红包中for (int i = 0; i < count-1; i++) {redList.add(avg);}redList.add(avg+mod);return redList;}
}

Step 3定义普通用户类Member;

import java.util.ArrayList;
import java.util.Random;public class Member extends User{public Member() {}public Member(String name, int money) {super(name, money);}public void recieve(ArrayList<Integer> list){//从多个红包中随便抽一个,随机获取一个list集合中的值。抽一个少一个,使用remove.int index=new Random().nextInt(list.size());int delta=list.remove(index);int money=super.getMoney();super.setMoney(money+delta);}
}

Step 4:完成发红包动作

package com.day0222;import java.util.ArrayList;public class MainRedPacket {public static void main(String[] args) {Manager manager=new Manager("群主",100);Member one=new Member("王一",0);Member two=new Member("王二",0);Member three=new Member("王三",0);manager.show();one.show();two.show();three.show();System.out.println("==========");ArrayList<Integer> redList=manager.send(20,3);one.recieve(redList);two.recieve(redList);three.recieve(redList);manager.show();one.show();two.show();three.show();}
}

Java小游戏:模仿微信群发红包相关推荐

  1. 尝试写java小游戏(捕鱼达人)

    捕鱼达人 (平时都是在学校搞c语言,写算法.忽然java实验课大作业让设计一个小游戏的确挺蒙的,好在我之前学习过开发微信小程序,边查文档文档边做也比较快,下面有我的源码,截图,欢迎刚接触java小游戏 ...

  2. 各种经典java小游戏_Java是这个世界上最好的语言!

    为什么? 请看TIOBE最新发布的编程语言排行榜: TIOBE开发语言排行榜每月更新一次,其结果可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的. ...

  3. 怎么开发联机小游戏_微信小游戏创意大赛火热进行中,小游戏联机对战引擎免费用...

    腾讯云为小游戏开发者升级工具箱 小游戏联机对战引擎免费用 由微信小游戏举办的"微信小游戏创意大赛"正在火热进行中.12月23日,腾讯云宣布,除了给创意大赛的参赛者提供基础云资源,还 ...

  4. 微信小程序通过微信群发消息(订阅消息)

    微信小程序通过微信群发消息(订阅消息):(这个是云开发的教程,可能对于http的不适用) 一.怎么实现这个功能: 1.在微信公众号平台上面开启功能 先完善小程序的信息,才能开通这个功能 这一步前面还有 ...

  5. 《Java小游戏实现》:坦克大战

    <Java小游戏实现>:坦克大战 前面写了一个简单的聊天小程序,今天开始就写一个坦克大战的游戏,算是对Java相关小知识点的一个应用. 这个游戏的完成,我们也是分步完成,逐步累加,一个一个 ...

  6. 微信小游戏和微信小程序的区别与共同

    微信小游戏 小游戏的运行环境在 iOS 上是 JavaScriptCore,在 Android 上是 V8,都是没有 BOM 和 DOM 的运行环境,没有全局的 document 和 window 对 ...

  7. 解决QQ小游戏、微信小游戏 getLaunchOptionsSync()获取的数据为旧数据

    解决QQ小游戏.微信小游戏 getLaunchOptionsSync()获取旧数据的问题 维尼与你同在 @13805064305 原因 一般这个问题不是首次登录出现的,而是第二次从别的游戏跳过来,后台 ...

  8. java小游戏-超级玛丽

    java小游戏-java小游戏-超级玛丽 1 创建窗口 2 创建并完成常量类 3 创建背景类 4 绘制背景类 5 创建障碍物 6 第一关的设计 7 第二关的设计 8 第三关的设计 9 创建马里奥类 1 ...

  9. java小游戏-java小游戏-大鱼吃小鱼

    java小游戏-java小游戏-大鱼吃小鱼 1 创建窗口 2 添加背景图 3 启动封面 4 启动页面的点击事件 5 游戏开始时的背景添加 6 双缓存解决闪屏问题 7 地方第一条小鱼的添加 8 敌方左方 ...

最新文章

  1. Python开发服务器巡检系统,东拼西凑用python脚本登录web管理页面做巡检(未实现)...
  2. mysql期中考试题及答案_MySQL练习题及答案
  3. MySQLWorkbench链接MySQL数据库
  4. 安装 CORD 之前需要了解的术语
  5. 奔跑吧火柴人c语言开发_小学数学智力题:这两个火柴棍趣味题,你能做出来吗?...
  6. 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践
  7. C# CRC16 modbus
  8. zookeeper 可以干什么
  9. 在win10下安装Linux双系统
  10. steam社区打不开,解决mac无法打开steam社区的方法
  11. 无法加入域,隶属于域,工作组选项为灰色
  12. 设备驱动安装不上怎么办?
  13. 均匀分布 卡方分布_指数分布和卡方分布转换以及初试专业课试题拆封视频
  14. python爬山算法
  15. 图像处理------简单综合实例(大米计数)
  16. 罗翔文老师——实战派内部控制与内部审计专家,上海财经大学兼职教授
  17. php抽奖算法,PHP实现大转盘抽奖算法(代码实例)
  18. TCP与Web服务器
  19. Nature综述:临床宏基因组学的应用与挑战
  20. webStrom使用gitee管理代码

热门文章

  1. this关键字的四种用法
  2. 苹果手机相机九宫格怎么设置_用苹果手机拍照,这3个媲美单反的设置不会用,就别说自己用苹果...
  3. 模型矩阵、视图矩阵、投影矩阵
  4. 易语言php统计代码,易语言统计代码行数与API的工具
  5. 老照片瞬间修复神器!快帮你家的长辈恢复照片去吧
  6. MyBatis级联查询
  7. linux startx无效_startx命令_Linux startx 命令用法详解:用来启动X Window
  8. 用计算机弹发如雪,计算器弹音乐谱子
  9. 滴滴跨端框架 Chameleon 正式支持快应用
  10. 微信小程序--红色星球