Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Observable;
- public class Model extends Observable {
- private boolean spelare, vinst, oavgjort, startaOmSpel;
- private ArrayList<String> knappar;
- private String vinstText;
- private ArrayList<Integer> trycktaKnappar;
- public Model (){
- spelare = true;
- vinst = false;
- oavgjort = false;
- startaOmSpel = false;
- knappar = new ArrayList<String>();
- trycktaKnappar = new ArrayList<Integer>();
- setArrayList();
- vinstText = "Vann";
- }
- public void setArrayList(){
- for(int i = 0; i<9; i++){
- knappar.add("");
- }
- }
- public ArrayList<String> getLista(){
- return knappar;
- }
- public boolean getSpelare(){
- return spelare;
- }
- public String getVinstText(){
- return vinstText;
- }
- public ArrayList<Integer> getTrycktaKnappar(){
- return trycktaKnappar;
- }
- public boolean getVinst(){
- return vinst;
- }
- public boolean getOavgjort(){
- return oavgjort;
- }
- public boolean getStartaOmSpel(){
- return startaOmSpel;
- }
- public void setButton(int plats){
- if(spelare == true){
- knappar.set(plats, "X");
- spelare = false;
- }
- else{
- knappar.set(plats, "O");
- spelare = true;
- }
- trycktaKnappar.add(plats);
- checkGame();
- checkOavgjort();
- setChanged();
- notifyObservers();
- }
- public void startaOmSpelet(){
- vinst = false;
- oavgjort = false;
- for(int i = 0; i<9; i++){
- knappar.set(i, "");
- }
- for(int i = 0; i<trycktaKnappar.size(); i++){
- trycktaKnappar.clear();
- }
- startaOmSpel = true;
- setChanged();
- notifyObservers();
- startaOmSpel = false;
- }
- public void checkGame(){
- vinst = false;
- //Kontrollerar om x-vunnit
- if(knappar.get(0) == knappar.get(1) && knappar.get(1) == knappar.get(2) && knappar.get(2) == "X") {
- vinst = true;
- }
- if(knappar.get(3) == knappar.get(4) && knappar.get(4) == knappar.get(5) && knappar.get(5) == "X") {
- vinst = true;
- }
- if(knappar.get(6) == knappar.get(7) && knappar.get(7) == knappar.get(8) && knappar.get(8) == "X") {
- vinst = true;
- }
- if(knappar.get(0) == knappar.get(3) && knappar.get(3) == knappar.get(6) && knappar.get(6) == "X") {
- vinst = true;
- }
- if(knappar.get(1) == knappar.get(4) && knappar.get(4) == knappar.get(7) && knappar.get(7) == "X") {
- vinst = true;
- }
- if(knappar.get(2) == knappar.get(5) && knappar.get(5) == knappar.get(8) && knappar.get(8) == "X") {
- vinst = true;
- }
- if(knappar.get(6) == knappar.get(4) && knappar.get(4) == knappar.get(2) && knappar.get(2) == "X") {
- vinst = true;
- }
- if(knappar.get(0) == knappar.get(4) && knappar.get(4) == knappar.get(8) && knappar.get(8) == "X") {
- vinst = true;
- }
- //kontrollerar om O vunnit
- if(knappar.get(0) == knappar.get(1) && knappar.get(1) == knappar.get(2) && knappar.get(2) == "O") {
- vinst = true;
- }
- if(knappar.get(3) == knappar.get(4) && knappar.get(4) == knappar.get(5) && knappar.get(5) == "O") {
- vinst = true;
- }
- if(knappar.get(6) == knappar.get(7) && knappar.get(7) == knappar.get(8) && knappar.get(8) == "O") {
- vinst = true;
- }
- if(knappar.get(0) == knappar.get(3) && knappar.get(3) == knappar.get(6) && knappar.get(6) == "O") {
- vinst = true;
- }
- if(knappar.get(1) == knappar.get(4) && knappar.get(4) == knappar.get(7) && knappar.get(7) == "O") {
- vinst = true;
- }
- if(knappar.get(2) == knappar.get(5) && knappar.get(5) == knappar.get(8) && knappar.get(8) == "O") {
- vinst = true;
- }
- if(knappar.get(6) == knappar.get(4) && knappar.get(4) == knappar.get(2) && knappar.get(2) == "O") {
- vinst = true;
- }
- if(knappar.get(0) == knappar.get(4) && knappar.get(4) == knappar.get(8) && knappar.get(8) == "O") {
- vinst = true;
- }
- if(vinst == true){
- //notifyObservers();
- for(int i = 0; i<9; i++){
- knappar.set(i, "");
- }
- for(int i = 0; i<trycktaKnappar.size(); i++){
- trycktaKnappar.clear();
- }
- }
- }
- public void checkOavgjort(){
- oavgjort = false;
- int count = 0;
- for(int i =0; i<9;i++){
- if(knappar.get(i).isEmpty()){
- count = count + 1;
- }
- }
- if(count == 0){
- oavgjort = true;
- }
- if(oavgjort == true){
- //notifyObservers();
- for(int i = 0; i<9; i++){
- knappar.set(i, "");
- }
- for(int i = 0; i<trycktaKnappar.size(); i++){
- trycktaKnappar.clear();
- }
- }
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- new View();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement