清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.76

Aia StoreApp上架指南 .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

AppInventor2离线版中文教育版接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档AI2拓展IoT专题

查看: 126|回复: 2

[经验分享] AI助手能力再进化:“手术级”修改代码块

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 867 天

    [LV.10]以坛为家III

    1223

    主题

    2035

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    58062

    AI2中文网VIP弹球达人接水果达人撸猫达人

    发表于 2026-07-02 22:26:07 | 显示全部楼层 |阅读模式
    1、追加代码块到指定位置:
    添加代码块.png

    2、指定改某个代码块:
    改代码块.png

    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 867 天

    [LV.10]以坛为家III

    1223

    主题

    2035

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    58062

    AI2中文网VIP弹球达人接水果达人撸猫达人

    发表于 2026-07-02 22:45:28 | 显示全部楼层
    运行报错与AI联动:

    自动解决运行时错误.png
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 867 天

    [LV.10]以坛为家III

    1223

    主题

    2035

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    58062

    AI2中文网VIP弹球达人接水果达人撸猫达人

    发表于 昨天 22:07 | 显示全部楼层
    [{"action": "SET_PROPERTY","component": "ChessBoard","property": "Width","value": 465},
    {"action": "SET_PROPERTY","component": "ChessBoard","property": "Height","value": 465},
    {"action": "ADD_BLOCK_INTENT","intent":[
      {"var": "board","init":{"list":[]}},
      {"var": "currentPlayer","init": 1},
      {"var": "gameOver","init":false},
      {"procedure": "重置游戏","params":[],"do":[
        {"set_var": "global board","value":{"list":[]}},
        {"for_range":{"var": "r","from": 1,"to": 15,"step": 1,"do":[
          {"local_var": "rowList","value":{"list":[]},"do":[
            {"for_range":{"var": "c","from": 1,"to": 15,"step": 1,"do":[
              {"list_add":{"list":{"get_var": "rowList"},"item": 0}}
            ]}},
            {"list_add":{"list":{"get_var": "global board"},"item":{"get_var": "rowList"}}}
          ]}
        ]}},
        {"call_proc": "绘制棋盘","args":{}},
        {"set_var": "global currentPlayer","value": 1},
        {"set_var": "global gameOver","value":false},
        {"set_prop": "StatusLabel.Text","value": "你的回合"}
      ]},
      {"procedure": "绘制棋盘","params":[],"do":[
        {"call": "ChessBoard.Clear","args":{}},
        {"set_prop": "ChessBoard.PaintColor","value": "&HFF000000"},
        {"for_range":{"var": "i","from": 1,"to": 15,"step": 1,"do":[
          {"local_var": "y","value":{"add":[15,{"multiply":[{"subtract":[{"get_var": "i"},1]},30]}]},"do":[
            {"call": "ChessBoard.DrawLine","args":{"x1": 15,"y1":{"get_var": "y"},"x2": 435,"y2":{"get_var": "y"}}}
          ]},
          {"local_var": "x","value":{"add":[15,{"multiply":[{"subtract":[{"get_var": "i"},1]},30]}]},"do":[
            {"call": "ChessBoard.DrawLine","args":{"x1":{"get_var": "x"},"y1": 15,"x2":{"get_var": "x"},"y2": 435}}
          ]}
        ]}}
      ]},
      {"procedure": "绘制棋子","params":["row","col","player"],"do":[
        {"set_prop": "ChessBoard.PaintColor","value":{"choose":{"test":{"eq":[{"get_var": "player"},1]},"then": "&HFF000000","else": "&HFFFFFFFF"}}},
        {"call": "ChessBoard.DrawCircle","args":{
          "centerX":{"add":[15,{"multiply":[{"subtract":[{"get_var": "col"},1]},30]}]},
          "centerY":{"add":[15,{"multiply":[{"subtract":[{"get_var": "row"},1]},30]}]},
          "radius": 12,
          "fill":true
        }}
      ]},
      {"procedure": "设置棋盘位","params":["row","col","value"],"do":[
        {"local_var": "oldBoard","value":{"get_var": "global board"},"do":[
          {"local_var": "newBoard","value":{"list":[]},"do":[
            {"for_range":{"var": "r","from": 1,"to": 15,"step": 1,"do":[
              {"if":{"eq":[{"get_var": "r"},{"get_var": "row"}]},"then":[
                {"local_var": "oldRow","value":{"select_item":{"list":{"get_var": "oldBoard"},"index":{"get_var": "r"}}},"do":[
                  {"local_var": "newRow","value":{"list":[]},"do":[
                    {"for_range":{"var": "c","from": 1,"to": 15,"step": 1,"do":[
                      {"if":{"eq":[{"get_var": "c"},{"get_var": "col"}]},"then":[
                        {"list_add":{"list":{"get_var": "newRow"},"item":{"get_var": "value"}}}
                      ],"else_do":[
                        {"list_add":{"list":{"get_var": "newRow"},"item":{"select_item":{"list":{"get_var": "oldRow"},"index":{"get_var": "c"}}}}}
                      ]}
                    ]}},
                    {"list_add":{"list":{"get_var": "newBoard"},"item":{"get_var": "newRow"}}}
                  ]}
                ]}
              ],"else_do":[
                {"list_add":{"list":{"get_var": "newBoard"},"item":{"select_item":{"list":{"get_var": "oldBoard"},"index":{"get_var": "r"}}}}}
              ]}
            ]}},
            {"set_var": "global board","value":{"get_var": "newBoard"}}
          ]}
        ]}
      ]},
      {"function": "计数方向","params":["row","col","dr","dc","player"],"return":{
        "do_return":{"do":[
          {"local_var": "count","value": 0,"do":[
            {"local_var": "r","value":{"add":[{"get_var": "row"},{"get_var": "dr"}]},"do":[
              {"local_var": "c","value":{"add":[{"get_var": "col"},{"get_var": "dc"}]},"do":[
                {"while":{"and":[
                  {"and":[{"gte":[{"get_var": "r"},1]},{"lte":[{"get_var": "r"},15]}]},
                  {"and":[{"gte":[{"get_var": "c"},1]},{"lte":[{"get_var": "c"},15]}]},
                  {"eq":[
                    {"select_item":{"list":{"select_item":{"list":{"get_var": "global board"},"index":{"get_var": "r"}}},"index":{"get_var": "c"}}},
                    {"get_var": "player"}
                  ]}
                ]},"do":[
                  {"set_var": "count","value":{"add":[{"get_var": "count"},1]}},
                  {"set_var": "r","value":{"add":[{"get_var": "r"},{"get_var": "dr"}]}},
                  {"set_var": "c","value":{"add":[{"get_var": "c"},{"get_var": "dc"}]}}
                ]}
              ]}
            ]}
          ]}
        ],"value":{"get_var": "count"}}
      }},
      {"function": "评估长度","params":["row","col","player"],"return":{
        "do_return":{"do":[
          {"local_var": "directions","value":{"list":[
            {"list":[0,1]},{"list":[1,0]},{"list":[1,1]},{"list":[1,-1]}
          ]},"do":[
            {"local_var": "maxLen","value": 0,"do":[
              {"foreach":{"var": "dir","in":{"get_var": "directions"},"do":[
                {"local_var": "count1","value":{"call_proc": "计数方向","args":{
                  "row":{"get_var": "row"},"col":{"get_var": "col"},
                  "dr":{"select_item":{"list":{"get_var": "dir"},"index": 1}},
                  "dc":{"select_item":{"list":{"get_var": "dir"},"index": 2}},
                  "player":{"get_var": "player"}
                }},"do":[
                  {"local_var": "count2","value":{"call_proc": "计数方向","args":{
                    "row":{"get_var": "row"},"col":{"get_var": "col"},
                    "dr":{"multiply":[{"select_item":{"list":{"get_var": "dir"},"index": 1}},-1]},
                    "dc":{"multiply":[{"select_item":{"list":{"get_var": "dir"},"index": 2}},-1]},
                    "player":{"get_var": "player"}
                  }},"do":[
                    {"local_var": "len","value":{"add":[1,{"add":[{"get_var": "count1"},{"get_var": "count2"}]}]},"do":[
                      {"if":{"gt":[{"get_var": "len"},{"get_var": "maxLen"}]},"then":[{"set_var": "maxLen","value":{"get_var": "len"}}]}}
                    ]}
                  ]}
                ]}
              ]}}
            ]}
          ]}
        ],"value":{"get_var": "maxLen"}}
      }},
      {"function": "分数映射","params":["len"],"return":{
        "choose":{"test":{"gte":[{"get_var": "len"},5]},"then": 100000,"else":{
          "choose":{"test":{"eq":[{"get_var": "len"},4]},"then": 10000,"else":{
            "choose":{"test":{"eq":[{"get_var": "len"},3]},"then": 1000,"else":{
              "choose":{"test":{"eq":[{"get_var": "len"},2]},"then": 100,"else": 10
            }}
          }}
        }}
      }},
      {"procedure": "检查胜负","params":["row","col","player"],"do":[
        {"local_var": "len","value":{"call_proc": "评估长度","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player":{"get_var": "player"}}},"do":[
          {"if":{"gte":[{"get_var": "len"},5]},"then":[
            {"set_var": "global gameOver","value":true},
            {"set_prop": "StatusLabel.Text","value":{"choose":{"test":{"eq":[{"get_var": "player"},1]},"then": "黑棋胜!","else": "白棋胜!"}}}
          ]}
        ]}
      ]},
      {"procedure": "AI决策","params":[],"do":[
        {"local_var": "bestScore","value": -1,"do":[
          {"local_var": "bestR","value": 0,"do":[
            {"local_var": "bestC","value": 0,"do":[
              {"for_range":{"var": "row","from": 1,"to": 15,"step": 1,"do":[
                {"for_range":{"var": "col","from": 1,"to": 15,"step": 1,"do":[
                  {"if":{"eq":[
                    {"select_item":{"list":{"select_item":{"list":{"get_var": "global board"},"index":{"get_var": "row"}}},"index":{"get_var": "col"}}},
                    0
                  ]},"then":[
                    {"local_var": "lenAI","value":{"call_proc": "评估长度","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player": 2}},"do":[
                      {"local_var": "lenHuman","value":{"call_proc": "评估长度","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player": 1}},"do":[
                        {"local_var": "score","value":{"add":[
                          {"call_proc": "分数映射","args":{"len":{"get_var": "lenAI"}}},
                          {"multiply":[{"call_proc": "分数映射","args":{"len":{"get_var": "lenHuman"}}},0.9]}
                        ]},"do":[
                          {"if":{"gt":[{"get_var": "score"},{"get_var": "bestScore"}]},"then":[
                            {"set_var": "bestScore","value":{"get_var": "score"}},
                            {"set_var": "bestR","value":{"get_var": "row"}},
                            {"set_var": "bestC","value":{"get_var": "col"}}
                          ]}
                        ]}
                      ]}
                    ]}
                  ]}
                ]}}
              ]}},
              {"call_proc": "落子","args":{"row":{"get_var": "bestR"},"col":{"get_var": "bestC"},"player": 2}},
              {"set_var": "global currentPlayer","value": 1}
            ]}
          ]}
        ]}
      ]},
      {"procedure": "落子","params":["row","col","player"],"do":[
        {"call_proc": "设置棋盘位","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"value":{"get_var": "player"}}},
        {"call_proc": "绘制棋子","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player":{"get_var": "player"}}},
        {"call_proc": "检查胜负","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player":{"get_var": "player"}}}
      ]},
      {"event": "Screen6.Initialize","do":[
        {"call_proc": "重置游戏","args":{}}
      ]},
      {"event": "ChessBoard.TouchDown","do":[
        {"if":{"and":[{"not":{"get_var": "global gameOver"}},{"eq":[{"get_var": "global currentPlayer"},1]}]},"then":[
          {"local_var": "row","value":{"add":[1,{"floor":{"divide":[{"subtract":[{"get_var": "y"},15]},30]}}]},"do":[
            {"local_var": "col","value":{"add":[1,{"floor":{"divide":[{"subtract":[{"get_var": "x"},15]},30]}}]},"do":[
              {"if":{"and":[
                {"and":[{"gte":[{"get_var": "row"},1]},{"lte":[{"get_var": "row"},15]}]},
                {"and":[{"gte":[{"get_var": "col"},1]},{"lte":[{"get_var": "col"},15]}]},
                {"eq":[
                  {"select_item":{"list":{"select_item":{"list":{"get_var": "global board"},"index":{"get_var": "row"}}},"index":{"get_var": "col"}}},
                  0
                ]}
              ]},"then":[
                {"call_proc": "落子","args":{"row":{"get_var": "row"},"col":{"get_var": "col"},"player": 1}},
                {"if":{"not":{"get_var": "global gameOver"}},"then":[
                  {"call_proc": "AI决策","args":{}}
                ]}
              ]}
            ]}
          ]}
        ]}
      ]},
      {"event": "RestartButton.Click","do":[
        {"call_proc": "重置游戏","args":{}}
      ]}
    ]},
    {"action": "CLEANUP_BLOCKS"}]



    代码块添加失败,工作区已恢复: 块 procedures_defnoreturn: Connection checks failed. | 未知的操作:







    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2026 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2026-07-15 18:14 , Processed in 0.018468 second(s), 36 queries .