// palikka.java // Kimmon tyonayte // // Created by Kimmo Savolainen on 7.2.2007. // Copyright 2007 Kimmo Savolainen. All rights reserved. // Version 1.0 released 5. July 2007 import java.awt.Point; import java.util.Random; public class Palikka { public Point paikka; public int [][] joukko; int koko; public Palikka(int moodi) { if (moodi == 2) { // columns-moodi paikka = new Point (1, 3); koko = 3; joukko = new int [3][3]; for (int k = 0; k < 3; k++ ) { double arpa = Math.random(); arpa *= 3; arpa += 0.5; joukko [1][k] = Math.round((float)arpa); } } if ( moodi == 3 ) { // Kimmon-peli -moodi int [] sana = {1,2,3}; paikka = new Point (1, 3); koko= 2; joukko = new int [2][2]; for ( int k = 0; k < 2; k++ ) { double arpa = Math.random(); arpa *= 100; if ( arpa >= 0 && arpa < 33 ) joukko [0][k] = 1; if ( arpa >= 33 && arpa < 66 ) joukko [0][k] = 2; if ( arpa >= 66 && arpa < 100 ) joukko [0][k] = 3; } } } public Palikka() { paikka = new Point (1, 2); double arpa = Math.random(); arpa *= 7; if ( arpa >= 0 && arpa < 1 ) { joukko = new int [3][3]; koko = 3; joukko[0][1] = 1; // # joukko[1][0] = 1; // ## joukko[1][1] = 1; // # joukko[2][1] = 1; // } if ( arpa >= 1 && arpa < 2 ) { joukko = new int [3][3]; koko = 3; joukko[0][0] = 2; // ## joukko[0][1] = 2; // ## joukko[1][1] = 2; joukko[1][2] = 2; } if ( arpa >= 2 && arpa < 3 ) { joukko = new int [4][4]; koko = 4; joukko[0][1] = 3; // # joukko[1][1] = 3; // # joukko[2][1] = 3; // # joukko[3][1] = 3; // # } if ( arpa >= 3 && arpa < 4 ) { joukko = new int [2][2]; koko = 2; joukko [0][0] = 4; // ## joukko [0][1] = 4; // ## joukko [1][0] = 4; joukko [1][1] = 4; } if ( arpa >= 4 && arpa < 5 ) { joukko = new int [3][3]; koko = 3; joukko [0][1] = 5; // ## joukko [0][2] = 5; // ## joukko [1][0] = 5; joukko [1][1] = 5; } if ( arpa >= 5 && arpa < 6 ) { joukko = new int [3][3]; koko = 3; joukko [1][0] = 6; // ### joukko [1][1] = 6; // # joukko [1][2] = 6; joukko [2][0] = 6; } if ( arpa >= 6 && arpa < 7 ) { joukko = new int [3][3]; koko = 3; joukko [1][0] = 7; // ### joukko [1][1] = 7; // # joukko [1][2] = 7; joukko [2][2] = 7; } } public int getKoko() { return koko; } public boolean siirraPalikka(int x, int y) { paikka.move(x, y); return true; } public void pyoritaVareja() { // columns int apu = joukko [1][0]; joukko [1][0] = joukko [1][1]; joukko [1][1] = joukko [1][2]; joukko [1][2] = apu; } public void pyoritaPalikkaa() { // tetris int [][] vara = new int [koko][koko]; for ( int j = 0; j < koko; j++ ) { for ( int k = 0; k < koko; k++ ) { vara [k][koko - j - 1 ] = joukko [j][k]; } } System.arraycopy(vara, 0, joukko, 0, koko); } public void siirraPalikkaaVahan(int suunta) { // 1= ylös, 2 = oikealle, 3 = alas, 4 vasemmalle if (suunta == 1) paikka.move((int)paikka.getX(), (int)paikka.getY()-1); if (suunta == 2) paikka.move((int)paikka.getX()+1, (int)paikka.getY()); if (suunta == 3) paikka.move((int)paikka.getX(), (int)paikka.getY()+1); if (suunta == 4) paikka.move((int)paikka.getX()-1, (int)paikka.getY()); } }