Zahlenraten ist eine einfache Java-Datei, mit deren Hilfe eine ganzzahlige Zufallszahl zwischen 1 und 100 vom Rechner erstellt wird und mit Zahl größer, bzw Zahl kleiner die Eingabe gelenkt wird. Mathematisch interessant sind die verschiedenen Herangehensweisen zur Bestimmung der Zahl, z.B. Intervallhalbierung, Logarithmus usw...

Diese Datei ist als activity_main.xml nach Anlegen der App z.B. unter Eclipse in den  Ordner res mit Unterordner layout zu kopieren

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/EditTextZahl"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:hint="Eingabe hier:" >

    </EditText>

    <EditText
        android:id="@+id/EditTextZahl2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint=" zu ratende Zahl zwischen 1-100 :" >

    </EditText>

    <ImageView
        android:id="@+id/zahlen"
        android:layout_width="302dp"
        android:layout_height="54dp"
        android:src="@drawable/zahlen1" />

    <Button
        android:id="@+id/Buttonzahlen"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Überprüfung hier drücken" />

    <TextView
        android:id="@+id/TextViewERGEBNIS"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="-" >
    </TextView>

    <TextView
        android:id="@+id/TextViewERGEBNIS2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="-" >
    </TextView>

    <Button
        android:id="@+id/weiter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Noch ein Spiel ?" />

</LinearLayout>

 

Die Steuerbutton sind Buttonzahlen und weiter, die Texte werden unter  EditTextZahl, EditTextZahl2  eingelesen und unter  TextViewERGEBNIS bzw. TextViewERGEBNIS2 ausgegeben. mit ImageView wird ein Bild aus  dem Ordner   drawable  mit Namen zahlen1 (drawable/zahlen1) im Display angezeigt.

 

das dazu benötigte Java-Programm ist in den Unterordner der Quelle src in der Main.Activity.Java zu kopieren,

Achtung: Sie müssen den Dateinamen ihrer App einbinden, also wo unten com.example.zahlenraten steht , ist ihr Appname einzusetzen

 

package com.example.zahlenraten;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class MainActivity extends Activity


implements OnClickListener{
/** Called when the activity is first created. */

   
    public Button Buttonzahlen,Buttonweiter;
    private EditText EditTextZahl,eingabe2;
    public TextView TextViewERGEBNIS,TextViewERGEBNIS2;
    private int i,zielzahl,eingabe;
   
   
   
    @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);
 
 //jetzt muss die App wissen, wer was ist
 
 Buttonweiter = (Button) findViewById(R.id.weiter);
 Buttonzahlen = (Button) findViewById(R.id.Buttonzahlen);
 EditTextZahl = (EditText) findViewById(R.id.EditTextZahl);
 eingabe2 = (EditText) findViewById(R.id.EditTextZahl2);
 TextViewERGEBNIS = (TextView) findViewById(R.id.TextViewERGEBNIS);
 TextViewERGEBNIS2 = (TextView) findViewById(R.id.TextViewERGEBNIS2);
 i=0;
 zielzahl = (int) (Math.random() * (100)) + 1;
 //Dem OnClickListener muss gesagt werden, dass er auf den Button achten soll
 Buttonzahlen.setOnClickListener(this);
 Buttonweiter.setOnClickListener(this);
}

//OnClick: Wird aufgerufen, wenn geklickt wird..
    @Override
   
   
    public void onClick(View v)
  {
    //(braucht man eigentlich nur bei mehreren Buttons)
    //Zwischen den Buttons unterscheiden:
    //v = View, auf die geklickt wurde, wird uns mitgegeben..
       
     if(v == Buttonzahlen)
         {
                  
            eingabe = Integer.valueOf(EditTextZahl.getText().toString());
       
              i=i+1;
                if (zielzahl>eingabe)
                    {
                        TextViewERGEBNIS.setText("Ihre Zahl ist zu klein ! " );
                        EditTextZahl.setText("");
                        eingabe2.setText("letzte Eingabe:"+eingabe);                   
                       
                    }
           
               if (zielzahl<eingabe)
                    {
                        TextViewERGEBNIS.setText("Ihre Zahl ist zu groß ! " );
                        EditTextZahl.setText("");
                        eingabe2.setText("letzte Eingabe:"+eingabe);
                       
                    }
           
              
               if (zielzahl==eingabe)
                {
                    TextViewERGEBNIS.setText("Sie haben gewonnen, die gesuchte Zahl ist "+ zielzahl);
                    TextViewERGEBNIS2.setText("Sie haben "+i+"  Versuche benötigt.");
                   
                }
           
       }
     
                      if(v == Buttonweiter)
                             {
                                 zielzahl = (int) (Math.random() * (100)) + 1;
                                 TextViewERGEBNIS.setText(" ");
                                    TextViewERGEBNIS2.setText("");
                                    EditTextZahl.setText("0");
                                    i=0;
                               }
         }
     
     
    }

 

mit der Änderung der Zahl 100 können auch andere Intervalle vorgegeben werden. Eine App mit vorheriger Abfrage des gewünschten Zahlbereiches wäre eine gute Übung.