android: GiocoDadi applicazione – App Facile

android

AndroidLayout android vargas

android

android vargas

android

android vargas

android

android vargas

App Android Didattica:

primi passi:

  • Aprire Eclipse
  • Lanciare l’Emulatore adatto
  • Creare 3 Activity – Main -Gioco – Punteggi
  • Creare 3 layOut – Main – Gioco – Punteggi
  • Rinominare le variabili di layOut
  • Preparare le Immagini (1 presentazione, dadi, finale)
  • Creare cartella drawable
  • Copiare le immagini in drawable
  • Scrivere 3 Activity- MainActivity – GiocoActivity -PunteggiActivity
  • Salvare il tutto
  • Provare la interfaccia nell’Emulatore
  • Corregere posiibili errori
  • Inserire codice Java in ogni Activity – Usando Intent
  • Compilare – cancellare Errori
  • Provare

***************************************************************************************************************

MainActivity

package it.onzeonze.giocodadi;

/**
* @author vargas carmen
* @ e-mail onzeonze@live.it
* @ copyright © tutti i diritti riservati – 2013
* @ https://ellashoy.wordpress.com
*
*/

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//tre view del layout activity_main
Button btstart;
Button btexit;
ImageView im1;

super.onCreate(savedInstanceState);

//layout della attività principale
setContentView(R.layout.activity_main);

//immagine generale della prima activity (main)
im1 = (ImageView) findViewById(R.drawable.dadi);

//pulsanti
btstart = (Button) findViewById(R.id.bstart);
btexit = (Button) findViewById(R.id.bexit);
//listener per Button Start
btstart.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// se click su Start chiama la Activity del Gioco
//attenzione al primo parametro (getApplicationContext)!!!
Intent chiama = new Intent(getApplicationContext(),
GiocoActivity.class);
startActivity(chiama);
}
});
//Listener per Button Esci
btexit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// exit
finish();

}
});

}

// main
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

********************************************************************************************************

GiocoActivity

package it.onzeonze.giocodadi;

/**
* @author vargas carmen
* @ e-mail onzeonze@live.it
* @ copyright © tutti i diritti riservati – 2013
* @ https://ellashoy.wordpress.com
*
*/
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class GiocoActivity extends Activity {
/**
* creazione di un array di interi [dadi] con indirizzi
* in R delle immagini importate nella nuova cartella drawable
* dado1,dado2,dado3,dado4,dado5,dado6
*
*/

int [ ] dadi = {R.drawable.dado1,
R.drawable.dado2,
R.drawable.dado3,
R.drawable.dado4,
R.drawable.dado5,
R.drawable.dado6
};
// le quattro view: imd1,imd2,imd3 e il button Lancia
ImageView imd1;
ImageView imd2;
ImageView imd3;

Button btlancia;
// il contatore di lanci (fino a 10)
int cont = 0;
// il accumulatore di punti
int accum= 0;
// i tre numeri random per i lancio dei dadi e cambio delle immagini
int x1 = 0;
int x2 = 0;
int x3 = 0;
int sommaVal;
int temp;

//
TextView tv7;
TextView tv4;
String mess;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_gioco);

Thread thread = new Thread();
thread.start();

//le view delle immagini da caricare dopo i numeri random
imd1 = (ImageView) findViewById(R.id.imd1);
imd2 = (ImageView) findViewById(R.id.imd2);
imd3 = (ImageView) findViewById(R.id.imd3);

//il button Lancia il gioco
btlancia = (Button) findViewById(R.id.btlancia);
// il listener per il button che lancia il gioco
btlancia.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// genera 3 numeri ramdom da 1 a 6

sommaVal=0;

x1=(int) ((Math.random()*6)+1);
x2=(int) ((Math.random()*6)+1);
x3=(int) ((Math.random()*6)+1);

// quando lancia carica le immagine dell array dadi attenzione [0]

imd1.setImageResource(dadi[x1-1]);
imd2.setImageResource(dadi[x2-1]);
imd3.setImageResource(dadi[x3-1]);

//dopo il primo lancio valore della somma
sommaVal=(x1+x2+x3);
temp=(x1+x2+x3);

// incremento del contatore di lanci fino a 10

cont= cont+1;
//verifica i vali in numeri dei dadi lanciati

if ((x1 == x2) && (x2 == x3)){
//sono uguali un Tris 1-1-1 o 0-0-0
temp=(sommaVal*3);
accum=accum+(sommaVal*3);
mess=(“TRIS !!!”);
}
if (((x1 == x2) && (x2!= x3)) ||
((x1 != x2) && (x2 == x3) ||
(x1 != x2)&& (x1 == x3)))
{//bis 1-1-0 (001) o 1-0-0 (011) o 1-0-1 (010)

mess=(“BIS !!”);
temp=(sommaVal*2);
accum=accum+(sommaVal*2);
}
if ((x1 != x2) && (x2!= x3)&& (x1 != x3)){
//tutti diversi
mess=(“DIVERSI “);
temp=(sommaVal*1);
accum=accum+(sommaVal*1);
}
// La text view per mostrare i dati da passare
tv4 = (TextView) findViewById(R.id.tv4);
// fa vedere il punteggio nella textView

tv4.setText(“Lancio No.” + cont + ” ” + mess);
tv7 = (TextView) findViewById(R.id.tv7);
tv7.setText(” Lancio”+ sommaVal+ “Punteggio ” + temp);

//
/** verifica del numero di lanci
* quando uguale a 5
* creare l’intent. !attenzione a getApplicationContext, chiama terza * activity
* registre il accumulatore dei punteggi negli -extra del intent-
* per passarlo alla prossima atiivity
* finire la attività
*/
if (cont == 10) {
// ripeto per ritardare un poco (meglio un thread !!
tv4.setText(“Lancio No.” + cont +” ” + mess);
tv7 = (TextView) findViewById(R.id.tv7);
tv7.setText(” Valore”+ sommaVal+ ” punteggio ” + temp);
//for (int l =1;l<=300000000;l++){
// cont=cont-1;
}//
// chiama terza activity
Intent i = new Intent(getApplicationContext(),PunteggiActivity.class);
i.putExtra(“accum”, accum);
//qua ?
startActivity(i);
finish();
}

}
});

}
//gioco
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.gioco, menu);
return true;
}

}

***********************************************************************************************************

PunteggiActivity

package it.onzeonze.giocodadi;
/**
* @author vargas carmen
* @ e-mail onzeonze@live.it
* @ copyright © tutti i diritti riservati – 2013
* @ https://ellashoy.wordpress.com
*
*/
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;

public class PunteggiActivity extends Activity {
//la tex view risultante
TextView tv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_punteggi);
//una TextView per mostrare il punteggio
//accumulatore nel lancio ripetuto dei dadi
tv2 = (TextView) findViewById(R.id.tv2);
//racogli i valore pasatto nel intent della activity anterior
int valore = getIntent().getExtras().getInt(“accum”);
// fa vedere il punteggio nella textView
tv2.setText(“PUNTEGGIO FINALE ” + valore);
}
//punteggi
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.punteggi, menu);
return true;
}

}