Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package thekindlyone.hangman;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.ArrayList;
- import java.util.Random;
- import android.app.Activity;
- import android.content.res.AssetManager;
- import android.os.Bundle;
- import android.text.method.ScrollingMovementMethod;
- import android.view.KeyEvent;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.TextView;
- public class Game extends Activity {
- public String rawmovies;
- public String movie;
- public String[] movies;
- public ArrayList<Character> donelist = new ArrayList<Character>();
- public ArrayList<Character> triedlist = new ArrayList<Character>();
- public TextView tv1;
- public Random r = new Random();
- public String h=new String("HANGMAN");
- public EditText editText;
- public Button button;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_game);
- AssetManager assetManager = getAssets();
- donelist.add('-');
- donelist.add('\'');
- donelist.add('`');
- donelist.add('?');
- donelist.add('!');
- donelist.add('.');
- editText = (EditText) findViewById(R.id.input);
- tv1 = (TextView)findViewById(R.id.tv1);
- button=(Button) findViewById(R.id.button);
- //final View vw=findViewById(R.id.input);
- InputStream input;
- try {
- input = assetManager.open("mlist.txt");
- int size = input.available();
- byte[] buffer = new byte[size];
- input.read(buffer);
- input.close();
- // byte buffer into a string
- rawmovies = new String(buffer);
- movies=rawmovies.split("\r\n|\r|\n");
- movie=movies[r.nextInt(movies.length)].trim().toLowerCase();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- tv1.setMovementMethod(new ScrollingMovementMethod());
- String displaystring=stringwork()+"\nGuess Now, One letter at a time.";
- tv1.setText(displaystring);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.game, menu);
- return true;
- }
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (event.getAction() == KeyEvent.ACTION_DOWN) {
- switch (keyCode) {
- case KeyEvent.KEYCODE_ENTER:
- button.performClick();
- return true;
- }
- }
- return super.onKeyDown(keyCode, event);
- }
- public String stringwork(){
- ArrayList<Character> rstring=new ArrayList<Character>();
- for (int i = 0; i < movie.length(); i++){
- char c = movie.charAt(i);
- if(donelist.contains(c)){
- rstring.add(c);
- }
- else{
- if(c==' '){
- rstring.add('/');}
- else{
- rstring.add('_');
- rstring.add(' ');
- }
- }
- //Process char
- }
- return getStringRepresentation(rstring);
- }
- public String getStringRepresentation(ArrayList<Character> list)
- {
- StringBuilder builder = new StringBuilder(list.size());
- for(Character ch: list)
- {
- builder.append(ch);
- }
- return builder.toString();
- }
- public void refresh_display(int code,char input){
- String displaystring=stringwork();
- String c = Character.toString(input);
- String score = h.substring(0,triedlist.size());
- if(score.length()=="HANGMAN".length()){
- code=-3;
- }
- if(displaystring.indexOf('_')==-1){
- code=3;
- }
- String correct_message="Bingo, "+c+" is correct \n"+displaystring+"\nGuess now, one letter at a time.";
- String incorrect_message="Sorry,"+c+" is Incorrect \n"+score+"\n"+displaystring+"\nGuess now, one letter at a time.";
- String already_tried="You already tried "+c+"\n Try Again\n"+displaystring+"\nGuess now, one letter at a time.";
- switch(code){
- case 1:
- tv1.setText(correct_message);
- break;
- case 0:
- tv1.setText(incorrect_message);
- break;
- case -1:
- tv1.setText(already_tried);
- break;
- case -2:
- tv1.setText("ENTER A LETTER");
- break;
- case -3: //loss
- //tv1.setText("HANGMAN\n You loose..The answer was "+movie);
- reset_game(code,movie,displaystring);
- break;
- case 3: //victory
- //tv1.setText("VICTORY.. way to go.. the answer was "+movie);
- reset_game(code,movie,displaystring);
- break;
- }
- }
- public void reset_game(int code,String lastmovie,String d_string){
- movie=movies[r.nextInt(movies.length)].trim().toLowerCase();
- donelist.clear();
- triedlist.clear();
- donelist.add('-');
- donelist.add('\'');
- donelist.add('`');
- donelist.add('?');
- donelist.add('!');
- donelist.add('.');
- String result=new String("");
- if(code==3){
- result="VICTORY.. way to go.. the answer was "+lastmovie;
- }
- if(code==-3){
- result=d_string+"\nHANGMAN\n You loose..The answer was "+lastmovie;
- }
- String display=result+"\nNEW GAME\n"+stringwork()+"\n Guess Now, one letter at a time.";
- tv1.setText(display);
- }
- public void handler(View view)
- { int code=0;
- char input = editText.getText().toString().charAt(0);
- //tv1.setText("DETECTED");
- if(input==' '){
- code=-2;
- }
- else{
- if(donelist.contains(input)||triedlist.contains(input)){
- code=-1;
- }
- else{
- if(movie.indexOf(input)!=-1){
- donelist.add(input);
- code=1;
- }
- else{
- triedlist.add(input);
- code=0;
- }
- }
- }
- refresh_display(code,input);
- editText.setText("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment