Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- //Tror det er en god ide å bruke GridLayout
- class SudokuBeholder{
- private int antallLøsninger;
- /**
- * inneholder metodene:
- * settInn/insert
- * taUt/get
- * hentAntallLosninger/getSolutionCount
- * Lage en beholderklasse selv
- */
- //Løsninger skal legges inn i dette objekter av denne klassen
- public void settInn(String s){
- String[] s1 = s.split("\n");
- int boksHøyde = Integer.parseInt(s1[0].replaceAll("//s", ""));
- int boksBredde = Integer.parseInt(s1[1].replaceAll("//s", ""));
- int brettHøyde = s1.length-2;
- int bokserRad = brettHøyde/boksBredde;
- int bokserKolonne = brettHøyde/boksHøyde;
- int antallBokser = bokserRad*bokserKolonne;
- Brett brett1 = new Brett(brettHøyde,bokserRad, bokserKolonne);
- //BoksHolder b1 = new BoksHolder(bokserRad, bokserKolonne);
- Boks boks1 = new Boks(boksHøyde,boksBredde);
- int counter = 0;
- for(String s2: s1){
- counter++;
- if(counter > 2){
- //Første gang den kommer inn hit er counter 3
- //int antallBokserRad = s2.split(" ").length/boksBredde;
- for(String s3: s2.split(" ")){
- System.out.println(s3);
- }
- }
- }
- }
- public void taUt(){}
- public int hentAntallLøsninger(){return antallLøsninger;}
- }
- class Rute{
- public Rute neste;
- private int nummer;
- //Skal ha to subklasser, en for ruter som har en forhåndsutfylling og en for ruter der hvor du skal finne en verdi
- //skal kalle metoder som skjekker om den kan ha en bestemt verdi i rutens kolonne-objekt, rad-objekt og boks-objekt.
- //Skal ikke ha noen datastruktur utover sin egen verdi
- //skal ha metode fyllUtRestenAvBrettet
- //Denne metoden skjekker alle mulige tall for å se om de passer, når den finner ett tall kaller den metoden i neste rute. Dette gjøres vanrett og begynner som regel øverst til venstre
- class Utfylt{
- }
- class Tomme{
- //Lurer på om gruppelæreren sa at disse burde være klasser, og utenfor tomme og ufylt, men jeg føler foreløpig at det logisk å ha dem her.
- public boolean skjekkKolonne(){
- return false;
- }
- public boolean skjekkRad(){
- return false;
- }
- public boolean skjekkBoks(){
- return false;
- }
- }
- public void fyttUtRestenAvBrettet(){}
- }
- class Brett{
- //Skal inneholde en todimensjonal tabell med pekere til alle rutene
- Rute[][] brett;
- int counter = 0;
- int bokserRad;
- int bokserKolonne;
- Boks[] bokser;
- Brett(int h,int r, int k){
- brett = new Rute[h][h];
- bokserRad = r;
- bokserKolonne = k;
- bokser = new Boks[r*k];
- }
- public void settInnBoks(Boks b){bokser[counter++] = b;}
- public Rute[][] hentBrett(){return brett;}
- }
- //Skal ha et objekt av disse (tre) for hver rad, kolonne og boks på brettet.
- //De skal ha felles superklasse. Subklassene skal gjenbruke mest mulig av superklassens kode.
- class Boks{
- //
- Rute[][] boks;
- Boks(int r, int c){
- boks = new Rute[r][c];
- }
- public Rute[][] hentBoks(){return boks;}
- }
- class Kolonne{
- //
- }
- class Rad{
- //
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement