一年前的Java作业,模拟游戏玩家战斗

说明:一年前写的作业,感觉挺有意思的,将源码分享给大家。 刚开始看题也觉得很难,不过写着写着思路更加清晰,发现也没有想象中的那么难。

一、作业题目描述:

题目:模拟游戏玩家战斗

1.1 基础功能描述:

假设有两个玩家控制的角色 A 和 B,存在一个怪物 M,A 和 B 的任务是要击败怪物 M,获得胜利。A、B 和 M 的信息如下角色 A:

      生命值:100 初始攻击力数值:10,一次只攻击一个目标初始防御力数值:2 当前经验值:1000

当前等级:10 攻击目标时触发暴击的概率为 20%,触发后,攻击力增加 50% 受击时触发护盾的概率为 20%,触发后,防御力增加 10% 角色 B:       生命值:110  初始攻击力数值:12,一次只攻击一次目标  初始防御力数值:3 当前经验值:2000 当前等级:15  攻击目标时触发暴击的概率为 25%,触发后,攻击力增加 30%       受击时触发护盾的概率为 30%,触发后,防御力增加 15% 怪物 M:

生命值:200

       初始攻击力数值:8,一次攻击可对多个目标造成同等伤害  初始防御力数值:5  攻击目标时触发暴击的概率为 20%,触发后,攻击力增加 50%         受击时触发护盾的概率为 10%,触发后,防御力增加 10%

 

1.2 奖励功能描述:

       只有角色战斗胜利时,才可发放奖励。

 奖励有两种方案:rwd-a 和 rwd-b,其中触发 rwd-a 的概率是 40%,触发 rwd-b 的概率是 60%

      奖励方案 rwd-a:

     在以下 5 种物品中根据概率抽取一个奖励给玩家,同时获得 200*当前等级 的经验值。物品列表和概率如下:

物品

概率

金刚石

20%

红宝石

20%

乾坤袋

10%

如意丹

20%

金柳露

30%

 

奖励方案 rwd-b:

      在以下 6 种奖励中根据概率抽取一个奖励给玩家,同时获得 100*当前等级 的经验值。物品列表和概率如下:

物品

概率

净瓶甘露

10%

人参果

10%

藏宝图

30%

黑宝石

20%

上古灵符

15%

避水珠

15%

1.3 战斗规则:

  1. 从 main 方法主入口开启模拟战斗
  2. 当怪物 M 的生命值为 0 时,战斗胜利,调用奖励系统给角色 A 和 B 发放奖励(发放逻辑见上述的奖励系统描述),程序结束
  3. 当角色 A 和 B 的生命值都为 0 时,战斗失败,程序结束
  4. 当某个对象生命值为 0,且战斗未结束时,该对象不能再进行攻击
  5. 每次被攻击对象受到的伤害值 = 攻击者当前的攻击力 – 被攻击者当前的防御力
  6. 同时攻击力和暴击概率有关,防御力和护盾概率有关,每次攻击时要重新计算伤害值
  7. A、B 和 M 每次的出手攻击顺序,可以指定顺序,也可以随机顺序

 

1.4 作业要求:

  1. 使用 Java 面向对象的程序设计方式(包含封装、继承和多态特性)模拟实现上述战斗逻辑
  2. 将每次攻击的过程(A、B 和 M 的攻击力,防御力,受到攻击的伤害值和剩余的生命值,以及攻击对象)打印出来,输出格式不限,但要清晰直观
  3. 战斗胜利时(可自行调整数值,一定要跑到一次战斗胜利),将奖励信息打印出来(包括调用了哪种奖励方案,最终获得了哪些奖励),输出格式不限,但要清晰直观

 二、写作业

说明:当时只想着快点写完所以写的比较冗余,各角色的操作直接写在了Main.java中了,最后也是用了一个多小时完成了。

2.1 文件格式:

