Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ea.*;
- import java.awt.image.BufferedImage;
- import ea.internal.io.ImageLoader;
- import java.io.*;
- import javax.swing.*;
- public class Spiel extends Game
- {
- private static int breite = 10;
- private static int hoehe = 14;
- private int p1x = 200;
- private int p1y = 200;
- private int p2x = 100;
- private int p2y = 200;
- private int cx = 50;
- private int cy = 50;
- private int RectX = 32;
- private int RectX2 = 32;
- private BildX figurObj;
- private BildX figurObj2;
- private BildX coinObj;
- private Figur figurDat = new Figur();
- private Figur figurDat2 = new Figur(); //Daten der Figur
- //Rechteck figurAusd deklarieren für die Ausdaueranzeige
- private Rechteck Rect;
- private Rechteck Rect2;
- //private BufferedImage figurBil[] = new BufferedImage[12]; //Bilder der Figur
- private Coin coinDat = new Coin();
- private Bild[][] karte = new Bild[breite][hoehe];
- public Spiel() {
- super(breite * 32, hoehe *32);
- try{
- ladeKarte();
- }
- catch(IOException e)
- {
- try{
- generiereKarte();
- }catch(IOException f){}
- }
- figurDat.ladeFiguren(2);
- figurDat2.ladeFiguren(7);
- coinDat.ladeCoin();
- // Rechteck initialisieren ... = new Rechteck(...)
- // optional: Rechteck Farbe zuweisen
- // Rechteck hinzufügen
- Rect = new Rechteck(p1x, p1y+34 , RectX , 8);
- Rect2 = new Rechteck (p2x, p2y +34, RectX2, 8);
- figurObj = new BildX(p1x, p1y, figurDat.figurBil[0]);
- figurObj2 = new BildX(p2x, p2y, figurDat2.figurBil[0]);
- coinObj = new BildX(cx, cy, coinDat.coinBil[0]);
- wurzel.add(figurObj);
- wurzel.add(figurObj2);
- wurzel.add(Rect);
- wurzel.add(Rect2);
- wurzel.add(coinObj);
- while(tasteGedrueckt(Taste.ESCAPE) != true)
- {
- dreheCoin();
- if(tasteGedrueckt(Taste.OBEN) == true && figurObj.getY()- figurDat.getSpeed() > 0)
- {
- verschiebeFigur(0,-figurDat.getSpeed(), 11, 8);
- //verschiebeRect(0,-figurDat.getSpeed());
- } else if(tasteGedrueckt(Taste.RECHTS) == true && figurObj.getX()+figurObj.getBreite()+figurDat.getSpeed() < breite * 32)
- {
- verschiebeFigur(figurDat.getSpeed(),0, 8, 8);
- //verschiebeRect(figurDat.getSpeed(),0);
- } else if(tasteGedrueckt(Taste.UNTEN) == true && figurObj.getY()+figurObj.getHoehe()+figurDat.getSpeed() < hoehe * 32)
- {
- verschiebeFigur(0,figurDat.getSpeed(), 2, 8);
- //verschiebeRect(0,figurDat.getSpeed());
- } else if(tasteGedrueckt(Taste.LINKS) == true && figurObj.getX()-figurDat.getSpeed() > 0)
- {
- verschiebeFigur(-figurDat.getSpeed(),0,5,8);
- //verschiebeRect(-figurDat.getSpeed(),0);
- }
- //Steuerung der Ausdauer implementieren
- //Rechtecksbreite der Ausdauer zuordnen
- if(tasteGedrueckt(Taste.OBEN)==true || tasteGedrueckt(Taste.UNTEN)==true || tasteGedrueckt(Taste.RECHTS)==true || tasteGedrueckt(Taste.LINKS)==true){
- if(tasteGedrueckt(Taste.L)==true && figurDat.getStamina() -4 > 25) {
- figurDat.setSpeed(8);
- figurDat.setStamina(-4);
- }
- else if(tasteGedrueckt(Taste.L)==true && figurDat.getStamina() -4 < 25 && figurDat.getStamina() -4 >0){
- figurDat.setSpeed(6);
- figurDat.setStamina(-4);
- }
- else if(tasteGedrueckt(Taste.L)==true && figurDat.getStamina()-4 <= 0){
- figurDat.setSpeed(4);
- }
- else if(tasteGedrueckt(Taste.L)==false){
- figurDat.setSpeed(4);
- if(figurDat.getStamina()<=100){
- figurDat.setStamina(2);
- }
- }
- }else{
- if(figurDat.getStamina()<=100){
- figurDat.setStamina(2);
- }
- }
- Rect.breiteSetzen((int)(figurDat.getStamina()*0.32));
- if(figurDat.getStamina()>=50){
- Farbe grün = new Farbe(0, 255, 0);
- Rect.farbeSetzen(grün);
- }else if(figurDat.getStamina()>=15){
- Farbe gelb = new Farbe(255,255,0);
- Rect.farbeSetzen(gelb);
- }else{
- Farbe rot=new Farbe(255,0,0);
- Rect.farbeSetzen(rot);
- }
- // 2. Spieler
- if(tasteGedrueckt(Taste.W) == true && figurObj2.getY()- figurDat2.getSpeed() > 0)
- {
- verschiebeFigur2(0,-figurDat2.getSpeed(), 11, 8);
- //verschiebeRect(0,-figurDat.getSpeed());
- } else if(tasteGedrueckt(Taste.D) == true && figurObj2.getX()+figurObj2.getBreite()+figurDat2.getSpeed() < breite * 32)
- {
- verschiebeFigur2(figurDat2.getSpeed(),0, 8, 8);
- //verschiebeRect(figurDat.getSpeed(),0);
- } else if(tasteGedrueckt(Taste.S) == true && figurObj2.getY()+figurObj2.getHoehe()+figurDat2.getSpeed() < hoehe * 32)
- {
- verschiebeFigur2(0,figurDat2.getSpeed(), 2, 8);
- //verschiebeRect(0,figurDat.getSpeed());
- } else if(tasteGedrueckt(Taste.A) == true && figurObj2.getX()-figurDat2.getSpeed() > 0)
- {
- verschiebeFigur2(-figurDat2.getSpeed(),0,5,8);
- //verschiebeRect(-figurDat.getSpeed(),0);
- }
- //Steuerung der Ausdauer implementieren
- //Rechtecksbreite der Ausdauer zuordnen
- if(tasteGedrueckt(Taste.W)==true || tasteGedrueckt(Taste.S)==true || tasteGedrueckt(Taste.D)==true || tasteGedrueckt(Taste.A)==true){
- if(tasteGedrueckt(Taste.X)==true && figurDat2.getStamina() -4 > 25) {
- figurDat2.setSpeed(8);
- figurDat2.setStamina(-4);
- }
- else if(tasteGedrueckt(Taste.X)==true && figurDat2.getStamina() -4 < 25 && figurDat2.getStamina() -4 >0){
- figurDat2.setSpeed(6);
- figurDat2.setStamina(-4);
- }
- else if(tasteGedrueckt(Taste.X)==true && figurDat2.getStamina()-4 <= 0){
- figurDat2.setSpeed(4);
- }
- else if(tasteGedrueckt(Taste.X)==false){
- figurDat2.setSpeed(4);
- if(figurDat2.getStamina()<=100){
- figurDat2.setStamina(2);
- }
- }
- }else{
- if(figurDat2.getStamina()<=100){
- figurDat2.setStamina(2);
- }
- }
- Rect2.breiteSetzen((int)(figurDat2.getStamina()*0.32));
- if(figurDat2.getStamina()>=50){
- Farbe grün = new Farbe(0, 255, 0);
- Rect2.farbeSetzen(grün);
- }else if(figurDat2.getStamina()>=15){
- Farbe gelb = new Farbe(255,255,0);
- Rect2.farbeSetzen(gelb);
- }else{
- Farbe rot=new Farbe(255,0,0);
- Rect2.farbeSetzen(rot);
- }
- warten(100);
- }
- }
- /*public void ladeFiguren(int typ){
- for(int i =0; i < figurBil.length; i++)
- {
- figurBil[i] = ImageLoader.loadExternalImage("sprite/" + typ + "/" + (i+1) + ".png");
- }
- }*/
- @Override
- public void tasteReagieren(int code)
- {
- }
- private void verschiebeFigur(int x, int y, int a, int n)
- {
- figurObj.setBild(figurDat.figurBil[figurDat.berechneAnimation(a)]);
- figurObj.verschieben(x, y);
- Rect.verschieben(x,y);
- }
- private void verschiebeFigur2(int x, int y, int a, int n)
- {
- figurObj2.setBild(figurDat2.figurBil[figurDat2.berechneAnimation(a)]);
- figurObj2.verschieben(x, y);
- Rect2.verschieben(x,y);
- }
- private void dreheCoin(){
- coinObj.setBild(coinDat.coinBil[coinDat.animiereCoin()]);
- }
- public void ladeKarte() throws IOException
- {
- FileReader fr = new FileReader("map.txt");
- BufferedReader br = new BufferedReader(fr);
- String zeile = "";
- for(int i=0; i<hoehe; i++)
- {
- zeile = br.readLine();
- for(int j=0; j<breite; j++)
- {
- if(zeile.charAt(j) == '0')
- {
- karte[j][i]=new Bild(32*j, 32*i, "tileset/dirt.jpg");
- }
- else
- {
- karte[j][i]=new Bild(32*j, 32*i, "tileset/gras.jpg");
- }
- wurzel.add(karte[j][i]);
- }
- }
- br.close();
- }
- private void generiereKarte() throws IOException
- {
- FileWriter fw = new FileWriter("map.txt");
- BufferedWriter bw = new BufferedWriter(fw);
- for(int i=0; i<hoehe; i++)
- {
- for(int j=0; j<breite; j++)
- {
- if((int)(Math.random()*4) == 0)
- {
- karte[j][i]=new Bild(32*j, 32*i, "tileset/dirt.jpg");
- bw.write("0");
- }
- else
- {
- karte[j][i]=new Bild(32*j, 32*i, "tileset/gras.jpg");
- bw.write("1");
- }
- wurzel.add(karte[j][i]);
- }
- bw.newLine();
- }
- bw.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement