diff options
author | Camil Staps | 2015-04-29 10:59:40 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-29 10:59:40 +0200 |
commit | 240eaf2f0d5b2896232906277c7f2df2aaaeebd1 (patch) | |
tree | 1b84fa3f2437356e73044fc039f31c64efeb855b /app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java | |
parent | Merge branch 'master' of github:camilstaps/RushHourAndroid into MainActivity (diff) | |
parent | Cleanup (diff) |
Merge branch 'master' into MainActivity
Diffstat (limited to 'app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java')
-rwxr-xr-x[-rw-r--r--] | app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java index 1c0b2ab..d7958c3 100644..100755 --- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java +++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java @@ -1,17 +1,18 @@ package com.camilstaps.rushhour; import android.app.Activity; -import android.graphics.Color; import android.media.AudioManager; import android.media.SoundPool; import android.os.Bundle; import android.view.ViewTreeObserver; import android.widget.RelativeLayout; +import java.io.InputStream; + public class GamePlayActivity extends Activity { private SoundPool soundPool; - private int soundBackgroundId, soundCarDriveId; + private int soundBackgroundId, soundCarDriveId, soundCantMoveId; @Override protected void onCreate(Bundle savedInstanceState) { @@ -19,31 +20,12 @@ public class GamePlayActivity extends Activity { setContentView(R.layout.activity_fullscreen); - final Board board = new Board(); - board.add(new Car(new Coordinate(0,0), new Coordinate(2,0), Color.YELLOW)); - board.add(new Car(new Coordinate(3,0), new Coordinate(3,1), Color.rgb(128,223,182))); - board.add(new Car(new Coordinate(4,0), new Coordinate(4,2), Color.rgb(198, 134,221))); - board.add(new Car(new Coordinate(0,2), new Coordinate(1,2), Color.RED)); - board.add(new Car(new Coordinate(5,2), new Coordinate(5,3), Color.rgb(255,165,0))); - board.add(new Car(new Coordinate(0,3), new Coordinate(0,4), Color.rgb(158,231,246))); - board.add(new Car(new Coordinate(1,3), new Coordinate(2,3), Color.rgb(245,158,246))); - board.add(new Car(new Coordinate(3,3), new Coordinate(4,3), Color.rgb(150,126,196))); - board.add(new Car(new Coordinate(1,4), new Coordinate(2,4), Color.GREEN)); - board.add(new Car(new Coordinate(3,4), new Coordinate(3,5), Color.BLACK)); - board.add(new Car(new Coordinate(5,4), new Coordinate(5,5), Color.rgb(219,202,161))); - board.add(new Car(new Coordinate(0,5), new Coordinate(2,5), Color.rgb(25,195,167))); + setupSoundPool(); - soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0); - soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { - @Override - public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { - if (sampleId == soundBackgroundId) { - soundPool.play(soundBackgroundId, 1, 1, 2, -1, 1); - } - } - }); - soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); - soundBackgroundId = soundPool.load(this, R.raw.tune, 2); + InputStream input = getResources().openRawResource(R.raw.level); + + BoardLoader loader = new BoardLoader(); + final Board board = loader.loadBoard(input); final RelativeLayout boardLayout = (RelativeLayout) findViewById(R.id.board); ViewTreeObserver vto = boardLayout.getViewTreeObserver(); @@ -55,11 +37,37 @@ public class GamePlayActivity extends Activity { } }); + /* + * Sounds on move and attempt to move + */ board.setDriveListener(new DriveListener() { @Override public void onDrive() { soundPool.play(soundCarDriveId, 1, 1, 1, 0, 1); } + + @Override + public void onBlocked() { + soundPool.play(soundCantMoveId, 1, 1, 1, 0, 1); + } + }); + } + + /** + * Load sounds; start background music + */ + protected void setupSoundPool() { + soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0); + soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { + @Override + public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { + if (sampleId == soundBackgroundId) { + soundPool.play(soundBackgroundId, 1, 1, 2, -1, 1); + } + } }); + soundBackgroundId = soundPool.load(this, R.raw.tune, 2); + soundCarDriveId = soundPool.load(this, R.raw.car_drive, 1); + soundCantMoveId = soundPool.load(this, R.raw.cantmove, 1); } } |