鸿蒙开发案例:进京赶考(5)完结

news2024/9/29 5:35:53

系列文章目录

鸿蒙开发案例:进京赶考(1)

鸿蒙开发案例:进京赶考(2)

鸿蒙开发案例:进京赶考(3)

鸿蒙开发案例:进京赶考(4)

鸿蒙开发案例:进京赶考(5)


案例介绍

“进京赶考”是一款抽卡游戏,玩家在游戏界面中通过随机抽取到不同颜色的卡片,可获得不 同积分;抽卡结束后,根据积分的高低对游戏成绩进行判定(状元、榜眼、探花、进士)。本篇接上篇实现GameAbility的看结果功能,运行效果如图所示


一、创建积分等级判断函数

抽卡结束后,可点击“去查看”按钮跳转至 FinalGrade 查看最终的游戏结果。 首先,创建积分等级判断函数,对积分进行等级判断(“甲”、“乙”、“丙”、“丁”四个 积分等级,对应“状元”、“榜眼”、“探花”、“进士”四个游戏结果)。

在GamePage.ets文件中增加创建积分等级判断函数,代码如下:

  //积分等级判断函数
  confirmGrade() {
    if (this.score >= 50) {
      this.gradeLevel = '甲' //状元
    }
    if (this.score == 40) {
      this.gradeLevel = '乙' //榜眼
    }
    if (this.score == 25) {
      this.gradeLevel = '丙' //探花
    }
    if (this.score < 25 && this.score > 0) {
      this.gradeLevel = '丁' //进士
    }
    if (this.score <= 0) {
      this.gradeLevel = '末' //落榜
    }
  }

二、创建 FinalGrade.ets 文件,用以显示游戏结果

代码如下:

import router from '@ohos.router'
@Entry
@Component
struct FinalGrade {
  //从路由中获取功名等级
  @State lv: string = router.getParams()['lv']
  build() {
    Column({ space: 10 }) {
      Column() {
        if (this.lv == '甲') {
          Image($rawfile('images/red.jpg')).imgStyle()
          Text('春风得意马蹄疾').textStyle().fontColor(0xf21225)
          Text('一日看尽长安花').textStyle().fontColor(0xf21225)
        }
        else if (this.lv == '乙') {
          Image($rawfile('images/yellow.jpg')).imgStyle()
          Text('丹阙万人窥榜眼').textStyle().fontColor(0xfbd501)
          Text('碧幢千骑拥遨头').textStyle().fontColor(0xfbd501)
        }
        else if (this.lv == '丙') {
          Image($rawfile('images/blue.jpg')).imgStyle()
          Text('探花时节日偏长').textStyle().fontColor(0x3f97fd)
          Text('恬淡春风称意忙').textStyle().fontColor(0x3f97fd)
        }
        else if (this.lv == '丁') {
          Image($rawfile('images/purple.jpg')).imgStyle()
          Text('圣上喜迎新进士').textStyle().fontColor(0x9800fb)
          Text('民间应得好官人').textStyle().fontColor(0x9800fb)
        }
      }
      .width('100%')
      .height('100%')
    }
    .height('100%')
  }
}
@Extend(Image) function imgStyle () {
  .width('100%')
  .height('60%')
}
@Extend(Text) function textStyle() {
  .fontSize(30)
  .fontWeight(700)
}

三、创建查看游戏结果函数 

代码如下:

 //查看游戏结果
  lookGrade() {
    if (this.times > 0) {
      AlertDialog.show(
        {
          title: '提示',
          message: '您的抽卡还未完成,无法查看功名!!!',
          confirm: {
            value: '关闭',
            action: () => {
              console.info('Button-clicking callback')
            }
          },
          cancel: () => {
            console.info('Closed callbacks')
          }
        }
      )
    } else {
      if (this.gradeLevel == '末') {
        AlertDialog.show(
          {
            title: '提示',
            message: '很遗憾,您的成绩欠佳,未能中第!!!',
            confirm: {
              value: '关闭',
              action: () => {
                console.info('Button-clicking callback')
              }
            },
            cancel: () => {
              console.info('Closed callbacks')
            }
          }
        )
      } else {
        router.pushUrl({
          url: 'pages/FinalGrade',
          params: {
            lv: this.gradeLevel
          }
        })
      }
    }
  }

 四、增加看结果按钮的事件处理

 Button('看结果')
        .cardStyle()
        .onClick(()=>{
          this.confirmGrade()
          this.lookGrade()
        })


