import React, { useState, useEffect } from “react”; const MemoryTest = () => { const [data, setData] = useState(null); const [userInput, setUserInput] = useState({ speed: “”, altitude: “”, heading: “”, radio: “” }); const [screen, setScreen] = useState(“memorize”); const [message, setMessage] = useState(“”); useEffect(() => { generateData(); }, []); const generateData = () => { const speedValues = Array.from({ length: (380 – 80) / 10 + 1 }, (_, i) => 80 + i * 10); const altitudeValues = [3000, 8500, 30000, 35000, 40000, 45000]; const radioValues = Array.from({ length: (11795 – 10800) / 5 + 1 }, (_, i) => 10800 + i * 5); const newData = { speed: “SPEED ” + speedValues[Math.floor(Math.random() * speedValues.length)], altitude: “ALTITUDE ” + altitudeValues[Math.floor(Math.random() * altitudeValues.length)], heading: “HEADING ” + Math.floor(Math.random() * 360), radio: “RADIO ” + radioValues[Math.floor(Math.random() * radioValues.length)], }; setData(newData); setScreen(“memorize”); setTimeout(() => setScreen(“recall”), 5000); }; const handleChange = (e) => { setUserInput({ …userInput, [e.target.name]: e.target.value }); }; const checkAnswers = () => { if ( userInput.speed.toUpperCase() === data.speed && userInput.altitude.toUpperCase() === data.altitude && userInput.heading.toUpperCase() === data.heading && userInput.radio.toUpperCase() === data.radio ) { setMessage(“Answer correct!”); } else { setMessage(“Incorrect. Try again!”); } }; return (
{screen === “memorize” ? (

Memorize the data below

{data?.speed}

{data?.altitude}

{data?.heading}

{data?.radio}

) : (

{message}

)}
); };