The image shown above is the main menu or main screen of my project. It displays the palindrome turing machine and the name of group member. By clicking the name, new scene will be loaded. First we'll see what is a turing machine then we'll discuss what is a palindrome turing machine and how does it work.
Before seeing how our machine works, lets take a look how does palindrome turing machine works according to the state diagram:
First we select palindrome from main menu. A new scene will be displayed which contains current state, next stat, operation and and input field. User can input string only. We restricted our input field that the field will only accept 0 and 1. We added two buttons menu and reset. The menu button will lead to the main menu screen and the reset button will reload the same palindrome screen with empty input field.
This is our palindrome turing machine screen. Let suppose, the user enters the string 101 and press enter button.
The tape will be displayed on the screen as shown in the above picture. We restricted our tape that only 3 cubes will display on the screen. Now the user can only press space bar to move the tape. By pressing space bar each time the states and operation will be changed according to our Jflap state diagram.
The language is finally accepted by the machine. Machine will accept all strings that fulfills the criteria of binary palindromes. Whenever, the string is accepted, the start button turns into accepted and the button color will be changed into green.
Now take a look what happens when a string is rejected:
Suppose we enter a string 01, which is not a palindrome.
User will move tape and see either it is a palindrome or not by pressing space bar. The states and operations will be displayed as mentioned above.
Finally, the string is rejected because it was not a palindrome. The start button turns red and rejected is replaced with start at the top right of the screen.
For further details, visit https://www.youtube.com/watch?v=DlDFibzThyc for complete binary palindrome tutorial.