Pascal语言中的Darts程序

Pascal语言中的Darts程序,pascal,Pascal,我想创建一个飞镖程序,我遇到了一个问题 s1 := Form1.Edit1.Text; s2 := Form1.Edit2.Text; s3 := Form1.Edit3.Text; x1 := StrToFloat(s1); x2 := StrToFloat(s2); x3 := StrToFloat(s3); score1 := (score1 - x1 - x2 - x3); ss1 := FloatToStr(score1); Form1.Edit7.Text := ss1; 分数1在

我想创建一个飞镖程序,我遇到了一个问题

s1 := Form1.Edit1.Text;
s2 := Form1.Edit2.Text;
s3 := Form1.Edit3.Text;
x1 := StrToFloat(s1);
x2 := StrToFloat(s2);
x3 := StrToFloat(s3);
score1 := (score1 - x1 - x2 - x3);
ss1 := FloatToStr(score1);
Form1.Edit7.Text := ss1;
分数1在开始和倒计时时应该是501,所以分数1在开始时是501,你填写3个数字,它应该是501-1-1-1(例如),然后下次应该是498-1-1-1

我该怎么做

我没有任何问题或错误,我只是不知道怎么做

我用lazarus来写程序


我希望我对这一点解释得足够清楚。

好的,我将概述您可能如何做到这一点,但将编码留给您

首先,您需要阅读有关编程循环的内容-例如,请参阅

通常,对于这样的任务,首先要在循环首次执行之前设置一些初始条件。在您的情况下,我认为最好从那里稍微回溯一下,并为
分数
变量选择一个更好的名称。就我个人而言,我会根据
Target
命名,实际上有两个变量,
Target
,在循环之前初始化(到501)和
RunningTarget
,在循环之前初始化为等于
Target
,并在循环中每次更新(如
score1:=(score1-x1-x2-x3)

循环的类型(参见本文)由您决定。它需要一个
终止条件
,对是否继续循环或停止进行解码。同样,这是由您决定和编码

最后,您需要考虑为什么您觉得需要调用
FloatToStr
,以及您正试图通过此调用实现什么-毕竟
RunningTotal
的值将是一个整数,不是吗

玩得开心


顺便说一句,我建议考虑使用不同的变量名的原因是,您应该始终牢记它是否在6个月后对您或其他读者意味着相同的事情。对我来说,“score”听起来像是值应该增加,而你的代码会做完全相反的事情。

Happy Coding。所以是关于修正你的代码,而不是实现你的想法。请反复阅读,如果您有问题,请提供您的代码。如果遇到错误,请将错误消息逐字复制并粘贴到问题中。除非需要传达布局错误,否则避免使用屏幕截图。我们可以将您的图像复制并粘贴到我们的IDE中来修复您的代码。您的q是什么?您的代码没有显示特定的问题-我们没有看到您的texteditds,我也没有看到它的具体问题。在文本-.fields上需要某种循环或事件处理程序。你的问题是什么还不清楚。