Как я могу показать общий счет на экране игрока, не используя тост - PullRequest
1 голос
/ 25 апреля 2020

Я сделал более низкую игру. если игрок угадает число, которое он получит, определенное c количество очков в зависимости от того, сколько попыток у него было, я написал код, у меня есть общее количество, но я не знаю, как отобразить его в текстовом или текстовом виде, что угодно, но не тост. Вот код:

package com.markusappcompany.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

    int total =0;

    int score = 20;

    int nr= 1;

    int randomNumber;

    public void generateRandomNumber(){

     Random rand = new Random();

      randomNumber = rand.nextInt(20)+1;
 }
public void clickFunction(View view){

     EditText editText = (EditText) findViewById(R.id.editText);


    int guessValue = Integer.parseInt(editText.getText().toString());



    String message;

    if(guessValue > randomNumber)
    {
        message = "Mai mic!";

        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();

        nr= nr +1;

        score = score - 2;

    } else if( guessValue < randomNumber) {

        message = "Mai mare!";

        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();

        nr = nr +1;

    } else {

        total = total+score;

        if (nr == 1) {

            message = "YAY! Ai ghicit din prima! Incearca din nou" ;

            Toast.makeText(this, message + "+" + score, Toast.LENGTH_LONG).show();

            generateRandomNumber();

            score = 20;

        } else {

        message = "YAY! Incearca din nou! Ai ghicit din " ;

        Toast.makeText(this, message + " " + nr +" incercari" + "+" +  score  + " " + total, Toast.LENGTH_LONG).show();

здесь сумма указана в тосте. Я хочу, чтобы он постоянно отображался на экране в виде текста.

       generateRandomNumber();

        nr = 1;

        score = 20;
        }

    }
    Log.i("Entered value", editText.getText().toString());

    Log.i("info", Integer.toString(randomNumber));


    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       generateRandomNumber();

    }
}

Ответы [ 2 ]

3 голосов
/ 25 апреля 2020

добавьте textView в свой макет, добавьте android:id="totalScore" в свой макет к textView

в свой java получите ссылку на ваш textView TextView tv = findViewById(R.id.totalScore); и установите желаемую строку

tv.setText("score here");

0 голосов
/ 25 апреля 2020

В вашем activity_main.xml добавьте это TextView

<TextView
android:id = "@+id/text_view"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"

/>

В вашем MainActivity классе по onCreate() методу

  class MainActivity extends......
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         //find textview
         textView = findViewById(R.id.text_view);

         generateRandomNumber();

      }
    }

Теперь установите для балла total значение textView

.........
} else {
message = "YAY! Incearca din nou! Ai ghicit din " ;
String text = message + " " + nr +" incercari" + "+" +  String.valueOf(score)  + " " + String.valueOf(total);


textView.setText(text);
...........
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...