diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..0461652 --- /dev/null +++ b/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.gitignore b/.gitignore index 5ebd21a..c184c0a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ ################# *.pydevproject -.project .metadata bin/ tmp/ @@ -12,7 +11,6 @@ tmp/ *.swp *~.nib local.properties -.classpath .settings/ .loadpath diff --git a/.project b/.project new file mode 100644 index 0000000..fb968db --- /dev/null +++ b/.project @@ -0,0 +1,44 @@ + + + Dark Scorpion Slot + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c54c2c7..bc8f3ee 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,11 +1,11 @@ + android:versionName="1.4" android:installLocation="auto"> + android:targetSdkVersion="19" /> - - Игровой Автомат - Фруктовый автомат - Descript - #1088F1 - Ставка - Запустить автомат - Баланс: - Получить деньги - + - - - + + + Игровой Автомат + Фруктовый автомат + Descript + #1088F1 + Ставка + Запустить автомат + Баланс: + Получить деньги + + + - + \ No newline at end of file diff --git a/src/com/as/slotmachine/MainActivity.java b/src/com/as/slotmachine/MainActivity.java index 347981e..d7ea716 100644 --- a/src/com/as/slotmachine/MainActivity.java +++ b/src/com/as/slotmachine/MainActivity.java @@ -1,12 +1,19 @@ package com.as.slotmachine; -// + +/* + * . + */ import java.util.Random; +import android.media.MediaPlayer; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; +import android.content.SharedPreferences; import android.content.DialogInterface.OnClickListener; +import android.content.SharedPreferences.Editor; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -18,183 +25,292 @@ import android.widget.TextView; import android.widget.Toast; -public class MainActivity extends Activity -{ - final static int StandartBet = 5; - final static int MaximalBet = 1000; - Random rndNum = new Random(); - int bet=5; - int balance=100; - int imageIDSize,i,n=3; - Button btnBetUp,btnBetDown,btnStart; +/** + * + * @author + */ +public class MainActivity extends Activity { + /** + * + * @author + */ + private static class Music { + private static MediaPlayer mp = null; + + private static MediaPlayer sp = null; + + public static void play(Context context, int resource) { + stop(context); + mp = MediaPlayer.create(context, resource); + mp.setLooping(true); + mp.start(); + } + + public static void sound(Context context, int resource) { + sp = MediaPlayer.create(context, resource); + sp.start(); + } + + public static void stop(Context context) { + if (mp != null) { + mp.stop(); + mp.release(); + mp = null; + } + } + } + + private final static int STANDARD_BET = 5; + + private final static int MAXIMAL_BET = 1000; + + private final static Random PRNG = new Random(); + + int bet = 5; + + int balance; + + int imageIdSize, i; + + int FruitCount = 3; + + SharedPreferences sPref; + TextView tvBet, tvBalance; - // - private int [] imageId = { - R.drawable.fruit00, // - R.drawable.fruit01, - R.drawable.fruit02, - R.drawable.fruit03, - R.drawable.fruit04, - R.drawable.fruit05, - R.drawable.fruit06, - R.drawable.fruit07 - }; - - @Override - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - // UI - imageIDSize = imageId.length; - btnBetUp = (Button)findViewById(R.id.btnBetUp); - btnBetDown = (Button)findViewById(R.id.btnBetDown); - btnStart = (Button)findViewById(R.id.buttonStart); - tvBet = (TextView)findViewById(R.id.textViewBet); - tvBalance = (TextView)findViewById(R.id.textViewBalance); - } - // - public void btnBetUp_Click(View v) - { - if(bet0) // - { - bet-=StandartBet; - tvBet.setText("$"+bet); + + Button btnBetUp, btnBetDown, btnStart; + + /** + * . fruit00 - . + */ + private int[] imageId = { R.drawable.fruit00, R.drawable.fruit01, + R.drawable.fruit02, R.drawable.fruit03, R.drawable.fruit04, + R.drawable.fruit05, R.drawable.fruit06, R.drawable.fruit07 }; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + /* + * UI . + */ + imageIdSize = imageId.length; + btnBetUp = (Button) findViewById(R.id.btnBetUp); + btnBetDown = (Button) findViewById(R.id.btnBetDown); + btnStart = (Button) findViewById(R.id.buttonStart); + tvBet = (TextView) findViewById(R.id.textViewBet); + tvBalance = (TextView) findViewById(R.id.textViewBalance); + LoadBalance(); + } + + /** + * . + * + * @param v + */ + public void btnBetUp_Click(View v) { + /* + * . + */ + if (bet + STANDARD_BET < MAXIMAL_BET) { + bet += STANDARD_BET; + tvBet.setText("$" + bet); + } else { + ShowMessage(" "); } - else ShowMessage(" "); - } - // - public void btnStart_Click(View v) - { - if (balance-bet >=0 )// - { - balance-=bet; - tvBalance.setText("$"+balance); - StartGame(); - } - else - { - ShowMessage(" !"); - bet=5; - tvBet.setText("$"+bet); - } - - } - // - public void StartGame() - { - Animation ScaleAnim; - int prize; - int randBuffer[] = new int [n]; - ImageView [] ivFruit = { - (ImageView)findViewById(R.id.imageView1), - (ImageView)findViewById(R.id.imageView2), - (ImageView)findViewById(R.id.imageView3) - }; - // . - for(i=0;i 0) { + bet -= STANDARD_BET; + tvBet.setText("$" + bet); + } else { + ShowMessage(" "); + } + } + + /** + * . + * + * @param v + */ + public void btnStart_Click(View v) { + /* + * . + */ + if (balance - bet >= 0) { + balance -= bet; + tvBalance.setText("$" + balance); + StartGame(); + } else { + ShowMessage(" !"); + bet = 5; + tvBet.setText("$" + bet); + } + + } + + /** + * + */ + public void StartGame() { + int prize; + + Animation ScaleAnim; + + int randBuffer[] = new int[FruitCount]; + + ImageView[] ivFruit = { (ImageView) findViewById(R.id.imageView1), + (ImageView) findViewById(R.id.imageView2), + (ImageView) findViewById(R.id.imageView3) }; + + /* + * . + */ + for (i = 0; i < FruitCount; i++) { + randBuffer[i] = PRNG.nextInt(imageIdSize); + ivFruit[i].setImageResource(imageId[randBuffer[i]]); + + /* + * . + */ + ScaleAnim = AnimationUtils.loadAnimation(this, R.anim.scale_anim); + ivFruit[i].startAnimation(ScaleAnim); + } + + /* + * . + */ + prize = CheckPrize(randBuffer) * bet; + if (prize != 0) { + Music.sound(this, R.raw.slotcoin); + ShowMessage(" : $" + prize); + AddMoney(prize); + } + } + + /** + * . + * + * @param imageNum + * + * @return + */ + public int CheckPrize(int imageNum[]) { + if (imageNum[0] == imageNum[1] && imageNum[1] == imageNum[2]) + return imageNum[1] * 2; + if (imageNum[0] == imageNum[1] || imageNum[1] == imageNum[2]) + return imageNum[1]; + if (imageNum[0] == imageNum[2]) + return imageNum[0]; + return 0; + } + + /** + * . + * + * @param s + */ + public void ShowMessage(String s) { + Toast toast1 = Toast.makeText(getApplicationContext(), s, + Toast.LENGTH_SHORT); + toast1.setGravity(Gravity.CENTER, 0, 0); + toast1.show(); + } + + /** + * . + * + * @param money + */ + public void AddMoney(int money) { + balance += money; + tvBalance.setText("$" + balance); + } + @Override - public void onBackPressed() - { - new AlertDialog.Builder(this) - .setTitle(" ") - .setMessage(" ?") - .setNegativeButton("", null) - .setPositiveButton("", new OnClickListener() - { - public void onClick(DialogInterface arg0, int arg1) - { - finish(); // Activity + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.activity_main, menu); + return true; + } + + /** + * . + */ + @Override + protected void onResume() { + super.onResume(); + Music.play(this, R.raw.main); + } + + /** + * . + */ + @Override + protected void onPause() { + super.onPause(); + SaveBalance(balance); + Music.stop(this); + } + + /** + * . + */ + @Override + public void onBackPressed() { + new AlertDialog.Builder(this).setTitle(" ") + .setMessage(" ?") + .setNegativeButton("", null) + .setPositiveButton("", new OnClickListener() { + public void onClick(DialogInterface arg0, int arg1) { + /* + * Activity. + */ + finish(); + } + }).create().show(); + } + + /** + * + * @param balance + */ + public void SaveBalance(int balance) { + sPref = getSharedPreferences("FruitMachin_data", MODE_PRIVATE); + Editor ed = sPref.edit(); + ed.putInt("Balance", balance); + ed.commit(); + } + + /** + * + */ + public void LoadBalance() { + sPref = getSharedPreferences("FruitMachin_data", MODE_PRIVATE); + balance = sPref.getInt("Balance", 150); + tvBalance.setText("$" + balance); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + /* + * . + */ + switch (item.getItemId()) { + case R.id.menu_AddMoney: + AddMoney(500); + return true; + default: + return super.onOptionsItemSelected(item); } - }).create().show(); - } - - - @Override - public boolean onOptionsItemSelected(MenuItem item) - { - // - switch (item.getItemId()) - { - case R.id.menu_AddMoney: - AddMoney(500); - return true; - default: - return super.onOptionsItemSelected(item); - } - } + } } diff --git a/src/com/as/slotmachine/Music.java b/src/com/as/slotmachine/Music.java deleted file mode 100644 index 88b81a9..0000000 --- a/src/com/as/slotmachine/Music.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.as.slotmachine; - -import android.content.Context; -import android.media.MediaPlayer; - -public class Music -{ - private static MediaPlayer mp = null; - - public static void play(Context context, int resource) - { - stop(context); - mp = MediaPlayer.create(context, resource); - mp.setLooping(true); - mp.start(); - } - - public static void sound (Context context, int resource) - { - MediaPlayer sp; - sp = MediaPlayer.create(context, resource); - sp.start(); - } - - - public static void stop(Context context) - { - if (mp != null) - { - mp.stop(); - mp.release(); - mp = null; - } - } -}