<commit_before>package Levels.BasicTutorials {
	import Levels.Level;
	import Modules.*;
	import Testing.Goals.OpcodeTutorialGoal;
	import Values.OpcodeValue;
	
	/**
	 * ...
	 * @author Nicholas "PleasingFungus" Feinberg
	 */
	public class OpTutorial extends Level {
		
		public function OpTutorial() {
			super("One Instruction", new OpcodeTutorialGoal, false, [ConstIn, Adder, Latch, DataWriter, DataReader, InstructionDecoder], [OpcodeValue.OP_SAVI]);
			info = "From this level onward, your goal will be to go through memory, starting at 0, and execute every instruction there.\n\n"
			info = "Instructions are made up of four numbers. The first number, the opcode, says what type of instruction it is. "
			info += "The other three, the source, target, & destination, have meanings that vary by opcode.\n\n"
			info += "Every level has a fixed set of instruction types, but several permutations will be generated to test your solution.";
			useModuleRecord = false;
		}<commit_msg>Added suggestion to look at memory to single-op<commit_after>package Levels.BasicTutorials {
	import Levels.Level;
	import Modules.*;
	import Testing.Goals.OpcodeTutorialGoal;
	import Values.OpcodeValue;
	
	/**
	 * ...
	 * @author Nicholas "PleasingFungus" Feinberg
	 */
	public class OpTutorial extends Level {
		
		public function OpTutorial() {
			super("One Instruction", new OpcodeTutorialGoal, false, [ConstIn, Adder, Latch, DataWriter, DataReader, InstructionDecoder], [OpcodeValue.OP_SAVI]);
			info = "From this level onward, your goal will be to go through memory, starting at 0, and execute every instruction there.\n\n"
			info = "Instructions are made up of four numbers. The first number, the opcode, says what type of instruction it is. "
			info += "The other three, the source, target, & destination, have meanings that vary by opcode.\n\n"
			info += "Every level has a fixed set of instruction types, but several permutations will be generated to test your solution. ";
			info += "Click 'Memory' in the top bar to see examples.";
			useModuleRecord = false;
		}
{'fraction_non_alphanumeric': 0.09051306873184899, 'fraction_numerical': 0.000968054211035818, 'mean_word_length': 4.206549118387909, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6705783', 'n_tokens_mistral': 644, 'n_tokens_neox': 568, 'n_words': 239}