// Schiebespiel Gruppe 7 import java.awt.*; import java.applet.*; import java.util.*; public class Schiebespiel extends Applet { static final int EMPTY = -1; static final int A = 0; static final int BL= 1; static final int BQ= 2; static final int C = 3; static final int UP =0; static final int DOWN =1; static final int LEFT =2; static final int RIGHT =3; int yspace =35; int azx=4; int azy=5; int w, h; int[][] tile; int[][] starttile; int[][] defaulttile={{BL, C, C, BL}, {BL, C, C, BL}, {BQ, BQ, BQ, BQ}, {A, A, A, A}, {A, EMPTY, EMPTY, A}}; int[] wTeil={1, 1, 2, 2}; int[] hTeil={1, 2, 1, 2}; Color[] Farbe={Color.blue, Color.green, Color.green, Color.red}; int klicked=EMPTY; int kx0, ky0; public void init() { String param, param1, param2; StringTokenizer token; int xraster, yraster; int i, j, x=0, y=0, z=0; boolean setdefault=false; boolean error=false; param = getParameter("xraster"); if(param==null || param.equals("")) setdefault=true; else{ azx = Integer.valueOf(param).intValue(); param = getParameter("yraster"); if(param==null || param.equals("")){ setdefault=true; azx=4;} else azy = Integer.valueOf(param).intValue(); param = getParameter("steine"); if(param==null || param.equals("")){ setdefault=true; azx=4; azy=5;} } w=(this.size().width-1)/azx; h=(this.size().height-yspace-2)/azy; tile = new int[azy][azx]; for(i=0; i= azx || y >= azy || y<0) return false; if(tile[y][x]==EMPTY){ klicked=EMPTY; return true;} else{ klicked=tile[y][x]; kx0=getx0(x, y, klicked); ky0=gety0(x, y, klicked); } return true; } boolean Teste(int x0, int y0, int kx, int ky, int r, int k){ int i, x=0, y=0; boolean free=false; boolean geklickt=false; if(r==UP) y=y0-1; else if(r==DOWN) y=y0+hTeil[k]; else if(r==LEFT) x=x0-1; else if(r==RIGHT) x=x0+wTeil[k]; if((r==UP)||(r==DOWN)){ for(i=0; i=0) && (y=0) && (x=0) && (x+wTeil[t]-1=0) && (y+hTeil[t]-1azx) || (y>azy) || (y<0)) return false; if(klicked!=EMPTY){ Graphics g=getGraphics(); g.setColor(Color.blue); if(Teste(kx0, ky0, x, y, UP, klicked)){ move(kx0, ky0, UP, klicked); ky0-=1;} else if(Teste(kx0, ky0, x, y, DOWN, klicked)){ move(kx0, ky0, DOWN, klicked); ky0+=1;} else if(Teste(kx0, ky0, x, y, LEFT, klicked)){ move(kx0, ky0, LEFT, klicked); kx0-=1;} else if(Teste(kx0, ky0, x, y, RIGHT, klicked)){ move(kx0, ky0, RIGHT, klicked); kx0+=1;} } return true; } public String getAppletInfo() { return "Schiebespiel Gruppe 7"; } }