Android Open Source - dragon-wars Map Select Activity






From Project

Back to project page dragon-wars.

License

The source code is released under:

GNU General Public License

If you think the Android project dragon-wars listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/* This file is part of Dragon Wars.
 *//ww  w  .  java2  s  .co m
 * Dragon Wars is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Dragon Wars is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Dragon Wars.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.group7.dragonwars;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONException;

import android.app.Activity;
import android.content.Intent;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.group7.dragonwars.engine.BasicMapInfo;
import com.group7.dragonwars.engine.MapReader;

public class MapSelectActivity extends Activity implements OnItemClickListener {
    private List<BasicMapInfo> mapInfo = new ArrayList<BasicMapInfo>();

    @Override
    protected final void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map_select);
        ListView mapList = (ListView) this.findViewById(R.id.mapList);
        mapList.setOnItemClickListener(this);
    }

    @Override
    protected final void onStart() {
        super.onStart();

        if (mapInfo.size() == 0) {
            AssetManager assman = getAssets();
            ListView mapList = (ListView) this.findViewById(R.id.mapList);

            try {
                String[] files = assman.list("maps");

                for (int i = 0; i < files.length; ++i) {
                    String path = "maps/" + files[i];
                    BasicMapInfo info
                        = MapReader.getBasicMapInformation(path, this);
                    mapInfo.add(info);
                }

                String[] displayInfo = new String[mapInfo.size()];

                for (Integer i = 0; i < mapInfo.size(); i++) {
                    displayInfo[i] = mapInfo.get(i).getDesc();
                }

                ArrayAdapter<String> adapter =
                    new ArrayAdapter<String>(
                        this, android.R.layout.simple_list_item_1, displayInfo);
                mapList.setAdapter(adapter);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public final void onItemClick(final AdapterView<?> parent, final View v,
                                  final int position, final long id) {
        if (position < mapInfo.size()) {
            Intent intent = new Intent(this, PlayerSelectActivity.class);
            Bundle b = new Bundle();
            b.putString("mapFileName", mapInfo.get(position).getPath());
            b.putString("mapName", mapInfo.get(position).getName());

            int numPlayers = mapInfo.get(position).getPlayers();
            b.putBooleanArray("isAi", new boolean[numPlayers]);
            // boolean defaults to false, what could possibly go wrong?
            b.putInt("numPlayers", numPlayers);

            /* Make a fake player list for now, again */
            String[] playerNames = new String[numPlayers];

            for (Integer i = 0; i < numPlayers; ++i) {
                playerNames[i] = ("Player " + (i + 1));
            }

            b.putStringArray("playerNames", playerNames);

            intent.putExtras(b);
            startActivity(intent);
        }
    }



}




Java Source Code List

com.group7.dragonwars.DrawingThread.java
com.group7.dragonwars.GameActivity.java
com.group7.dragonwars.GameView.java
com.group7.dragonwars.HelpActivity.java
com.group7.dragonwars.IsAiAdapter.java
com.group7.dragonwars.MainMenuActivity.java
com.group7.dragonwars.MapSelectActivity.java
com.group7.dragonwars.PlayerSelectActivity.java
com.group7.dragonwars.Results.java
com.group7.dragonwars.StatisticsActivity.java
com.group7.dragonwars.engine.BasicMapInfo.java
com.group7.dragonwars.engine.BitmapChanger.java
com.group7.dragonwars.engine.Building.java
com.group7.dragonwars.engine.DrawableMapObject.java
com.group7.dragonwars.engine.FloatPair.java
com.group7.dragonwars.engine.FuncEx.java
com.group7.dragonwars.engine.Func.java
com.group7.dragonwars.engine.GameField.java
com.group7.dragonwars.engine.GameFinishedException.java
com.group7.dragonwars.engine.GameMap.java
com.group7.dragonwars.engine.GameState.java
com.group7.dragonwars.engine.InformationState.java
com.group7.dragonwars.engine.Logic.java
com.group7.dragonwars.engine.MapReader.java
com.group7.dragonwars.engine.Pair.java
com.group7.dragonwars.engine.PlayerAI.java
com.group7.dragonwars.engine.Player.java
com.group7.dragonwars.engine.Position.java
com.group7.dragonwars.engine.RangedUnit.java
com.group7.dragonwars.engine.Statistics.java
com.group7.dragonwars.engine.Unit.java
com.group7.dragonwars.engine.Database.Database.java
com.group7.dragonwars.engine.GoalArbitration.AtomicAction.java
com.group7.dragonwars.engine.GoalArbitration.AttackAt.java
com.group7.dragonwars.engine.GoalArbitration.BuildUnit.java
com.group7.dragonwars.engine.GoalArbitration.MoveTo.java
com.group7.dragonwars.engine.GoalArbitration.Node.java
com.group7.dragonwars.engine.GoalArbitration.StateTree.java