FightSetupClient.java :  » App » hustlergame » agile » hustler » activities » Android Open Source

Android Open Source » App » hustlergame 
hustlergame » agile » hustler » activities » FightSetupClient.java
package agile.hustler.activities;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.DatagramPacket;
import java.util.Scanner;

import agile.hustler.Battle.Battle;
import agile.hustler.Battle.LogTextBox;
import agile.hustler.Characters.Caster;
import agile.hustler.Characters.CharacterType;
import agile.hustler.Characters.Dps;
import agile.hustler.Characters.Tank;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

public class FightSetupClient extends Activity {
  Bundle b;
  String opponentData, data;
  TextView txtview, txtName01, txtHp01, txtLvl01, txtName02, txtHp02, txtLvl02;
  Drawable charIcon1, charIcon2;
  String fightdata;
  LogTextBox mText;
  CharacterType player;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fight);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    
    b = getIntent().getExtras();
    
    /*
    byte[] buf = new byte[1000];
    DatagramPacket hostPacket = new DatagramPacket(buf, buf.length);
    try {
      ComSetup.clientSocket.receive(hostPacket);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    b.putString("key2", new String(hostPacket.getData()));
    */
    

    byte[] buf2 = new byte[1000];
    DatagramPacket logPacket = new DatagramPacket(buf2, buf2.length);
    try {
      ComSetup.clientSocket.receive(logPacket);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    fightdata = new String(logPacket.getData()).trim();
    
    byte[] buf3 = new byte[1000];
    DatagramPacket oppPacket = new DatagramPacket(buf3, buf3.length);
    byte[] buf4 = new byte[1000];
    DatagramPacket playerPacket = new DatagramPacket(buf4, buf4.length);
    
    
    try {
      ComSetup.clientSocket.receive(oppPacket);
      ComSetup.clientSocket.receive(playerPacket);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    
    
    //opponentData = b.getString("key2");
    //data = b.getString("key");
    opponentData = new String(oppPacket.getData()).trim();
    data = new String(playerPacket.getData()).trim();
    

    
    Typeface face = Typeface.createFromAsset(getAssets(),
        "fonts/SEVERINA.ttf");
      Typeface face2=Typeface.createFromAsset(getAssets(), "fonts/Comic Book.ttf");

    txtview = (TextView) findViewById(R.id.TextView01);

    txtName01 = (TextView) findViewById(R.id.txtPlayerName01);
    txtHp01 = (TextView) findViewById(R.id.txtPlayerHp01);
    txtLvl01 = (TextView) findViewById(R.id.txtPlayerLvl01);
    txtName02 = (TextView) findViewById(R.id.txtPlayerName02);
    txtHp02 = (TextView) findViewById(R.id.txtPlayerHp02);
    txtLvl02 = (TextView) findViewById(R.id.txtPlayerLvl02);
    txtName01.setTypeface(face);
    txtHp01.setTypeface(face);
    txtLvl01.setTypeface(face);
    txtName02.setTypeface(face);
    txtHp02.setTypeface(face);
    txtLvl02.setTypeface(face);  
    
    

    fightdata = new String(logPacket.getData());
    
    //opponentData = b.getString("key2");
    //data = b.getString("key");
    Log.d("opponentdata", opponentData);
    Log.d("data", data);
    CharacterType host = createCharacter2(opponentData);
    player = createCharacter1(data);
    host.fromString(opponentData);
    player.fromString(data);
    
    double HP = player.getHPf();
    
    txtHp02.setText(host.getHP());
    txtHp01.setText(player.getHP());
    
    mText = (LogTextBox) findViewById(R.id.text);
    mText.setTypeface(face2);
    mText.append(fightdata);
    

    
    ImageView imView1 = (ImageView) findViewById(R.id.Player01);
    ImageView imView2 = (ImageView) findViewById(R.id.Player02);
    imView1.setBackgroundDrawable(charIcon1);
    imView2.setBackgroundDrawable(charIcon2);
    
    
    
        final android.app.AlertDialog.Builder builder = new AlertDialog.Builder(this);
    
    if (player.getHPf() < host.getHPf()) {
      //Player frlorar pengar
      int money;
      int playermoney = player.getMoneyInt();
      money  = (int) (playermoney * 0.25);
      
      player.updateMoney(-money);
      if(player.getMoneyInt() < 0)
        player.updateMoney(-player.getMoneyInt());
      builder.setTitle("You loose");
      builder.setIcon(getResources().getDrawable(R.drawable.poo));
      player.resetHP(HP);
      builder.setMessage("Money: -"+money);
    }
    else {
      //Pengar vinner pengar baserat p motstndarens pengar
      int hostmoney = host.getMoneyInt();
      int money = (int) (hostmoney * 0.25);
      if(money < 100)
        money = 100;
      
      player.updateMoney(money);
      player.updateXP(100);
      
      builder.setTitle("You win");
      builder.setIcon(getResources().getDrawable(R.drawable.trophy));
      if(player.getXPf() >= player.getNextLevel()) {
        player.resetHP(HP);
        player.updateLevel(1);
        builder.setMessage( "XP: +100\n" +
                  "Money: +" +money+"\n" +
                  "Level up!");
      }
      else {
        player.resetHP(HP);
        builder.setMessage( "XP: +100\n" +
                        "Money: +" +money+"\n");
      }
    }
    
    
    data = player.toString();
    writeToFile(data);
    
    builder.setNeutralButton("Continue",new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int whichButton) {

        Bundle B = new Bundle();

        B.putString("key", data);
        B.putString("key2", opponentData);

        Intent intent = new Intent(FightSetupClient.this,
            CharacterScreen.class);

        intent.putExtras(B);

        startActivity(intent);
        finish();

        } }); 
    
    findViewById(R.id.ButtonDone).setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View v) {            
            builder.show(); 
          }
        });

    
    
    
/*
    findViewById(R.id.ButtonDone).setOnClickListener(
        new View.OnClickListener() {
          public void onClick(View v) {

            Bundle B = new Bundle();

            B.putString("key", data);
            B.putString("key2", opponentData);

            Intent intent = new Intent(FightSetupClient.this,
                CharacterScreen.class);

            intent.putExtras(B);

            startActivity(intent);
            finish();
            System.gc();

          }
        });*/
  }
  
  public CharacterType createCharacter1(String playerData){
    
    CharacterType character = null;
    Scanner scanner = new Scanner(playerData);
    scanner.useDelimiter(" ");
    String type = scanner.next();
    String name = scanner.next();
    int level = Integer.parseInt(scanner.next());

    txtName01.setText(name);
    txtLvl01.setText("Level: " + Integer.toString(level));
    
    if (type.toUpperCase().equals("TANK")) {

      character = new Tank(name,level);
      charIcon1 = getResources().getDrawable(R.drawable.tankminir);
      txtHp01.setText(((Tank) character).getHP());
    }

    else if (type.toUpperCase().equals("CASTER")) {

      character = new Caster(name, level);
      charIcon1 = getResources().getDrawable(R.drawable.casterminir);
      txtHp01.setText(((Caster) character).getHP());
    }

    if (type.toUpperCase().equals("DPS")) {

      character = new Dps(name,level);
      charIcon1 = getResources().getDrawable(R.drawable.dpsminir);
      txtHp01.setText(((Dps) character).getHP());
    }
  
    return character;
    
  }
  
public CharacterType createCharacter2(String playerData){
    
    CharacterType character = null;
    Scanner scanner = new Scanner(playerData);
    scanner.useDelimiter(" ");
    String type = scanner.next();
    String name = scanner.next();
    int level = Integer.parseInt(scanner.next());
    Log.d("name", name);
    Log.d("type", type);
    txtName02.setText(name);
    txtLvl02.setText("Level: " + Integer.toString(level));
    
    if (type.toUpperCase().equals("TANK")) {

      character = new Tank(name,level);
      charIcon2 = getResources().getDrawable(R.drawable.tankminil);
      txtHp02.setText(((Tank) character).getHP());
    }

    else if (type.toUpperCase().equals("CASTER")) {

      character = new Caster(name, level);
      charIcon2 = getResources().getDrawable(R.drawable.casterminil);
      txtHp02.setText(((Caster) character).getHP());
    }

    if (type.toUpperCase().equals("DPS")) {

      character = new Dps(name,level);
      charIcon2 = getResources().getDrawable(R.drawable.dpsminil);
      txtHp02.setText(((Dps) character).getHP());
    }
  
    return character;
    
  }

public void writeToFile(String input)
{
  
    //Writing to a file
       try {
         File datadir = new File("/sdcard/hustlerdata/");
         File txtfile = new File(datadir, player.getName() + ".txt");
         
         FileWriter txtwriter = new FileWriter(txtfile);
         BufferedWriter out = new BufferedWriter(txtwriter);
         out.write(input);
         out.close();

          
          } catch (IOException ioe) {
              ioe.printStackTrace();
         }    
  
  }

}


java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.