|---- gameFight

        |---- src

                |---- role

                        |---- role.java

                        |---- roleMonster.java

                        |---- rolePlayer.java

                |---- Main.java

 2.2 代码:

2.2.1 role.java :

package role;public class role {private String name;private float health; //生命值private float primaryAttack;  //初始攻击力private float pirmaryDefense; //初始防御private float criticalAttack; //暴击时的攻击力private float criticalDefense; //触发防御加强public String getName() {return name;}public void setName(String name) {this.name = name;}public float getHealth() {return health;}public void setHealth(float health) {this.health = health;}public float getPrimaryAttack() {return primaryAttack;}public void setPrimaryAttack(float primaryAttack) {this.primaryAttack = primaryAttack;}public float getPirmaryDefense() {return pirmaryDefense;}public void setPirmaryDefense(float pirmaryDefense) {this.pirmaryDefense = pirmaryDefense;}public float getCriticalAttack() {return criticalAttack;}public void setCriticalAttack(float criticalAttack) {this.criticalAttack = criticalAttack;}public float getCriticalDefense() {return criticalDefense;}public void setCriticalDefense(float criticalDefense) {this.criticalDefense = criticalDefense;}}

2.2.2 roleMonster.java :

package role;public class roleMonster extends role{public roleMonster(String name,float health,float primaryAttack,float primaryDefense,float criticalAttack,float criticalDenfense) {this.setName(name);this.setHealth(health);this.setPrimaryAttack(primaryAttack);this.setPirmaryDefense(primaryDefense);this.setCriticalAttack(criticalAttack);this.setCriticalDefense(criticalDenfense);}}

2.2.3 rolePlayer.java :

package role;public class rolePlayer extends role{private int experience; //当前经验值private int grade;  //当前等级public rolePlayer(String name,float health,float primaryAttack,float primartDefense,int experience, int grade ,float criticalAttack,float criticalDenfense) {this.setName(name);this.setHealth(health);this.setPrimaryAttack(primaryAttack);this.setPirmaryDefense(primartDefense);this.experience = experience;this.grade = grade;this.setCriticalAttack(criticalAttack);this.setCriticalDefense(criticalDenfense);}public int getExperience() {return experience;}public void setExperience(int experience) {this.experience = experience;}public int getGrade() {return grade;}public void setGrade(int grade) {this.grade = grade;}}

2.2.4 Main.java

import role.roleMonster;
import role.rolePlayer;import java.util.Random;public class Main {public static void main(String[] args) {//创建玩家roleA,roleB 怪兽roleMroleMonster roleM = new roleMonster("roleM",200,8,5, (float) (8*1.5), (float) (5*1.1));rolePlayer roleA = new rolePlayer("roleA",100,10,2,1000,10,(float)(10*1.5),(float)(2*1.1));rolePlayer roleB = new rolePlayer("roleB",110,12,3,2000,15,(float) (12*1.3),(float) (3*1.15));//战斗过程fightProcess(roleA,roleB,roleM);//结束战斗过程后,如果怪兽roleM的生命值还大于0则存活,说明玩家被怪兽打败,玩家拿不到奖励if (roleM.getHealth()>0){System.out.println("战斗失败!");}else{System.out.println("战斗成功!");//结束战斗后如果玩家roleA还存活则获得奖品getReward(roleA);//结束战斗后如果玩家roleB还存活则获得奖品getReward(roleB);}}//p1代表攻击目标时触发暴击的概率,因为p的取值为为0-1,如果p1大于p的取值范围则不触发,小于等于则触发static boolean raiseAttack(double p1){Random rand = new Random();float p = rand.nextFloat();if(p>p1){return false;}else{return true;}}//p2代表受击时触发护盾的概率,因为p的取值为为0-1,如果p2大于p的取值范围则不触发,小于等于则触发static boolean raiseDefense(double p2){Random rand = new Random();float p = rand.nextFloat();if(p>p2){return false;}else{return true;}}static void fightProcess(rolePlayer roleA,rolePlayer roleB,roleMonster roleM){boolean raiseAttack;boolean raiseDefense;//结束条件是玩家roleA和玩家roleB的都为死亡状态或者怪兽roleM为死亡状态 (血量同时小于等于0为死亡状态)while((roleA.getHealth()>0||roleB.getHealth()>0)&&roleM.getHealth()>0){//因为可以指定攻击顺序,这里我就让指定攻击顺序为roleA,roleB,roleM//如果玩家roleA存在和怪兽roleM都存在,roleA才能对怪兽roleM进行攻击if(roleA.getHealth()>0&&roleM.getHealth()>0){raiseAttack=raiseAttack(0.2);   //roleA攻击目标时触发暴击的概率为 20%raiseDefense=raiseDefense(0.1); //roleM受击时触发护盾的概率为 10%//如果roleA不触发暴击攻击和roleM不触发提高防御if(!raiseAttack &&!raiseDefense){roleM.setHealth(roleM.getHealth()-(roleA.getPrimaryAttack()-roleM.getPirmaryDefense()));printProcess(roleA,roleM,"000");}//如果roleA不触发暴击攻击和roleM触发提高防御if(!raiseAttack && raiseDefense) {roleM.setHealth(roleM.getHealth()-(roleA.getPrimaryAttack()-roleM.getCriticalDefense()));printProcess(roleA,roleM,"001");}//如果roleA触发暴击攻击和roleM不触发提高防御if(raiseAttack &&!raiseDefense){roleM.setHealth(roleM.getHealth()-(roleA.getCriticalAttack()-roleM.getPirmaryDefense()));printProcess(roleA,roleM,"010");}//如果roleA触发暴击攻击和roleM触发提高防御if(raiseAttack && raiseDefense){roleM.setHealth(roleM.getHealth()-(roleA.getCriticalAttack()-roleM.getCriticalDefense()));printProcess(roleA,roleM,"011");}}//如果玩家roleB存在和怪兽roleM都存在,roleB才能对怪兽roleM进行攻击if(roleB.getHealth()>0&&roleM.getHealth()>0){raiseAttack=raiseAttack(0.25);  //roleB攻击目标时触发暴击的概率为 25%raiseDefense=raiseDefense(0.1); //roleM受击时触发护盾的概率为 10%//如果roleB不触发暴击攻击和roleM不触发提高防御if(!raiseAttack &&!raiseDefense){roleM.setHealth(roleM.getHealth()-(roleB.getPrimaryAttack()-roleM.getPirmaryDefense()));printProcess(roleB,roleM,"000");}//如果roleB不触发暴击攻击和roleM触发提高防御if(!raiseAttack && raiseDefense){roleM.setHealth(roleM.getHealth()-(roleB.getPrimaryAttack()-roleM.getCriticalDefense()));printProcess(roleB,roleM,"001");}//如果roleB触发暴击攻击和roleM不触发提高防御if(raiseAttack &&!raiseDefense){roleM.setHealth(roleM.getHealth()-(roleB.getCriticalAttack()-roleM.getPirmaryDefense()));printProcess(roleB,roleM,"010");}//如果roleB触发暴击攻击和roleM触发提高防御if(raiseAttack && raiseDefense){roleM.setHealth(roleM.getHealth()-(roleB.getCriticalAttack()-roleM.getCriticalDefense()));printProcess(roleB,roleM,"011");}}//若怪兽还存活,则进行攻击玩家,玩家roleA还存活则受到怪兽roleM的攻击if(roleM.getHealth()>0&&roleA.getHealth()>0){raiseAttack=raiseAttack(0.2);   roleM攻击目标时触发暴击的概率为 20%raiseDefense=raiseDefense(0.2); //roleA受击时触发护盾的概率为 20%,//如果roleM不触发暴击攻击和roleA不触发提高防御if(!raiseAttack &&!raiseDefense){roleA.setHealth(roleA.getHealth()-(roleM.getPrimaryAttack()-roleA.getPirmaryDefense()));printProcess(roleA,roleM,"100");}//如果roleM不触发暴击攻击和roleA触发提高防御if(!raiseAttack && raiseDefense){roleA.setHealth(roleA.getHealth()-(roleM.getPrimaryAttack()-roleA.getCriticalDefense()));printProcess(roleA,roleM,"101");}//如果roleM触发暴击攻击和roleA不触发提高防御if(raiseAttack &&!raiseDefense){roleA.setHealth(roleA.getHealth()-(roleM.getCriticalAttack()-roleA.getPirmaryDefense()));printProcess(roleA,roleM,"110");}//如果roleM触发暴击攻击和roleA触发提高防御if(raiseAttack && raiseDefense){roleA.setHealth(roleA.getHealth()-(roleM.getCriticalAttack()-roleA.getCriticalDefense()));printProcess(roleA,roleM,"111");}}//若怪兽还存活,则进行攻击玩家,玩家roleB还存活则受到怪兽roleM的攻击if(roleM.getHealth()>0&&roleB.getHealth()>0){raiseAttack=raiseAttack(0.2);   //roleM攻击目标时触发暴击的概率为 20%raiseDefense=raiseDefense(0.3); //roleB受击时触发护盾的概率为 30%,//如果roleM不触发暴击攻击和roleB不触发提高防御if(!raiseAttack && !raiseDefense){roleB.setHealth(roleB.getHealth()-(roleM.getPrimaryAttack()-roleB.getPirmaryDefense()));printProcess(roleB,roleM,"100");}//如果roleM不触发暴击攻击和roleB触发提高防御if(!raiseAttack && raiseDefense){roleB.setHealth(roleB.getHealth()-(roleM.getPrimaryAttack()-roleB.getCriticalDefense()));printProcess(roleB,roleM,"101");}//如果roleM触发暴击攻击和roleB不触发提高防御if(raiseAttack && !raiseDefense){roleB.setHealth(roleB.getHealth()-(roleM.getCriticalAttack()-roleB.getPirmaryDefense()));printProcess(roleB,roleM,"110");}//如果roleM触发暴击攻击和roleB触发提高防御if(raiseAttack && raiseDefense){roleB.setHealth(roleB.getHealth()-(roleM.getCriticalAttack()-roleB.getCriticalDefense()));printProcess(roleB,roleM,"111");}}}}static void getReward(rolePlayer role){if(role.getHealth()>0){Random rand = new Random();int p = rand.nextInt(10);//获得p<4时获得pwd-a的奖励,否则获得pwd-b的奖励if(p<4){role.setExperience(role.getExperience()+role.getGrade()*200); //获取相应经验值System.out.print("玩家"+role.getName()+"获得奖励方案pwd-a的经验值:"+role.getGrade()*200);int p1 = rand.nextInt(100);System.out.print(" 获得物品奖励: ");if(p1<20){System.out.println("金刚石");}else if(p1<40){System.out.println("红宝石");}else if(p1<50){System.out.println("乾坤袋");}else if(p1<70){System.out.println("如意丹");}else{System.out.println("金柳露");}}else{role.setExperience(role.getExperience()+role.getGrade()*100);System.out.print("玩家"+role.getName()+"获得奖励方案pwd-b的经验值:"+role.getGrade()*100);int p1 = rand.nextInt(100);System.out.print(" 获得物品奖励: ");if(p1<10){System.out.println("净瓶甘露");}else if(p1<20){System.out.println("人参果");}else if(p1<50){System.out.println("藏宝图");}else if(p1<70){System.out.println("黑宝石");}else if(p1<85){System.out.println("上古灵符");}else{System.out.println("避水珠");}}}}/*输出每个战斗过程结果,signal的百位:0表示玩家攻击怪兽,1表示怪兽攻击玩家;signal的十位是代表攻击方:0表示是普通攻击,1表示暴击攻击;signal的个位是代表防守方:0表示普通防御,1表示触发护盾提高防御;例如:signal=011 是玩家攻击怪兽,玩家暴击攻击怪兽,同时怪兽触发护盾提高防御*/static void printProcess(rolePlayer player,roleMonster monster,String signal){switch (signal){case "000":System.out.println("攻击方:\n玩家:"+player.getName()+ "\n玩家的血量:"+player.getHealth()+ "\n玩家的攻击力:"+player.getPrimaryAttack());System.out.println("防御方:\n怪兽:"+monster.getName()+"\n怪兽受到的伤害:"+(player.getPrimaryAttack()- monster.getPirmaryDefense())+"\n怪兽剩余的血量:"+monster.getHealth()+"\n怪兽的防御力:"+monster.getPirmaryDefense());break;case "001":System.out.println("攻击方:\n玩家:"+player.getName()+ "\n玩家的血量:"+player.getHealth()+ "\n玩家的攻击力:"+player.getPrimaryAttack());System.out.println("防御方:\n怪兽:"+monster.getName()+"\n怪兽受到的伤害:"+(player.getPrimaryAttack()- monster.getCriticalDefense())+"\n怪兽剩余的血量:"+monster.getHealth()+"\n怪兽的防御力:"+monster.getCriticalDefense());break;case "010":System.out.println("攻击方:\n玩家:"+player.getName()+ "\n玩家的血量:"+player.getHealth()+ "\n玩家的攻击力:"+player.getCriticalAttack());System.out.println("防御方:\n怪兽:"+monster.getName()+"\n怪兽受到的伤害:"+(player.getCriticalAttack()- monster.getPirmaryDefense())+"\n怪兽剩余的血量:"+monster.getHealth()+"\n怪兽的防御力:"+monster.getPirmaryDefense());break;case "011":System.out.println("攻击方:\n玩家:"+player.getName()+ "\n玩家的血量:"+player.getHealth()+ "\n玩家的攻击力:"+player.getCriticalAttack());System.out.println("防御方:\n怪兽:"+monster.getName()+"\n怪兽受到的伤害:"+(player.getCriticalAttack()- monster.getCriticalDefense())+"\n怪兽剩余的血量:"+monster.getHealth()+"\n怪兽的防御力:"+monster.getCriticalDefense());break;case "100":System.out.println("攻击方:\n怪兽:"+monster.getName()+ "\n怪兽的血量:"+monster.getHealth()+ "\n怪兽的攻击力:"+monster.getPrimaryAttack());System.out.println("防守方:\n玩家:"+player.getName()+"\n玩家受到的伤害:"+(monster.getPrimaryAttack() - player.getPirmaryDefense())+ "\n玩家剩余的血量:"+player.getHealth()+"\n玩家的防御力:"+player.getPirmaryDefense());break;case "101":System.out.println("攻击方:\n怪兽:"+monster.getName()+ "\n怪兽的血量:"+monster.getHealth()+ "\n怪兽的攻击力:"+monster.getPrimaryAttack());System.out.println("防守方:\n玩家:"+player.getName()+"\n玩家受到的伤害:"+(monster.getPrimaryAttack() - player.getCriticalDefense())+ "\n玩家剩余的血量:"+player.getHealth()+"\n玩家的防御力:"+player.getCriticalDefense());break;case "110":System.out.println("攻击方:\n怪兽:"+monster.getName()+ "\n怪兽的血量:"+monster.getHealth()+ "\n怪兽的攻击力:"+monster.getCriticalAttack());System.out.println("防守方:\n玩家:"+player.getName()+"\n玩家受到的伤害:"+(monster.getCriticalAttack() - player.getPirmaryDefense())+ "\n玩家剩余的血量:"+player.getHealth()+"\n玩家的防御力:"+player.getPirmaryDefense());break;case "111":System.out.println("攻击方:\n怪兽:"+monster.getName()+ "\n怪兽的血量:"+monster.getHealth()+ "\n怪兽的攻击力:"+monster.getCriticalAttack());System.out.println("防守方:\n玩家:"+player.getName()+"\n玩家受到的伤害:"+(monster.getCriticalAttack() - player.getCriticalDefense())+ "\n玩家剩余的血量:"+player.getHealth()+"\n玩家的防御力:"+player.getCriticalDefense());break;}System.out.println();}}

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

假象和谎言

原创 | 刘教链 隔夜BTC&#xff08;比特币&#xff09;徘徊在69k一线。5.25教链内参报告&#xff0c;《BTC ETF持仓即将超越中本聪》。ETH ETF的尘嚣逐渐散去&#xff0c;复归于平静。戏刚唱了个开头&#xff0c;结尾还留着悬念。4000刀之于ETH看来是个关键阻力位&#xff0c;最…

element ui 的密码输入框点击显示隐藏密码时,图标随之改变

场景图&#xff1a; 原理&#xff1a; 通过修改el-input框的type属性&#xff0c;来设置显示或者隐藏。从而改变图标地址。 <el-input class"passwordinput" :type"pwdObj.pwdType" ref"pwdInput" placeholder"密码"v-model"…

Vue热更新出现内存溢出

Vue热更新出现内存溢出 vue-cli2遇到此问题的解决办法&#xff1a;vue-cli3遇到此问题的解决办法&#xff1a;方法一&#xff08;已测试ok&#xff09;方法二&#xff08;未尝试&#xff09; 开发项目有一段时间了&#xff0c;随着项目越来越大&#xff0c;打包的时间也相应的变…

若依微服务实现分布式事务

一、基本介绍 1、什么是分布式事务 指一次大的操作由不同的小操作组成的&#xff0c;这些小的操作分布在不同的服务器上&#xff0c;分布式事务需要保证这些小操作要么全部成功&#xff0c;要么全部失败。从本质上来说&#xff0c;分布式事务就是为了保证不同数据库的数据一致…

ssm137基于SSM框架的微博系统+vue

微博系统网站的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就…

家用洗地机哪个品牌好?家用洗地机排行榜前十名

随着洗地机逐渐进入大众视野&#xff0c;这种集吸、拖、洗功能于一体的清洁工具&#xff0c;凭借其高效便捷的特点&#xff0c;成为家庭清洁的新宠。洗地机不仅能够减少地面清洁时间&#xff0c;节省体力&#xff0c;还能提高清洁效果。然而&#xff0c;面对琳琅满目的洗地机品…

Web会话管理

一、会话管理的概念&#xff1a; 在人机交互时&#xff0c;会话管理是保持用户的整个会话活动的互动与计算机系统跟踪过程会话管理分类: 桌面会话管理、浏览器会话管理、Web服务器的会话管理。 二、为什么需要会话管理&#xff1f; HTTP是一种无状态协议&#xff0c;一次请…

java项目之智能家居系统源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的智能家居系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于Springboot的智能家居系…

【高校科研前沿】湖北工业大学为第一署名单位在《Science》发表Letters文章:应对青藏高原河流泥沙激增

文章简介 论文名称&#xff1a;Combating sediment surge in Tibetan rivers&#xff08;应对青藏高原河流泥沙激增&#xff09; 相关作者及单位&#xff1a;杨洪教授&#xff08;英国雷丁大学&#xff09;&刘德富教授&#xff08;湖北工业大学&#xff09;&Julian R…

huggingface 笔记:聊天模型

1 构建聊天 聊天模型继续聊天。传递一个对话历史给它们&#xff0c;可以简短到一个用户消息&#xff0c;然后模型会通过添加其响应来继续对话一般来说&#xff0c;更大的聊天模型除了需要更多内存外&#xff0c;运行速度也会更慢首先&#xff0c;构建一个聊天&#xff1a; ch…

灵动微单片机洗衣机方案——【软硬件开发支持】

RAMSUN英尚以洗衣机洗涤主驱电机为例&#xff0c;主驱电机和多电机控制首选MM32SPIN0280.灵动微电子能够提供完整的软硬件开发支持&#xff0c;目前方案已经在主流家电厂出货。 洗衣机方案 皮带洗衣机 DD直驱洗衣机 波轮洗衣机 Mini壁挂和桌面洗衣机 洗涤烘干双变频方案 热泵烘…

uniapp - 文章模块页面

在上一篇文章中&#xff0c;创建了一个空白的文章模块页面。在这一篇文章&#xff0c;让我们来向页面中填充内容。 目录 页面效果涉及uniapp组件1.view2.swiper3.scroll-view4.属性解读1) class"style1 style2 .."2) circular单属性无赋值3) :autoplay"autoplay…

信息标记形式 (XML, JSON, YAML)

文章目录 &#x1f5a5;️介绍&#x1f5a5;️三种形式&#x1f3f7;️XML (Extensible Markup Language)&#x1f516;规范&#x1f516;注释&#x1f516;举例&#x1f516;其他 &#x1f3f7;️JSON (JavaScript Object Notation)&#x1f516;规范&#x1f516;注释&#x…

存内计算从浮点运算优化对数据经济的提升

本篇文章将介绍存内计算技术对于数据经济的提升&#xff0c;我们将从提出问题、解答问题与阐述应用三个方面进行展开介绍&#xff0c;并引入浮点存算、等新兴存算技术进行简要介绍。 一.数据经济&存内计算&#xff0c;结合是否可行&#xff1f; 数据经济与存内计算&#…

浅说线性DP(上)

前言 在说线性dp之前&#xff0c;我们先来聊一聊动态规划是啥&#xff1f; 动态规划到底是啥&#xff1f; 动态规划是普及组内容中最难的一个部分&#xff0c;也是每年几乎必考的内容。它对思维的要求极高&#xff0c;它和图论、数据结构不同的地方在于它没有一个标准的数学…

mysql 01 linux 上安装mysql服务端

01.linux安装 MySQL的大部分安装包都包含了服务器程序和客户端程序&#xff0c;不过在Linux下使用RPM包时会有单独的服 务器RPM包和客户端RPM包&#xff0c;需要分别安装。 1.查看是否已经安装了MySQL rpm -qa | grep mysql如果什么都没有&#xff0c;就是还没有装过MySQL …

基于Pytorch框架的深度学习RegNet神经网络二十五种宝石识别分类系统源码

第一步&#xff1a;准备数据 25种宝石数据&#xff0c;总共800张&#xff1a; { "0": "Alexandrite","1": "Almandine","2": "Benitoite","3": "Beryl Golden","4": "Carne…

数字化农业新时代:图扑农林牧综合监控平台

利用图扑自研 HT for Web GIS 产品&#xff0c;结合遥感技术&#xff0c;构建可交互式的农林牧数据分析平台。该平台围绕地块总览、播种分析、牛只管理、设备查询四个维度&#xff0c;对地区的全貌、农场、村集体分布以及相应的环境进行多样化的可视化展示和进行数据支持&#…

爱岗敬业短视频:成都科成博通文化传媒公司

爱岗敬业短视频&#xff1a;传递正能量&#xff0c;塑造职场新风尚 在当今社会&#xff0c;短视频以其独特的传播方式和广泛的受众群体&#xff0c;成为了信息传播的重要渠道。在众多短视频内容中&#xff0c;以“爱岗敬业”为主题的短视频尤为引人注目&#xff0c;成都科成博…

FreeRtos进阶——队列的特殊用途

信号量与互斥量都一样&#xff0c;都是特殊的队列。但是只有互斥量实现了优先级继承机制。 信号量与互斥量与队列一样&#xff0c;在操作增加或者减少时&#xff0c;必须先关中断在进行操作&#xff01; 信号量创建揭秘 图中信号量的创建过程&#xff0c;在代码中的体现本质就是…