mirror of
https://github.com/Noratrieb/brainfuck.git
synced 2026-01-16 14:25:03 +01:00
input
This commit is contained in:
parent
a96567038d
commit
579d81021a
7 changed files with 108 additions and 46 deletions
|
|
@ -1,22 +1,18 @@
|
|||
import './App.scss';
|
||||
import CodeInput from "./components/CodeInput";
|
||||
import CodeInput, {CodeOptions} from "./components/CodeInput";
|
||||
import ProgramOutput from "./components/ProgramOutput";
|
||||
import React, {useCallback, useState} from "react";
|
||||
import Runner from "./components/Runner";
|
||||
|
||||
function App() {
|
||||
const [out, setOut] = useState("");
|
||||
const [input, setInput] = useState("");
|
||||
const [input, setInput] = useState<[string, CodeOptions]>(["", {}]);
|
||||
const [running, setRunning] = useState(false);
|
||||
|
||||
const outHandler = useCallback((char: number) => {
|
||||
setOut(out => out + String.fromCharCode(char))
|
||||
}, []);
|
||||
|
||||
const inHandler = useCallback((): number => {
|
||||
return 65;
|
||||
}, []);
|
||||
|
||||
const runHandler = (run: boolean) => {
|
||||
setRunning(run);
|
||||
if (!run) {
|
||||
|
|
@ -24,12 +20,14 @@ function App() {
|
|||
}
|
||||
}
|
||||
|
||||
const inputHandler = (code: string, options: CodeOptions) => setInput([code, options]);
|
||||
|
||||
return (
|
||||
<div className="App-header">
|
||||
{
|
||||
!running && <CodeInput setInput={input => setInput(input)}/>
|
||||
!running && <CodeInput code={input[0]} setInput={inputHandler}/>
|
||||
}
|
||||
<Runner running={running} setRunning={runHandler} input={input} outHandler={outHandler} inHandler={inHandler}/>
|
||||
<Runner running={running} setRunning={runHandler} input={input} outHandler={outHandler}/>
|
||||
{
|
||||
running && <ProgramOutput text={out}/>
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue