From fa3c5eb4a7eb186c8b358f81541ae879250f0bd9 Mon Sep 17 00:00:00 2001 From: Azra Victor Date: Wed, 16 Jun 2021 12:27:49 +0200 Subject: [PATCH] Input recognition modification. Hopefully finally works. --- src/gameplay/input/InputBuffer.java | 2 +- src/gameplay/input/Inputs.java | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/gameplay/input/InputBuffer.java b/src/gameplay/input/InputBuffer.java index a587e03..9a4a6b6 100644 --- a/src/gameplay/input/InputBuffer.java +++ b/src/gameplay/input/InputBuffer.java @@ -118,7 +118,7 @@ public class InputBuffer { else {frameToCheck = startFrameCount - backCounter;} boolean search = true; while(ret && search) { - if(this.inputList[frameToCheck].containsButtonTab2(command[i])) { + if(this.inputList[frameToCheck].equalsButtonTab(command[i])) { ret = true; search = false; } else { diff --git a/src/gameplay/input/Inputs.java b/src/gameplay/input/Inputs.java index f910b5f..1989dce 100644 --- a/src/gameplay/input/Inputs.java +++ b/src/gameplay/input/Inputs.java @@ -70,24 +70,25 @@ public class Inputs { * @param bs a number of inputs. Check if those are contained in this * @return true if all inputs of in are also in this */ - public boolean containsButtonTab2(ButtonIG[] bs) { + public boolean equalsButtonTab(ButtonIG[] bs) { ButtonIG[] directions = {DOWN,FORWARD,UP,BACK}; ButtonIG[] buttons = {A,B,C,D}; + Inputs inp = new Inputs(); + for(int i = 0; i < bs.length; i++) { + inp.recordOneInput(bs[1]); + } + if(!this.containsButtonTab(bs)){return false;} for(ButtonIG d : directions) { - if(!this.containsInput(d) && buttonTabContainsButton(bs, d)) { return false;} - if(this.containsInput(d) && !buttonTabContainsButton(bs, d)) { return false;} + if(!this.containsInput(d) && inp.containsInput(d)) { return false;} + if(this.containsInput(d) && !inp.containsInput(d)) { return false;} } for(ButtonIG d : buttons) { - if(!this.containsInput(d) && buttonTabContainsButton(bs, d)) { return false;} - if(this.containsInput(d) && !buttonTabContainsButton(bs, d)) { return false;} + if(!this.containsInput(d) && inp.containsInput(d)) { return false;} + if(this.containsInput(d) && !inp.containsInput(d)) { return false;} } return true; } - private static boolean buttonTabContainsButton(ButtonIG[] bs, ButtonIG b) { - for (int i = 0; i < bs.length; i++) { if(bs[i] == b) return true; } - return false; - } public boolean[] getInputs() { return this.tab;