Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.Scanner;
- public class ristinolla {
- public static void main(long luku) {
- String s= Long.toString(luku);
- String numerot="0123456789";
- boolean b=false;
- int temp=0;
- for(int i=0; i<s.length(); i++) {
- for(int j=0; j<numerot.length(); j++) {
- if(s.charAt(i)!=numerot.charAt(j)) {
- temp+=1;
- }
- }
- }
- if(temp==s.length()-1) {
- b=true;
- } else {
- b=false;
- System.out.print("Virheellinen syöte");
- }
- String[][] lauta=null;
- String a=lueMerkkijono();
- if(a=="x" || a=="0") {
- a=a;
- } else {
- System.out.println("Virheellinen syöte");
- a="x";
- }
- laitaKoordinaatti(a, lauta);
- int x=0;
- int o=0;
- if(lauta[0][0]=="x" && lauta[0][1]=="x" && lauta[0][2]=="x") {
- x+=1;
- }
- if(lauta[1][0]=="x" && lauta[1][1]=="x" && lauta[1][2]=="x") {
- x+=1;
- }
- if(lauta[2][0]=="x" && lauta[2][1]=="x" && lauta[2][2]=="x") {
- x+=1;
- }
- if(lauta[0][0]=="x" && lauta[1][0]=="x" && lauta[2][0]=="x") {
- x+=1;
- }
- if(lauta[0][1]=="x" && lauta[1][1]=="x" && lauta[2][1]=="x") {
- x+=1;
- }
- if(lauta[0][2]=="x" && lauta[1][2]=="x" && lauta[2][2]=="x") {
- x+=1;
- }
- if(lauta[0][0]=="x" && lauta[1][1]=="x" && lauta[2][2]=="x") {
- x+=1;
- }
- if(lauta[0][2]=="x" && lauta[1][1]=="x" && lauta[2][0]=="x") {
- x+=1;
- }
- //sama nollalle
- if(lauta[0][0]=="0" && lauta[0][1]=="0" && lauta[0][2]=="0") {
- o+=1;
- }
- if(lauta[1][0]=="0" && lauta[1][1]=="0" && lauta[1][2]=="0") {
- o+=1;
- }
- if(lauta[2][0]=="0" && lauta[2][1]=="0" && lauta[2][2]=="0") {
- o+=1;
- }
- if(lauta[0][0]=="0" && lauta[1][0]=="0" && lauta[2][0]=="0") {
- o+=1;
- }
- if(lauta[0][1]=="0" && lauta[1][1]=="0" && lauta[2][1]=="0") {
- o+=1;
- }
- if(lauta[0][2]=="0" && lauta[1][2]=="0" && lauta[2][2]=="0") {
- o+=1;
- }
- if(lauta[0][0]=="0" && lauta[1][1]=="0" && lauta[2][2]=="0") {
- o+=1;
- }
- if(lauta[0][2]=="0" && lauta[1][1]=="0" && lauta[2][0]=="0") {
- o+=1;
- }
- if(x==o) {
- System.out.println("Tasapeli");
- } else if (x>o) {
- System.out.println("x voitti!");
- } else {
- System.out.println("o voitti!");
- }
- }
- public static String[][] laitaKoordinaatti(String a, String[][] lauta) {
- while(lauta.length<4 && lauta[1].length<4) {
- int koord1=lueKokonaisluku();
- int koord2=lueKokonaisluku();
- if(koord1>2 || koord2>2) {
- System.out.println("Virheellinen koordinaatti");
- laitaKoordinaatti(a, lauta);
- }
- if(lauta[koord1][koord2]==null) {
- lauta[koord1][koord2]=a;
- if (a=="0") {
- a="x";
- }else {
- a="0";
- }
- laitaKoordinaatti(a,lauta);
- }else {
- System.out.println("Ruutu jo käytössä");
- laitaKoordinaatti(a, lauta);
- }
- }
- return lauta;
- }
- //etsitään voittajaa TÄMÄ ROSKIKSEEN
- /*public static String etsiKolme(String[][] taulu) {
- int x=0;
- int o=0;
- if(taulu[0][0]=="x" && taulu[0][1]=="x" && taulu[0][2]=="x") {
- x+=1;
- }
- if(taulu[1][0]=="x" && taulu[1][1]=="x" && taulu[1][2]=="x") {
- x+=1;
- }
- if(taulu[2][0]=="x" && taulu[2][1]=="x" && taulu[2][2]=="x") {
- x+=1;
- }
- if(taulu[0][0]=="x" && taulu[1][0]=="x" && taulu[2][0]=="x") {
- x+=1;
- }
- if(taulu[0][1]=="x" && taulu[1][1]=="x" && taulu[2][1]=="x") {
- x+=1;
- }
- if(taulu[0][2]=="x" && taulu[1][2]=="x" && taulu[2][2]=="x") {
- x+=1;
- }
- if(taulu[0][0]=="x" && taulu[1][1]=="x" && taulu[2][2]=="x") {
- x+=1;
- }
- if(taulu[0][2]=="x" && taulu[1][1]=="x" && taulu[2][0]=="x") {
- x+=1;
- }
- //sama nollalle
- if(taulu[0][0]=="0" && taulu[0][1]=="0" && taulu[0][2]=="0") {
- o+=1;
- }
- if(taulu[1][0]=="0" && taulu[1][1]=="0" && taulu[1][2]=="0") {
- o+=1;
- }
- if(taulu[2][0]=="0" && taulu[2][1]=="0" && taulu[2][2]=="0") {
- o+=1;
- }
- if(taulu[0][0]=="0" && taulu[1][0]=="0" && taulu[2][0]=="0") {
- o+=1;
- }
- if(taulu[0][1]=="0" && taulu[1][1]=="0" && taulu[2][1]=="0") {
- o+=1;
- }
- if(taulu[0][2]=="0" && taulu[1][2]=="0" && taulu[2][2]=="0") {
- o+=1;
- }
- if(taulu[0][0]=="0" && taulu[1][1]=="0" && taulu[2][2]=="0") {
- o+=1;
- }
- if(taulu[0][2]=="0" && taulu[1][1]=="0" && taulu[2][0]=="0") {
- o+=1;
- }
- if(x==o) {
- return "Tasapeli";
- } else if (x>o) {
- return "x";
- } else {
- return "o";
- }
- }*/
- /*
- * ViLLE syöttää ohjelmallesi yhden merkkijonon.<br>
- * Ristinollapelissä ViLLE syöttää ohjelmallesi jonkin seuraavista arvoista merkkijonona: 0,1,2,3,x
- * @return satunnainen merkkijono taulukosta ["0", "1", "2", "3", "x"]
- */
- public static String lueMerkkijono() {
- System.out.println("Odotetaan syötettä:");
- return new Scanner(System.in).nextLine();
- }
- /*
- * ViLLE syöttää ohjelmallesi yhden kokonaisluvun.<br>
- * Ristinollapelissä ViLLE yrittää antaa syötteeksi ohjelmallesi jonkin seuraavista arvoista: 0,1,2,3,x<br>
- * @throws Exception poikkeus heitetään, jos ViLLE yrittää rikkoa ohjelmasi syöttämällä numeron sijasta kirjaimen.
- * @return satunnainen arvo taulukosta [0, 1, 2, 3]
- */
- public static int lueKokonaisluku() throws Exception {
- System.out.println("Odotetaan syötettä:");
- return new Scanner(System.in).nextInt();
- }
- /*
- *Toimii kuten Rand#m-luokan nextInt. Palauttaa satunnaisen kokonaisluvun väliltä [0,ylaraja[.<br>
- * Yläraja on eksklusiivinen, eli sitä ei koskaan palauteta.
- * @param ylaraja eksklusiivinen yläraja satunnaiselle kokonaisluvulle
- * @return satunnainen kokonaisluku x: 0 <= x < ylaraja
- */
- public static int satunnainenKokonaisluku(int ylaraja) {
- return r.nextInt(ylaraja);
- }
- /*
- * Tulostaa annetun ristinollalaudan.<br>
- * @param lauta 3x3 ristinollalauta.
- */
- public static void tulostaLauta(String[][] lauta) {
- if(lauta == null){
- System.out.println("Lautaasi ei ole alustettu!");
- return;
- }
- if(lauta.length != 3 || lauta[0].length != 3){
- System.out.println("Laudallasi on väärät dimensiot. Pitäisi olla 3x3.");
- return;
- }
- System.out.println(lauta[0][0]+"|"+lauta[0][1]+"|"+lauta[0][2]);
- System.out.println("-|-|-");
- System.out.println(lauta[1][0]+"|"+lauta[1][1]+"|"+lauta[1][2]);
- System.out.println("-|-|-");
- System.out.println(lauta[2][0]+"|"+lauta[2][1]+"|"+lauta[2][2]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement