- Palavra-chave principal: code terraform primeiro nível enviar temperatura para a Terra exige uma única execução de script com a conexão ativa.
- Leia os dados em tempo real: use o componente do termômetro em vez de inserir uma temperatura lembrada.
- Conecte primeiro: chame
connect("earth")antes de transmitir o valor da temperatura. - Use a chave correta: envie
"current_temperature"como uma string entre aspas. - Verifique a energia: uma rede elétrica fraca pode fazer um script correto parecer falhar.
code terraform primeiro nível enviar temperatura para a Terra
O objetivo inicial de Code: Terraform é um teste curto de programação com três requisitos relacionados: ler o valor atual do termômetro, conectar o transmissor a earth e transmitir esse valor em tempo real usando a chave "current_temperature". A frase-chave code terraform primeiro nível enviar temperatura para a Terra descreve exatamente essa progressão.
O detalhe importante é o momento da execução. A conexão precisa ser estabelecida durante a mesma execução do script em que ocorre a transmissão. Uma conexão anterior não permanece ativa para uma execução posterior, portanto dividir o trabalho entre execuções diferentes pode deixar o objetivo inalterado.
Trate a primeira transmissão como uma única sequência: leia o sensor, conecte o transmissor e envie o valor sem substituir a leitura por um número fixo.
Ler
Recupere o valor atual do termômetro com get_value(). Isso impede que o script dependa de uma captura de tela desatualizada ou de uma temperatura estimada.
Conectar
Vincule o transmissor a earth antes de tentar a transmissão. O destino precisa estar disponível durante a mesma execução.
Transmitir
Envie a leitura em tempo real usando exatamente a chave de string "current_temperature". A chave não deve ser escrita como uma variável sem aspas.
| Requisito | Abordagem correta | Erro comum |
|---|---|---|
| Fonte da temperatura | thermo.get_value() | Inserir um número fixo |
| Destino | transmitter.connect("earth") | Conectar durante uma execução anterior |
| Chave dos dados | "current_temperature" | Escrever current_temperature sem aspas |
| Verificação de sucesso | Mensagem do objetivo e mudança nos créditos | Esperar um valor especial de retorno |
O caminho inicial registrado também torna esse objetivo um bloqueio de progressão. Concluí-lo abre a loja e o laboratório de biologia na versão inicial testada, mas o objetivo em si é confirmado pela mensagem do jogo e pela mudança nos créditos, não por um retorno especial de transmit().
Para consultar os nomes dos componentes e o comportamento dos métodos, veja o Guia para iniciantes de Code: Terraform, especialmente se a sua versão de Acesso Antecipado apresentar um rótulo de documentação ligeiramente diferente.
Transmissão de temperatura passo a passo
Siga a ordem abaixo ao concluir o primeiro objetivo do terminal. A sequência é intencionalmente compacta porque o jogo verifica a relação entre a leitura em tempo real, o destino e a chave transmitida.
Executar connect("earth") em um script e transmit() em outro pode falhar mesmo quando as duas linhas estão corretas individualmente. Mantenha-as juntas.
Abra o console principal
Inicialize o terminal e entre no console principal usado para programar os componentes. Antes de editar o algoritmo, confirme que você está trabalhando na máquina atribuída ao objetivo inicial.
Leia o termômetro
Crie o componente do termômetro e chame get_value(). Armazene o valor retornado em uma variável como value, para que a leitura exata em tempo real possa ser passada ao transmissor.
Conecte-se à Terra
Crie o componente do transmissor e chame transmitter.connect("earth"). O destino é uma string entre aspas, e esta linha precisa ser executada antes da linha de transmissão.
Envie a temperatura
Chame transmitter.transmit("current_temperature", value). O primeiro argumento é a chave de string, enquanto o segundo argumento é o valor do termômetro em tempo real.
Verifique o progresso
Procure a mensagem do objetivo e a mudança nos créditos. Se nenhuma das duas aparecer, verifique a máquina, o fornecimento de energia, os nomes dos componentes e se a conexão ocorreu durante esta execução.
Um script inicial compacto é:
thermo = get_component("thermometer")
value = thermo.get_value()
transmitter = get_component("transmitter")
transmitter.connect("earth")
transmitter.transmit("current_temperature", value)
| Linha do script | Função | Validação |
|---|---|---|
get_component("thermometer") | Encontra o sensor de temperatura | O nome deve corresponder à documentação do jogo |
thermo.get_value() | Lê a temperatura atual | Use o valor retornado |
get_component("transmitter") | Encontra o hardware de transmissão | Verifique a máquina editada |
connect("earth") | Define o destino | Execute antes de transmit() |
transmit("current_temperature", value) | Envia a leitura | Coloque a chave entre aspas e passe o valor em tempo real |
A confirmação útil é a mensagem do objetivo junto com a mudança nos créditos. Não espere que transmit() retorne um objeto especial de sucesso.
Energia, hardware e configuração da primeira base
Um script correto ainda depende de a máquina estar energizada. Após o primeiro objetivo de contato, a loja inicial fornece o hardware necessário para estabilizar a rede elétrica inicial. A combinação inicial mais útil é um gerador solar com uma bateria pequena.
Se o script parece correto, mas o objetivo não avança, verifique a geração, o armazenamento e a máquina que está sendo editada antes de reescrever a lógica.
A base inicial se beneficia de uma ordem simples:
- Estabeleça a geração antes de adicionar várias máquinas novas.
- Adicione armazenamento para que pequenas pausas na produção não interrompam os sensores.
- Mantenha o transmissor e o terminal em uma máquina energizada.
- Teste o objetivo antes de expandir para biologia ou contratos.
- Considere o hardware parado como um possível problema de energia, não como prova automática de um erro de código.
| Hardware | Função inicial | Por que é importante |
|---|---|---|
| Gerador solar | Produz a energia inicial | Mantém a primeira rede elétrica ativa |
| Bateria pequena | Armazena a energia gerada | Reduz interrupções durante períodos de baixa geração |
| Termômetro | Fornece dados de temperatura em tempo real | Fornece o valor enviado para earth |
| Transmissor | Envia dados ambientais | Conclui o primeiro objetivo de contato |
| Terminal | Executa o script | Conecta o código à rede de máquinas |
O sistema solar também introduz um padrão recorrente de automação. A regra inicial é elevação do sol mais inclinação do painel é igual a 90 graus. Se a elevação do sol for 60, a inclinação desejada será 30. Como o sol se move, um ajuste único eventualmente ficará desatualizado.
clock = get_component("clock")
while True:
sun = clock.get_elevation()
self.set_tilt_degrees(90 - sun)
Esse loop é separado da primeira transmissão de temperatura, mas segue o mesmo princípio: leia um valor em tempo real, calcule a partir do estado atual e mantenha o hardware alinhado às condições variáveis.
Geração
Adicione um gerador solar cedo o suficiente para manter o terminal, o termômetro e o transmissor operacionais.
Armazenamento
Use uma bateria pequena para reduzir falhas falsas causadas por uma rede vazia ou instável.
Automação
Recalcule a inclinação solar conforme o sol muda, em vez de depender de um único valor de configuração.
Não espere por uma rede de sensores perfeita. Coloque a geração e o armazenamento online, conclua a transmissão de temperatura e só então expanda a base.
Solução de erros e scripts relacionados
A maioria das falhas do primeiro nível vem de um pequeno conjunto de problemas de sintaxe, nomes, conexão ou energia. Corrija o primeiro problema correspondente em vez de alterar várias linhas de uma só vez.
Comece pela mensagem de erro e depois verifique a indentação, os nomes dos componentes, o momento da conexão e a energia. Alterar o algoritmo primeiro pode ocultar o problema original.
| Mensagem ou sintoma | Causa provável | Primeira correção |
|---|---|---|
expected string for key | A chave de transmissão não está entre aspas | Use "current_temperature" |
expected indent at start of block | O corpo de um bloco não está indentado | Indente o corpo de if, else ou while |
| Componente não encontrado | O nome é diferente do usado na documentação | Copie o nome do componente do painel de documentação |
| O objetivo não avança | Falta a conexão na mesma execução ou não há energia | Conecte-se a earth durante a execução e verifique a bateria |
cannot access recipe on none | A biologia não tem um espécime analisado | Adie contratos e biologia até que self.input esteja pronto |
O objetivo do primeiro nível também é uma lição útil sobre o uso de variáveis. O valor do termômetro deve permanecer dinâmico. Substituir value por um número copiado da execução de outro jogador faz com que o script dependa de uma leitura que talvez já não corresponda à sua versão do jogo.
A mesma abordagem de dados em tempo real aparece no reparo inicial do oxigênio. O padrão inicial lê o sensor, aplica a conversão registrada e envia o valor corrigido ao método de calibração:
sensor = get_component("oxygen sensor")
oxygen = sensor.get_value()
corrected = oxygen * 100
sensor.calibrate(corrected)
Para a tarefa de estabilização baseada em paridade, lembre-se de que % retorna o resto após uma divisão. Use == para comparação, não = para atribuição:
p = p_sensor.get_value()
if p % 2 == 0:
fixed = p
else:
fixed = p + 1
p_sensor.stabilize(fixed)
| Categoria de depuração | O que verificar | Hábito confiável |
|---|---|---|
| Sintaxe | Aspas, indentação e operadores de comparação | Corrija o menor erro visível |
| Componentes | Nomes exatos e métodos disponíveis | Use a documentação do jogo |
| Estado de execução | Energia e atribuição da máquina | Verifique a rede antes de reescrever o código |
| Estado do objetivo | Conexão e destino | Mantenha connect() e transmit() juntos |
| Ordem de progressão | Pré-requisitos de biologia e contratos | Conclua primeiro a sequência inicial |
As gravações iniciais e a documentação de Acesso Antecipado podem usar rótulos ou métodos de componentes ligeiramente diferentes. Quando o texto do objetivo entrar em conflito com um exemplo mais antigo, siga a documentação da sua versão atual.
Checklist e FAQ para concluir o primeiro nível
Use este checklist antes de avançar para sistemas mais amplos. Ele se concentra nas condições que determinam se a transmissão de temperatura será reconhecida.
Checklist da transmissão de temperatura:
- Inicialize o terminal e abra o console principal
- Leia o valor do termômetro em tempo real com get_value()
- Conecte o transmissor a earth durante a mesma execução do script
- Transmita a chave current_temperature entre aspas com o valor em tempo real
- Confirme a mensagem do objetivo e a mudança nos créditos
Quando o objetivo for confirmado e a rede inicial estiver energizada, continue com geração, armazenamento, calibração de oxigênio e automação solar em vez de repetir o script de temperatura.
Q: Qual é a ordem correta para code terraform primeiro nível enviar temperatura para a Terra?
Leia primeiro o termômetro, conecte o transmissor a 'earth' em segundo lugar e transmita 'current_temperature' com o valor em tempo real em terceiro. Mantenha as três ações na mesma execução do script.
Q: Por que transmit() falha quando a chave parece correta?
O primeiro argumento de transmit() precisa ser uma string entre aspas. Use 'current_temperature' em vez de escrever current_temperature sem aspas.
Q: Por que o objetivo permanece inalterado depois de executar um script aparentemente correto?
Verifique se connect('earth') foi executado na mesma execução, se a máquina editada é a correta e se a rede tem energia suficiente.
Q: Devo inserir como valor fixo a temperatura de outro guia?
Não. O objetivo espera a leitura atual, e o valor pode mudar. Armazene o resultado de thermo.get_value() e transmita essa variável.
O objetivo inicial recompensa mais uma sequência cuidadosa do que um código complicado. Um script curto com dados em tempo real, uma conexão ativa, uma chave de string exata e energia suficiente é o caminho esperado para concluir o primeiro marco de contato.