编程语言选择

团队在编程机器人执行各种任务时,我们推荐以下三种:图形化编程、OnBot Java和Android Studio。

图形化编程

The Blocks Programming Tool is a simple way to code simple actions for the robot. It has a colorful and lego-like design and includes sounds of block pieces snapping together.

Using a device and a robot controller phone, connect your device to the phone’s Wi-Fi by clicking the three dots in the top right of the RC and select “Program & Manage”. This will display the WiFi SSID and password for you to connect to. Go onto your browser (preferably Chrome, though other modern browsers will likely work) and enter the address shown on the RC.

优势

  • 适合初学者:最简单易用的选项之一。

  • 易于设置:需要设备(笔记本电脑、chromebook、平板电脑)和运行“程序和管理”屏幕的手机

  • 程序可以直接保存到手机

    • 可快速进行更改

  • 不需要外部Wi-Fi连接

缺点

  • 如果你已经熟悉某种语言的编程,则不建议使用

    • 主要是为没有编程经验的人提供的教学工具

  • 这将把你的主 Wi-Fi 网络更改为 Robot Controller’s 直接 Wi-Fi 网络,因此,当你连接到这个特定网络时,将无法访问互联网。

    • 团队可以通过购买允许计算机同时运行2个Wi-Fi网络的外部Wi-Fi模块来解决这个问题。

  • 牺牲灵活性和应用程序以求简单

  • 永远不要在手机上使用它,除非你别无选择。(不适合手机)

    • 如果你试图这样做,你可能会制造更大的混乱。

OnBot Java

OnBot Java使用类似的方法,使用浏览器进行编码并直接保存到手机上。不同之处在于使用了一种称为Java的编程语言。

优势

  • 如果你正在学习或已经学习了一些编程,推荐你使用;如果你懂一点Java,那就更好了。

  • 比图形化编程有着更大的灵活性

  • 有很多可用的资源以防你需要帮助

  • 比图形化编程更适用于实际情况

  • 保持图形化编程的大部分优势

缺点

  • 连接到机器人控制器的Wi-Fi网络将阻止你使用任何在互联网上包括视频教程和在线通信

  • 使用外部库很困难,几乎不可能

  • 比起图形化编程需要在短期内掌握更多全新的知识

Android Studio

Android Studio是一个全面的集成开发环境(IDE),它使用Java来对手机进行编程。Android Studio不会使用浏览器上传代码,而是将你的机器人控制器代码编译为.apk文件(应用程序安装程序),并将其安装在手机上。

优势

  • 如果你正在学习或已经学习了一些编程,推荐你使用;如果你懂一点Java,那就更好了。

  • 比图形化编程有更大的灵活性。

  • 更容易集成库诸如 FTC Dashboard、FTCLib 和 Road Runner 等。

  • 可使用 USB 连接到 RC 手机,或使用无线连接上传代码。

  • 可以实时调试

  • Java、Android Studio和IDEA的许多资源

  • 可以使用其他编程语言

缺点

  • 连接到机器人控制器的Wi-Fi网络将阻止你使用互联网上的任何内容,包括视频教程和在线通信,除非你有第二个Wifi适配器(便宜且简单)

  • 安装过程相对简单,但耗时较长,而且有一个庞大的安装量(Android Studio、FtcRobotController 和其他库之间的文件量达 3GB)。

  • 问题可能难以诊断和解决

其他编程语言

Kotlin静态编程语言

Kotlin静态编程语言是一种相对较新且发展迅速的编程语言,来自Jetbrains,它是IntelliJIDE的创建者,Android Studio就是基于它。Kotlin静态编程语言被设计成与Java完全兼容,但更容易使用。谷歌最近宣布它为官方安卓语言,然后宣布他们将“使Kotlin静态编程语言优先”,但仍保持Java支持。

优势

  • 简洁、易读、易于编辑的代码

    • 易于编写,因为做同样的事情所需的代码要少得多

  • 可选类型推断和比Java更强大的类型系统

  • Null安全

  • 线程安全

  • 函数式编程

  • 与Java代码和库无缝衔接

  • 很容易从Java转移过来

缺点

  • 尚未广泛应用于FTC®

  • 是新加入的语言,用于培训的社区资源较少

  • 不推荐给需要其他团队大量帮助的程序员

C 和 C++

C和C++是与Android兼容的本地编程语言。很少有团队使用C++。这通常仅用于部分代码,大多数是Java或Kotlin静态编程语言。

优势

  • 快速执行资源密集型应用程序。

  • 支持更多库

缺点

  • 很少需要或使用

  • 设置起来非常困难

  • 难以调试代码

  • 很少有团队可以帮助你

  • 很少的在线资源