$\bold\textsf\textcolor{#DA2570}{°F}$

$\textsf{TRY ANOTHER}$

$\bold\textsf\textcolor{#3A6ED6}{°C}$

\text{
Use the arrow buttons to round 
constant values up or down.}

A: (13, 11)
allQue = Shuffle({1, 1, 1, 1, 1, 2, 2, 2, 2, 2})
celsList = Shuffle(Sequence[t, t, 4, 40])
fahrList = Shuffle(Sequence[t, t, 30, 100])
HF: A - (2, 0)
B: A + (2, 0)
C: B - (0, 18)
D: C - (2, 0)
GF: D - (2, 0)
lenF = Distance(GF, HF)
valCount = 0
cels = Element(celsList, Mod[valCount, Length[celsList]] + 1)
CES: (15, -7 + (lenF / 50 * (cels + 5)))
questType = If(valCount ≟ 0, 1, Element[allQue, Mod[valCount, Length[allQue]] + 1])
fahr = If(valCount ≟ 0, 74, Element[fahrList, Mod[valCount, Length[fahrList]] + 1])
stepF: Distance[GF, HF] / 90
backG, d_1, c_1, b, a = Polygon(D, C, B, A)
convFact2 = 1.8
noFrac2 = IsInteger(convFact2)
spacingXtype1 = If(fahr < 10, 0, 10 ≤ fahr ≤ 99, 3, 7)
CE = Point(c_1)
M1 = Midpoint(C, D)
CB: M1 + (0.5, 0)
FB: M1 - (0.5, 0)
FA = Point(a)
fahrRect, f, p, q, r = Polygon(FB, M1, (x(M1), y(FA)), (x(FB), y(FA)))
textQuest1: "\text{Estimate the values in the temperature conversion formula\\
to estimate \bold{\textcolor{#DA2570}{" + (LaTeX[fahr]) + "°}} Fahrenheit in Celsius.}"
textQuest2: "\text{Estimate the values in the temperature conversion formula\\
to estimate \bold{\textcolor{#3A6ED6}{" + (LaTeX[cels]) + "°}} Celsius in Fahrenheit.}"
textQuestion: "\text{" + (LaTeX[If[questType ≟ 1, textQuest1, textQuest2]]) + ""
const = 32
convFact1 = 0.5555555555555556
extraPix1: 3
extraPix2: 3
M2 = Midpoint(A, B)
K: (x(M1), -7.5)
K': (x(M1), -9.5)
fahrBulb = Semicircle(K', K)
celsBulb = Semicircle(K, K')
celsRect, g, h, m, n = Polygon(M1, CB, (x(CB), y(CE)), (x(M1), y(CE)))
GC: C + (2, 0)
HC: B + (2, 0)
longTicksCels = Sequence(Segment[(x(GC) - 0.5, t), (x(GC) + 0.5, t)], t, y(GC), y(HC), Distance[GC, HC] / 10)
locatLabelsCels = Sequence((x(GC) + 1.5, t), t, y(GC), y(HC), Distance[GC, HC] / 10)
allThermomCels = Sequence(t, t, -5, 45, 5)
inPlaceLabCels = Zip(Text[("" * A), B, false, true, 0, 0], A, allThermomCels, B, locatLabelsCels)
allThermomFahr = Sequence(t, t, 30, 120, 10)
locatLabelsFahr = Sequence((x(GF) - 1.3, y(GF) + (7 * stepF) + ((10 * stepF) * t)), t, 0, 8)
inPlaceLabsFahr = Zip(Text[("" * A), B, false, true, 0, 0], A, allThermomFahr, B, locatLabelsFahr)
indicCel = Segment(CE, (x(GC), y(CE)))
indicFahr = Segment(FA, (x(GF), y(FA)))
baseLine = Segment(GF, GC)
j = Segment(GC, HC)
topLine = Segment(HC, HF)
l = Segment(HF, GF)
spacingXtype2 = If(cels < 10, 0, 8)
spacingX = If(questType ≟ 1, spacingXtype1, spacingXtype2)
distX = If(questType ≟ 2 ∧ cels ≥ 10, 10, 0)
isClickedU1 = false
isClickedU2 = false
isClickedD1 = false
isClickedD2 = false
countClicked = Sum({isClickedD1, isClickedD2, isClickedU1, isClickedU2})
fakeTopCel = Segment(CE, (x(M1) + 0.1, y(CE)))
fakeTopFa = Segment(FA, (x(M1) - 0.1, y(FA)))
equivCels: ((fahr - const) * convFact1)
stepC: Distance[GC, HC] / 50
equivFahr: (cels * convFact2) + const
EQFA: (13, -7 + ((round(equivFahr, 1) - 23) * stepF))
EQCE: (15, -7 + ((round(equivCels, 1) + 5) * stepC))
notExact1: const ≠ 32 ∨ convFact1 ≠ 5 / 9
notExact2: const ≠ 32 ∨ convFact2 ≠ 9 / 5
K2 = Midpoint(K, K')
bottBulp = CircleArc(K2, D, C)
topBulb = Semicircle(A, B)
celsProl, m1, cb, i, k = Polygon(M1, CB, (x(CB), y(CB) - 1), (x(M1), y(CB) - 1))
fahrProl, s, fb, t, c = Polygon(M1, FB, (x(FB), y(FB) - 1), (x(M1), y(FB) - 1))
baseSegmC = Segment(C, GC)
baseSegmF = Segment(D, GF)
topSegmF = Segment(HF, A)
topSegmC = Segment(B, HC)
shortTicksFahr = Sequence(Segment[(x(GF) - 0.2, y(GF) + (2 * stepF) + ((10 * stepF) * t)), (x(GF) + 1.8, y(GF) + (2 * stepF) + ((10 * stepF) * t))], t, 0, 8)
longTicksFahr = Sequence(Segment[(x(GF) - 0.5, y(GF) + (7 * stepF) + ((10 * stepF) * t)), (x(GF) + 1.8, y(GF) + (7 * stepF) + ((10 * stepF) * t))], t, 0, 8)
shortTicksCels = Sequence(Segment[(x(GC) - 1.8, t), (x(GC) + 0.2, t)], t, y(GC), y(HC), Distance[GC, HC] / 50)
textCelsToFahr: "\text{The conversion formula is:\\
Fahrenheit temp \[=\left( \text{Celsius temp.} ×\frac{9}{5}\right)+32\] \\
                      \[=\left(" + (LaTeX[cels]) + "×\frac{9}{5}\right)+32\]}"
textFormula2: "\vphantom{\frac{1}{2}}≈\left(\bold\textcolor{3A6ED6}{" + (LaTeX[cels]) + "}×" + (LaTeX[FractionText[convFact2]]) + "\right)+" + (LaTeX[const]) + "" + (LaTeX[If[¬notExact2, "", If[round(equivFahr, 1) ≟ equivFahr, "=", "≈"]]]) + "\bold\textcolor{#DA2570}{" + (LaTeX[If[notExact2, (("" * round(equivFahr, 1)) * "°F"), ""]]) + "}"
textFahrToCels: "\text{The conversion formula is:\\
Celsius temp.= \[(\]Fahrenheit temp.\[-32)×\frac{5}{9}\]\\
                 \[=\left(" + (LaTeX[fahr]) + "-32\right)×\frac{5}{9}\]}"
textFormula1: "\vphantom{\frac{1}{2}}≈(\bold\textcolor{#DA2570}{" + (LaTeX[fahr]) + "}-" + (LaTeX[const]) + ")×" + (LaTeX[FractionText[convFact1]]) + "" + (LaTeX[If[¬notExact1, "", If[round(equivCels, 1) ≟ equivCels, "=", "≈"]]]) + "\bold\textcolor{#3A6ED6}{" + (LaTeX[If[notExact1, (("" * round(equivCels, 1)) * "°C"), ""]]) + "}"
type1Up1PosX: 475 + spacingXtype1
type1Up1PosY: 225
type2Up1PosX: 500 + spacingX + If[noFrac2, -5, 0]
type2Up1PosY: 260
type1Down1PosY: 500
type2Down1PosY: 500
up1PosX = If(questType ≟ 1, type1Up1PosX, type2Up1PosX)
upPosY: 304 - 50
up2PosX = If(questType ≟ 1, type1Up1PosX + 40, type2Up1PosX + 42 + spacingX)
downPosY: 408 - 50
correct: questType ≟ 1 ∧ const ≟ 30 ∧ convFact1 ≟ 1 / 2 ∨ questType ≟ 2 ∧ const ≟ 30 ∧ convFact2 ≟ 2
FAS = If(valCount ≟ 0, (13, 3.2), (13, -7 + (stepF * (fahr - 23))))