Hallo,
ich bin dabei ein Quiz zu programmieren. Ich habe nun das Prinzip geschrieben und es läuft (1. QC).
Ihr seht, es gibt eine Frage (und später noch ein Bild zu jeder Frage) und eine "Antwort" zu der Frage. Diese Antwort ist eine Zahl. Der Spieler Tippt die Zahl und wenn er plus minus 10% genau an sie herankommt ist er weiter.
Mein Problem dabei ist nun, dass ich nicht weis wie ich die Aufgaben :Frage mit Bild und Lösung(Zahl): wechseln soll. Ich habe ein Tutorial zu einem Quiz gemacht das ich gut finde und wo auch eine Struktur die ich übernehmen würde drin ist. Zunächst wäre das gut?(unterer Quellcode) wenn dann kann mir jemand sagen wie ich diese beiden Quellcodes mit einander verbinde? Ich bin schon bei einem Versuch daran gescheitert. (Ich hatte die double Variable nicht als Antwort hinbekommen und es gab Probleme der weiteren Berechnung)
Oder sollte ich es gleich anders machen? Mit sql Datenbank zumal ich sowieso später eine Random Fragen Wahl bevorzugen würde. Kennt jemand gute Tutorials in denen ich dass erlernen könnte?
Mein Code
package com.example.converter2;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
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 ActionBarActivity implements OnClickListener {
Button btn;
EditText et;
TextView tvresult;
TextView tvcount;
int Count;
double Tipp;
double Ergebnis;
double Lösung;
double Lösungpro;
double GegenLösung;
double Ergebnispro;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.btn);
et = (EditText)findViewById(R.id.et);
tvresult = (TextView)findViewById(R.id.tvresult);
tvcount = (TextView)findViewById(R.id.tvcount);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(et.getText().toString()))
{
return;
}
double Lösung = 400; // Diese Variable ist die Lösung die für jede Aufgabe benötigt wird
double Lösungpro = Lösung/10;
double Tipp = Double.valueOf(et.getText().toString());
double Ergebnis = Lösung-Tipp;
double GegenLösung = Lösung/-10;
double Ergebnispro = Ergebnis-Lösung*100;
if (Ergebnis <= Lösungpro && Ergebnis >= GegenLösung){
tvresult.setText(Ergebnis+
"Du bist weiter");
}
else{
tvresult.setText(Ergebnis+
"Du bist nicht weiter"+
"Dein Tipp:"+Tipp);
}
if ((Ergebnis <= Lösungpro && Ergebnis >= GegenLösung)) {
Count = Count + 1;
tvcount.setText(Integer.toString(Count));
}
else {
tvcount.setText(Integer.toString(Count = 0));
}
};
}
Alles anzeigen
Quiz Vorlage
package com.example.quiz;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
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 ActionBarActivity {
private int currentQuestion;
private String[] questions;
private String[] answers;
private Button answerButton;
private Button questionButton;
private TextView questionView;
private TextView answerView;
private EditText answerText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
public void init() {
questions = new String[] { "Lösung ist x",
"Lösung ist A?","Lösung ist B","Lösung ist C" };
answers = new String[] { "x", "A", "B" };
currentQuestion = -1;
answerButton = (Button) findViewById(R.id.AnswerButton);
questionButton = (Button) findViewById(R.id.QuestionButton);
questionView = (TextView) findViewById(R.id.QuestionTextView);
answerView = (TextView) findViewById(R.id.AnswerTextView);
answerText = (EditText) findViewById(R.id.AnswerText);
answerButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(answerText.getText().toString()))
{
return;
}
checkAnswer();
}
});
questionButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showQuestion();
}
});
}
public void showQuestion() {
currentQuestion++;
if (currentQuestion == questions.length)
currentQuestion = 0;
questionView.setText(questions[currentQuestion]);
answerView.setText("");
answerText.setText("");
}
public boolean isCorrect(String answer) {
return (answer.equalsIgnoreCase(answers[currentQuestion]));
}
public void checkAnswer() {
String answer = answerText.getText().toString();
if (isCorrect(answer))
answerView.setText("You're right!");
else
answerView.setText("Sorry, the correct answer is "
+ answers[currentQuestion]);
}
}
Alles anzeigen
Sorry dass es so viel ist!
Über Antworten würde ich micht freuen
LG Ben