总结

本篇主要实现了游戏界面中看结果的功能,通过router进行了传值操作。至此该案例所有功能全部结束。笔者初学Harmony,按照鸿蒙实验手册把整个案例顺了一遍,其中也有感到尚模糊的地方,随着不断学习,希望有更深入的理解。

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

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

相关文章

ifcplusplus 示例 函数中英文 对照分析以及流程图

有需求&#xff0c;需要分析 ifc c渲染&#xff0c;分析完&#xff0c;有 230个函数&#xff0c;才能完成一个加载&#xff0c;3d加载真的是大工程&#xff01; 示例代码流程图 函数中英文对照表&#xff0c;方便 日后开发&#xff0c;整理思路顺畅&#xff01;&#xff01;&am…

KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)

**《KubeSphere平台安装系列》** 【Kubernetes上安装KubeSphere&#xff08;亲测–实操完整版&#xff09;】&#xff08;1/3&#xff09; 【Linux单节点部署KubeSphere】&#xff08;2/3&#xff09; 【Linux多节点部署KubeSphere】&#xff08;3/3&#xff09; **《KubeS…

个人项目介绍2:地球卫星篇

项目需求&#xff1a; 在项目中显示三维地球及主要城市标注&#xff0c;接收服务端发来的实施卫星数据&#xff0c;显示卫星姿态角&#xff0c;陀螺角&#xff0c;飞轮等数据&#xff1b;可自定义模拟产生更多卫星轨迹&#xff1b;可模拟显示卫星躲避陨石动画&#xff1b;可展…

【文献管理】zotero插件4——获取知网pdf、中文文献识别与目录生成

文章目录 zotero获取知网PDFzotero——中文文献识别&#xff08;茉莉花插件&#xff09;学位论文目录生成 zotero获取知网PDF zotero——中文文献识别&#xff08;茉莉花插件&#xff09; 为下载的学位论文添加目录中文文献识别&#xff1a;jasminum 下载pdflabs下载茉莉花插…

标准库中的String类 String(C++)【3】

文章目录 String常用的接口&#xff08;黑框标记的是常用接口&#xff09;数据访问operator:at:back:front: 数据修改push_back:append:operator:assigen:insert:erase:replace:注意事项 String常用的接口&#xff08;黑框标记的是常用接口&#xff09; 数据访问 operator: 返…

智能物联时代下RFID技术在汽车零部件智能制造中的引领作用

RFID&#xff08;Radio Frequency Identification&#xff0c;射频识别&#xff09;技术在汽车零部件加工中有广泛的应用&#xff0c;其工作原理是通过无线电频率进行自动识别。在汽车零部件加工中&#xff0c;RFID技术可以发挥重要作用&#xff0c;提高生产效率、降低成本和减…

【5G 接口协议】GTP-U协议介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

【虚拟机安装centos7后找不到网卡问题】

最近开始学习linux&#xff0c;看着传智播客的教学视频学习&#xff0c;里面老师用的是centos6.5&#xff0c;我这边装的是centos7最新版的 结果到了网络配置的这一节&#xff0c;卡了我好久。 我在centos一直找不到我的网卡eth0&#xff0c;只有一个回环网口&#xff0c;在/…

集成2.5G/5G/10G高速率网络变压器的RJ45网口连接器产品特点介绍

Hqst华轩盛(石门盈盛)电子导读&#xff1a;集成2.5G/5G/10G高速率网络变压器的RJ45网口连接器产品特点介绍&#xff1a; 第一、 高速率&#xff1a;支持高达2.5Gbps、5Gbps和10Gbps的传输速率&#xff0c;能够满足高带宽的网络应用需求。 第二、 集成2.5G/5G/10G高速率网…

编写dockerfile挂载卷、数据容器卷

编写dockerfile挂载卷 编写dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq dock…

Spring框架相关问题

Spring框架相关问题 一、Spring容器中的Bean是线程安全的吗&#xff1f;二、如何保证Spring容器中的Bean是线程安全的呢&#xff1f;三、什么情况下会触发Spring事务回滚&#xff1f;四、如果事务方法抛出IOException&#xff0c;是否会触发Spring事务回滚&#xff1f;五、什么…

在线简历制作网站免费推荐收藏备用

今天给大家推荐一个很实用的网站&#xff0c;对于要毕业的同学或者说跳槽的朋友比较有作用&#xff0c;对&#xff0c;就是一个免费方便的在线简历制作网站。其实免费的简历制作网站很多&#xff0c;但好用的良心的其实并不多&#xff0c;今天要推荐的这个虽然模板不算多&#…

1.2 在卷积神经网络中,如何计算各层感受野的大小

1.2 在卷积神经网络中&#xff0c;如何计算各层感受野的大小 分析与解答&#xff1a; 在卷积神经网络中&#xff0c;由于卷积的局部连接性&#xff0c;输出特征图上的每个节点的取值&#xff0c;是由卷积核在输入特征图对应位置的局部区域内进行卷积而得到的&#xff0c;因此这…

sql注入之sqli-labs/less-3 单引号加括号闭合

输入单引号试探&#xff1a; id1 报错信息里面出现 ) 说明闭合符合里面还有个 ) 再次试探&#xff1a;id1 ) order by 3 -- 查看回显位置&#xff1a; id-1%20%27)%20union%20select%201,2,3%20-- 查看数据库&#xff1a; id-1%20%27)%20union%20select%201,2,database()%2…

PDF 解析问题调研

说点真实的感受 &#xff1a;网上看啥组件都好&#xff0c;实际测&#xff0c;啥组件都不行。效果好的不开源收费&#xff0c;开源的效果不好。测试下来&#xff0c;发现把组件融合起来&#xff0c;还是能不花钱解决问题的&#xff0c;都是麻烦折腾一些。 这里分享了目前网上能…

幻兽帕鲁专用服务器搭建之Linux部署配置教程

大家好我是飞飞&#xff0c;上一期我分享了Windows系统的幻兽帕鲁服务器搭建教程。因为幻兽帕鲁这游戏对服务器的配置有一定的要求&#xff0c;很多小伙伴就寻思用Linux系统搭建占用会不会小一点&#xff1f;有计算机基础的小伙伴都知道Linux系统和Windows系统相比&#xff0c;…

Git实战(2)

git work flow ------------------------------------------------------- ---------------------------------------------------------------- 场景问题及处理 问题1&#xff1a;最近提交了 a,b,c,d记录&#xff0c;想把b记录删掉其他提交记录保留&#xff1a; git reset …

Hololens 2应用开发系列(2)——MRTK基础知识及配置文件配置(上)

Hololens 2应用开发系列&#xff08;2&#xff09;——MRTK基础知识及配置文件配置 一、前言二、MRTK基础知识2.1 MRTK概述2.2 MRTK运行逻辑2.3 MRTK配置文件介绍2.4 MRTK服务 三、配置文件使用3.1 总配置文件3.2 相机配置3.3 其他配置 参考文献 一、前言 在前面的文章中&…

机器学习中类别不平衡问题的解决方案

类别不平衡问题 解决方案简单方法收集数据调整权重阈值移动 数据层面欠采样过采样采样方法的优劣 算法层面代价敏感集成学习&#xff1a;EasyEnsemble 总结 类别不平衡&#xff08;class-imbalance&#xff09;就是指分类任务中不同类别的训练样例数目差别很大的情况 解决方案…

解决Excel客户端中的Copilot灰色不可用

很多小伙伴已经用上了office套件中的copilot功能 Copilot for Microsoft 365账号介绍与相关问题的解答 Copilot for Microsoft 365账号登录指南 Copilot for Microsoft 365功能使用指南 问题发现 大部分人使用的都是Word和PowerPoint功能&#xff0c;但是也有部分小伙伴使…