Guardar valor solicitado al usuario para mostrarlo posteriormente.
Etiqueta: variables
06 Scratch3. Bloques
Serie de videos con introduccion a los tipos bloques incluidos en la nueva version de Scratch, antes de empezar con la programacion en si.
Movimiento / Apariencia
Sonido / Eventos
Control / Sensores
Operadores
Variables
Funcion o metodo
Juego Adivina Numero
Como realizar un sencillo juego de adivinar el numero con Scratch.
Veremos como realizar bloques para evitar repetir codigo, bucles, condicionales, variables, generacion de numero al azar, etc.
43 Scratch. Suma numeros Cambio de nivel
Preparamos nuestro proyecto para realizar el cambio de nivel y dificultad.
07 Android. Esquinas redondeadas en botones
Se añade codigo para poner las variables a 0 de la aplicacion MarcadorBaloncesto del video anterior, tambien se ve como redondear las esquinas de los botones y como añadir colores al archivo colors.xml.
esquinaredondeada
<?xml version="1.0" encoding="utf-8"?><shape xmlns: android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ffffff"/> <stroke android:width="3dp" android:color="#ff000000"/> <padding android:left="1dp" android:top="1dp" android:right="1dp" android:bottom="1dp"/> <corners android:radius="30px"/> </shape>
colors
<?xml version="1.0" encoding="utf-8"?><resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <color name="colorAmarillo">#ffe940</color> <color name="colorVerde">#40ff53</color> </resources>
styles
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light. DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark"> @color/colorPrimaryDark </item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="boton"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:padding">10dp</item> <item name="android:layout_margin">10dp</item> <item name="android:background">@drawable/ esquinaredondeada</item> <item name="android:layout_gravity">center</item> <item name="android:gravity">center</item> <item name="android:textColor">@color/colorAccent</item> </style> <style name="texto"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:textSize">24sp</item> <item name="android:textColor">@color/colorAmarillo </item> <item name="android:gravity">center</item> </style> <style name="titulo"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:textSize">32sp</item> <item name="android:textColor">@color/colorVerde</item> <item name="android:gravity">center</item> </style> </resources>
activity_main
<?xml version="1.0" encoding="utf-8"?><android.support. constraint.ConstraintLayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="ticoticotaa.es.marcadorbaloncesto. MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tvTitulo" style="@style/titulo" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tvMarcadorLocal" style="@style/texto" /> <Button android:id="@+id/btnLocal2" style="@style/boton" android:text="@string/dosPuntos"/> <Button android:id="@+id/btnLocal3" style="@style/boton" android:text="@string/tresPuntos" /> <Button android:id="@+id/btnLocal1" style="@style/boton" android:text="@string/unPunto"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tvMarcadorVisitante" style="@style/texto" /> <Button android:id="@+id/btnVisitante2" style="@style/boton" android:text="@string/dosPuntos"/> <Button android:id="@+id/btnVisitante3" style="@style/boton" android:text="@string/tresPuntos"/> <Button android:id="@+id/btnVisitante1" style="@style/boton" android:text="@string/unPunto"/> </LinearLayout> </LinearLayout> <Button android:id="@+id/btnReset" style="@style/boton" android:text="@string/reset"/> </LinearLayout> </android.support.constraint.ConstraintLayout>
MainActivity
package ticoticotaa.es.marcadorbaloncesto; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnClickListener { public TextView marcadorLocal, marcadorVisitante,titulo; public Button btn1Local,btn2Local,btn3Local, btn1Visitante,btn2Visitante,btn3Visitante,btnReset; public int puntuacionLocal,puntuacionVisitante,puntos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); titulo=(TextView)findViewById(R.id.tvTitulo); titulo.setText("Marcador Basket"); marcadorLocal=(TextView)findViewById (R.id.tvMarcadorLocal); marcadorVisitante=(TextView)findViewById (R.id.tvMarcadorVisitante); marcadorLocal.setText("Local: "+0); marcadorVisitante.setText("Visitante: "+0); btn1Local=(Button)findViewById(R.id.btnLocal1); btn2Local=(Button)findViewById(R.id.btnLocal2); btn3Local=(Button)findViewById(R.id.btnLocal3); btn1Visitante=(Button)findViewById (R.id.btnVisitante1); btn2Visitante=(Button)findViewById (R.id.btnVisitante2); btn3Visitante=(Button)findViewById (R.id.btnVisitante3); btnReset=(Button)findViewById(R.id.btnReset); btn1Local.setOnClickListener(this); btn2Local.setOnClickListener(this); btn3Local.setOnClickListener(this); btn1Visitante.setOnClickListener(this); btn2Visitante.setOnClickListener(this); btn3Visitante.setOnClickListener(this); btnReset.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.btnLocal1: incrementa(1,1); break; case R.id.btnLocal2: incrementa(1,2); break; case R.id.btnLocal3: incrementa(1,3); break; case R.id.btnVisitante1: incrementa(2,1); break; case R.id.btnVisitante2: incrementa(2,2); break; case R.id.btnVisitante3: incrementa(2,3); break; case R.id.btnReset: borra(); break; } } public void incrementa(int equipo, int puntos){ if (equipo==1){ puntuacionLocal=puntuacionLocal+puntos; marcadorLocal.setText("Local: "+puntuacionLocal); }else{ puntuacionVisitante=puntuacionVisitante+puntos; marcadorVisitante.setText("Visitante: " +puntuacionVisitante); } } public void borra(){ marcadorLocal.setText("Local: "+0); marcadorVisitante.setText("Visitante: "+0); puntuacionLocal=0; puntuacionVisitante=0; } }
06 Android. Marcador Basket
Creamos una aplicacion en la que iremos reflejando el marcador del equipo local y visitante de un partido de baloncesto.
En el codigo podras ver que se me paso poner las variables de los marcadores a cero cuando se pulsa el boton de Reset, en el metodo borra debes añadir puntuacionLocal=0 y puntuacionVisitante=0.
En unos dias lanzare un video mejorando la estetica de esta aplicacion, en ese video añadire el codigo de borrado de variables.
MainActivity
package ticoticotaa.es.marcadorbaloncesto; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnClickListener { public TextView marcadorLocal, marcadorVisitante,titulo; public Button btn1Local,btn2Local,btn3Local, btn1Visitante,btn2Visitante,btn3Visitante,btnReset; public int puntuacionLocal,puntuacionVisitante,puntos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); titulo=(TextView)findViewById(R.id.tvTitulo); titulo.setText("Marcador Basket"); marcadorLocal=(TextView)findViewById (R.id.tvMarcadorLocal); marcadorVisitante=(TextView)findViewById (R.id.tvMarcadorVisitante); marcadorLocal.setText("Local: "+0); marcadorVisitante.setText("Visitante: "+0); btn1Local=(Button)findViewById(R.id.btnLocal1); btn2Local=(Button)findViewById(R.id.btnLocal2); btn3Local=(Button)findViewById(R.id.btnLocal3); btn1Visitante=(Button)findViewById(R.id.btnVisitante1); btn2Visitante=(Button)findViewById(R.id.btnVisitante2); btn3Visitante=(Button)findViewById(R.id.btnVisitante3); btnReset=(Button)findViewById(R.id.btnReset); btn1Local.setOnClickListener(this); btn2Local.setOnClickListener(this); btn3Local.setOnClickListener(this); btn1Visitante.setOnClickListener(this); btn2Visitante.setOnClickListener(this); btn3Visitante.setOnClickListener(this); btnReset.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.btnLocal1: incrementa(1,1); break; case R.id.btnLocal2: incrementa(1,2); break; case R.id.btnLocal3: incrementa(1,3); break; case R.id.btnVisitante1: incrementa(2,1); break; case R.id.btnVisitante2: incrementa(2,2); break; case R.id.btnVisitante3: incrementa(2,3); break; case R.id.btnReset: borra(); break; } } public void incrementa(int equipo, int puntos){ if (equipo==1){ puntuacionLocal=puntuacionLocal+puntos; marcadorLocal.setText("Local: "+puntuacionLocal); }else{ puntuacionVisitante=puntuacionVisitante+puntos; marcadorVisitante.setText("Visitante: " +puntuacionVisitante); } } public void borra(){ marcadorLocal.setText("Local: "+0); marcadorVisitante.setText("Visitante: "+0); } }
Activity_main xml
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="ticoticotaa.es.marcadorbaloncesto.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tvTitulo" style="@style/texto" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tvMarcadorLocal" style="@style/texto" /> <Button android:id="@+id/btnLocal2" style="@style/boton" android:text="@string/dosPuntos"/> <Button android:id="@+id/btnLocal3" style="@style/boton" android:text="@string/tresPuntos" /> <Button android:id="@+id/btnLocal1" style="@style/boton" android:text="@string/unPunto"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/tvMarcadorVisitante" style="@style/texto" /> <Button android:id="@+id/btnVisitante2" style="@style/boton" android:text="@string/dosPuntos"/> <Button android:id="@+id/btnVisitante3" style="@style/boton" android:text="@string/tresPuntos"/> <Button android:id="@+id/btnVisitante1" style="@style/boton" android:text="@string/unPunto"/> </LinearLayout> </LinearLayout> <Button android:id="@+id/btnReset" style="@style/boton" android:text="@string/reset"/> </LinearLayout> </android.support.constraint.ConstraintLayout>
Styles
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark"> @color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="boton"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:padding">10dp</item> <item name="android:layout_margin">10dp</item> <item name="android:background"> @color/colorPrimaryDark</item> <item name="android:layout_gravity">center</item> <item name="android:gravity">center</item> <item name="android:textColor">@color/colorAccent</item> </style> <style name="texto"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">wrap_content</item> <item name="android:textSize">24sp</item> <item name="android:textColor">@color/colorAccent</item> <item name="android:gravity">center</item> <item name="android:textColor">@color/colorAccent</item> </style> </resources>
04 Python. Obteniendo datos del usuario
Obtener datos del usuario y operar con ellos.
28 Scratch. Bloque variables
Crear variables y listas con Scratch, darles valor y mostrarlos.
14 Java. Programacion visual
Ejemplo de programacion visual con java, realizaremos una aplicacion sencilla que sume dos operadores obtenidos desde cuadros de textos de una ventana.
Scratch – 23 Aplicacion Sumas
Aplicacion sumas con Scratch, usando variables, bucles, condicionales, interaccion con objetos.
Parte 2 del video.