// CopyCat // // Key control and storage system. // // Author Matthew Caryl // Created 17.4.96 package CopyCat; import java.awt.Event; final class KeyControls extends Controller { private int[] keys; private boolean[] keys_down; public KeyControls(int[] K) { keys = new int[K.length]; for (int i = keys.length - 1; i >= 0; i--) keys[i] = K[i]; keys_down = new boolean[keys.length]; } public boolean keyEvent(Event E) { for (int i = keys.length - 1; i >= 0; i--) { if (keys[i] == E.key) switch (E.id) { case Event.KEY_ACTION_RELEASE: case Event.KEY_RELEASE: keys_down[i] = false; return true; case Event.KEY_ACTION: case Event.KEY_PRESS: keys_down[i] = true; return true; default: System.err.println("report to programmer - keyEvent"); break; } } return false; } public void transfer(boolean[] K) { for (int i = keys.length - 1; i >= 0; i--) K[i] = keys_down[i]; } public boolean transfer(int i) { return keys_down[i]; } }