Tic Tac Toe Bilder in Button

  • 10 Antworten
  • Letztes Antwortdatum
B

Buddenhein

Neues Mitglied
0
Hallo erstmal.
In der Schule hab ich als Javaprojekt TicTacToe und bin neu im App programmieren.
Nun hab ich 2 Fragen:

Wie füge ich eine KI ein?

Und ich habe mir überlegt wenn man Button1 klickt das vielleicht statt einem X oder einem O ein Bild im Button erscheint? Ist das möglich?


Wäre nett wenn ihr mir helfen könntet:)
Mfg Buddenhein
 
Öhm...wie meinst du KI?
Du kannst dem Button statt einen Text ein background geben.
Also
Code:
android:background="@drawable/ttt_x";

bttn.setBackgroundDrawable(getResources().getDrawable(R.drawable.ttt_x));

Gruß
 
Ki = zuffalsgenerator random

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
Künstliche Intelligenz.. Also gegen CPU spielen?

Das klappt nicht so bei mir, würde auch:

Drawable bgx = this.getResources().getDrawable(R.drawable.x);

bt1.setBackground(bgx);

funkionieren?
 
Bei den Demos zum Java SDK (also die zum Desktop Java) ist ein TicTacToe Applet dabei, die KI kann man daraus nehmen.
 
Habe diesen ganzen Schwachsinn mit KI nie verstanden :-D
Das doch nichts anderes als ein AAlgorithmus?!
Also kannst du dir sowas ja auch selbst schreiben.

Naja egal, thema beendet :)

Drawable bgx = this.getResources().getDrawable(R.drawable.x);

bt1.setBackground(bgx);
keine Ahnung was man an setbackground übergeben kann. Vermutlich funktioniert das auch.
Schau doch mal in der Android-Doku: d.android.com

€dit:
Ok, habe selbst nachgeschaut xD
This method was deprecated in API level 16.
use setBackground(Drawable) instead

UND

public void setBackground (Drawable background)
 
Also das Bild einzubinden beim Klick habe ich hinbekommen. Aber wenn ich nun auf Restart klicke wie setze ich denn das Hintergrundbild auch wieder zurück?
Mein erster Gedanke war
bt1.setBackground(default);
Gibt es nicht also (null) probiert aber dann wird der Button unsichtbar, gibt es eine Möglichkeit den Button wieder auf Standard zurückzusetzen? Oder muss ich eine Farbe für jeden Button festlegen den jeder dann bekommt?


screenshot20131ys8rdke5z.png
 
Hi,

nimm dieses drawable:
Code:
android.R.drawable.btn_default;
Alle default-werte findest du hier

Gruß
 
IceClaw schrieb:
Hi,

nimm dieses drawable:
Code:
android.R.drawable.btn_default;
Alle default-werte findest du hier

Gruß

Das hat leider nicht geklappt, dann ist es ein ganz anderer Button, weiß und sieht aus als wär das aus einer älteren version.



Und bevor ich ein neuen Thread aufmache habe ich eine weitere Frage.
Ich hab mir überlegt so was wie ein Startmenü zu machen wo dann einfach nur "Play" steht und drückt man auf play öffnet sich das Spielfenster.

Ich habe zwei .java Dateien erstellt und die Mainactivity sieht so aus:

Code:
package com.bxn.tictactoe1;

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

public class MainActivity extends Activity {

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

    
    //OnClickListener für Button1
    Button play = (Button) findViewById(R.id.play);
    play.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {
                
            Intent intent = new Intent(MainActivity.this, Game.class);
            startActivity(intent);
            finish();
                
            // TODO Auto-generated method stub
                
        }
    

});
}
}
Schreibe ich bei (MainActivity.this, Game.class); statt Game.class MainActivity.class hin öffnet der die selbe Klasse halt nochmal. Von der Funktionsweise funktioniert es ja nur schreibe ich dort Game.class hin funktioniert das ganze nicht mehr. Wo ist meni fehler?





Btw: Vielen, vielen Dank für eure Hilfe :)
 
Ich denke er nimmt immer den default Button von der minSdk... Aber keine Ahnung.

Was heißt geht nicht? Schaue mal im LogCat nach oder Post das hier. Ich gehe davon aus, dass du die Activity nicht im Manifest eingetragen hast...

Gesendet von meinem Nexus 10 mit der Android-Hilfe.de App
 
So sieht meine Manifest aus..

Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bxn.tictactoe1"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" 
        android:debuggable="true">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="keyboardHidden|orientation" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".GameActivity"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:configChanges="keyboardHidden|orientation" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        
    </application>

</manifest>

____________________________________________
Habe mein Fehler gefunden, trotzdem danke für eure Hilfe!:)
 
Zuletzt bearbeitet:

Ähnliche Themen

K
Antworten
0
Aufrufe
349
kgott
K
Zurück
Oben Unten