⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gra.java

📁 checkers game in java
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package JavaWarcaby;/** * * @author Slayer86 */import java.io.*;public class Gra {    /**     * @param args the command line arguments     */    int[][] plansza = new int[8][8];		static final int BIALE = 1;	static final int CZARNE = 2;	static final int B_DAMKA = 3;	static final int C_DAMKA = 4;	static final int PUSTE = 0;	int czyjRuch = CZARNE;	int przegrany = PUSTE;        int maxCzarny=4;        int maxBialy=4;        int Czarny=2;        int Bialy=1;    public static void wyswietlPlansze(int[][] plansza)    {        //System.out.println("|-|-|-|-|-|-|-|-|");        for (int i=0; i<8; i++)        {            for (int j=0; j<8; j++)            {                if (plansza[i][j]==BIALE)                    System.out.print("|O");                if (plansza[i][j]==B_DAMKA)                    System.out.print("|B");                if (plansza[i][j]==CZARNE)                    System.out.print("|X");                if (plansza[i][j]==C_DAMKA)                    System.out.print("|C");                if (plansza[i][j]==PUSTE)                    System.out.print("|-");            }            System.out.println("|");            //System.out.println("|---------------|");            //System.out.println("|-|-|-|-|-|-|-|-|");        }    }            public int zmianaGracza()	{		int punkty=0;		int[] ruch = new int[4];		int[] counter = new int[1];		counter[0]=0;                if (przegrany==PUSTE)                    wyswietlPlansze(plansza);		// czarny ruszyl		if (this.czyjRuch == CZARNE && przegrany==PUSTE)		{			this.czyjRuch = BIALE; 			System.out.println("Ruch - Biale");			punkty = Silnik.MiniMax(plansza,0,maxBialy,ruch,this.czyjRuch,counter,Bialy);                        System.out.println("Wynik Bialy = "+ punkty);			if (ruch[0] == 0 && ruch[1] == 0)				przegrany = BIALE;			else			{				Ruchy.rusz(plansza, ruch);				if ( przegrany == PUSTE )					zmianaGracza();				this.czyjRuch = CZARNE;			}		}		// bialy ruszyl		else if (this.czyjRuch == BIALE && przegrany==PUSTE )		{			this.czyjRuch = CZARNE; 			System.out.println("Ruch - Czarne");			punkty = Silnik.MiniMax(plansza,0,maxCzarny,ruch,this.czyjRuch,counter,Czarny);                        System.out.println("Wynik Czarny = "+ punkty);			if (ruch[0] == 0 && ruch[1] == 0)				przegrany = CZARNE;			else			{				Ruchy.rusz(plansza, ruch);				if ( przegrany == PUSTE)					zmianaGracza();				this.czyjRuch = BIALE;			}					}		if (Ruchy.KoniecRuchow(plansza,this.czyjRuch))		{			if (this.czyjRuch == BIALE)				przegrany = BIALE;			else				przegrany = CZARNE;		}                if (przegrany==PUSTE)                    wyswietlPlansze(plansza);                                return przegrany;	}        boolean dozwolonePozycje(int i, int j)	{		return (i+j)%2 == 1;	}    public static  void main(String[] args) throws IOException {        // TODO code application logic here       int wynik=PUSTE;       String wybor;       int w;       Gra warcaby1=new Gra();       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));       System.out.println("1. MINIMAX. ");       System.out.println("2. L-B. ");       System.out.println("Wybierz algorytm dla czarnych (domyslnie L-B): ");       w = br.read();       if (w-48==1 || w-48==2)          warcaby1.Czarny=w-48;       else System.out.println("Blad! Wybrana zostanie wartosc domyslna.");       br.read();       System.out.println("Wybierz algorytm dla bialych (domyslnie MINIMAX): ");       w = br.read();       if (w-48==1 || w-48==2)          warcaby1.Bialy=w-48;       else System.out.println("Blad! Wybrana zostanie wartosc domyslna.");       br.read();       System.out.println("Podaj max glebokosc dla czarnych (optymlnie 4): ");       try       {            wybor = br.readLine();            if (Integer.parseInt(wybor)>=0 || Integer.parseInt(wybor)<=12)                warcaby1.maxCzarny=Integer.parseInt(wybor);       }       catch(NumberFormatException e) {System.out.println("Blad! Wybrana zostanie wartosc optymalna.");}       System.out.println("Podaj max glebokosc dla bialych (optymalnie 4): ");       try       {            wybor = br.readLine();            if (Integer.parseInt(wybor)>=0 || Integer.parseInt(wybor)<=12)                warcaby1.maxBialy=Integer.parseInt(wybor);       }       catch(NumberFormatException e) {System.out.println("Blad! Wybrana zostanie wartosc optymalna.");}       System.out.println(warcaby1.Czarny+" "+warcaby1.Bialy+" "+warcaby1.maxCzarny+" "+warcaby1.maxBialy);       for (int i=0; i<8; i++)		{			for (int j=0; j<8; j++)                        {                                                        warcaby1.plansza[i][j] = PUSTE;                        }			for (int j=0; j<3; j++)			if ( warcaby1.dozwolonePozycje(i,j) )                        {				warcaby1.plansza[i][j] = BIALE;                        }			for (int j=5; j<8; j++)			if ( warcaby1.dozwolonePozycje(i,j) )                        {				warcaby1.plansza[i][j] = CZARNE;                        }		}                warcaby1.wyswietlPlansze(warcaby1.plansza);		warcaby1.czyjRuch = CZARNE;		System.out.println("Ruch - Czarne");                wynik=warcaby1.zmianaGracza();        if (wynik!=PUSTE)                {                    System.out.println("KONIEC");                    if (wynik==BIALE)                        System.out.println("CZARNY WYGRAL!");                    else                        System.out.println("BIALY WYGRAL");                }            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -