HarmonyOS 鸿蒙Next ArkTS语言模仿秀 用代码来感受桃园三结义的“重情重义,情浓意切,卿卿我我。。。。。。”

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语言模仿秀 用代码来感受桃园三结义的“重情重义,情浓意切,卿卿我我。。。。。。” #ArkTS语言模仿秀# 用代码来感受桃园三结义的“重情重义,情浓意切,卿卿我我。。。。。。”

private generateTitlesAndLog() {
  const names: string[] = ['刘备', '关羽', '张飞'];
  const allTitles: string[] = ['大哥', '二哥', '三弟'];
  HLLog.info(`举杯`);
  // 辅助函数,用于生成不包含当前称谓首字符的随机称谓
  let getRandomTitleExcluding: (currentName: string, lastTitleFirstChar: string) => string =
    (currentName: string, lastTitleFirstChar: string): string => {
      let validTitles: string[] =
        allTitles.filter(title => title !== '大哥' && title !== '二哥' && title !== '三弟' ||
          (title.startsWith('大') && currentName !== '刘备') ||
          (title.startsWith('二') && (currentName !== '关羽' || names[0] !== '刘备')) ||
          (title.startsWith('三') && (currentName !== '张飞' || (names[0] === '刘备' && names[1] === '关羽'))));
      // 由于我们需要确保称谓是合理的,因此需要根据当前人物和其他人物的关系进一步筛选
      if (currentName === '刘备') {
        validTitles = ['二弟', '三弟'];
      } else if (currentName === '关羽' && names.includes('刘备')) {
        validTitles = ['大哥', '三弟'];
      } else if (currentName === '张飞' && names.includes('刘备') && names.includes('关羽')) {
        validTitles = ['大哥', '二哥'];
      }
      // 移除上一个称谓首字符相同的称谓
      validTitles = validTitles.filter(title => title.charAt(0) !== lastTitleFirstChar);
      // 返回随机称谓
      return validTitles[Math.floor(Math.random() * validTitles.length)];
    };

  // 初始称谓输出
  for (let i = 0; i < names.length; i++) {
    let currentName = names[i];
    let otherNames = names.slice();
    otherNames.splice(i, 1); // 移除当前名字,得到其他两人的名字
    let initialTitles:string[] = [];
    if (currentName === '刘备') {
      initialTitles = ['二弟', '三弟'];
    } else if (currentName === '关羽' && names.includes('刘备')) {
      initialTitles = ['大哥', '三弟'];
    } else if (currentName === '张飞' && names.includes('刘备') && names.includes('关羽')) {
      initialTitles = ['大哥', '二哥'];
    }
    console.info(`${currentName}: ${initialTitles.join('、')}`);
  }

  // 随机称谓输出(示例两轮)
  for (let iteration = 1; iteration <= 2; iteration++) {
    for (let i = 0; i < names.length; i++) {
      let currentName = names[i];
      let randomTitles:string[] = [];
      let lastTitleFirstChar = '';

      for (let j = 0; j < 2; j++) { // 确保每个人有两个称谓
        let newTitle = getRandomTitleExcluding(currentName, lastTitleFirstChar);
        randomTitles.push(newTitle);
        lastTitleFirstChar = newTitle.charAt(0); // 更新上一个称谓的首字符
      }
      // 这里只输出两个称谓作为示例,实际可以根据需要调整
      if (randomTitles.length === 2) {
        console.info(`${currentName}: ${randomTitles[0]}、${randomTitles[1]}`);
      }
    }
  }
  HLLog.info(`。。。。。。。。。`);
  HLLog.info(`干杯吧  朋友`);
}

日志实例:

举杯
刘备: 二弟、三弟
关羽: 大哥、三弟
张飞: 大哥、二哥
刘备: 三弟、二弟
关羽: 大弟、三弟
张飞: 二哥、大弟
刘备: 二弟、三哥
关羽: 大哥、三弟
张飞: 二哥、大哥
。。。。。。。。。
干杯吧  朋友

更多关于HarmonyOS 鸿蒙Next ArkTS语言模仿秀 用代码来感受桃园三结义的“重情重义,情浓意切,卿卿我我。。。。。。”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

11 回复

有点意思

更多关于HarmonyOS 鸿蒙Next ArkTS语言模仿秀 用代码来感受桃园三结义的“重情重义,情浓意切,卿卿我我。。。。。。”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


哈哈哈哈哈哈

挺幽默,加油

不错不错,和搞笑哦

有点意思

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

楼主写的很好,果断关注!

在HarmonyOS鸿蒙系统中,ArkTS(Ark TypeScript)作为一种新的声明式开发语言,旨在提升开发效率与体验。针对帖子标题中提到的“HarmonyOS 鸿蒙Next ArkTS语言模仿秀 用代码来感受桃园三结义的‘重情重义,情浓意切,卿卿我我…’”,我们可以通过构建一个简单的场景来模拟这一文化典故。

以下是一个使用ArkTS编写的示例代码,通过组件化的方式来展现桃园三结义的精神:

@Component
struct Booth {
  @State brothers: string[] = ['刘备', '关羽', '张飞'];

  build() {
    Row() {
      this.brothers.forEach(brother => {
        Column() {
          Text(`${brother} 重情重义`)
          Text(`${brother} 情浓意切`)
          Text(`${brother} 卿卿我我(此处为比喻深厚情谊)`)
        }.padding(10)
      })
    }.justifyContent('space-around')
  }
}

此代码定义了一个名为Booth的组件,内部使用一个数组brothers存储三兄弟的名字,并通过循环生成三个子组件,每个子组件展示对应兄弟的重情重义等特质。这里使用了ArkTS的组件化思想和状态管理,以简洁的方式模拟了桃园三结义的情感表达。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部