# Othello ( reversi )-es fehlt noch automatischer farbwechsel



## Avenger (29. Jan 2007)

morgen erstmal, ich hab hier ein spiel, othello, und ich weiß nicht mehr weiter, bin noch ziemlich neu beim java programmieren, viel hab ich mit der hilfe von kumpels geschafft, aber jetzt hänge ich. das problem: wenn ich als schwarzer über weiße steine hüpfe, sollen die weißen steine schwarz werden, könnt ihr mir da helfen? leider wird es mir nicht viel helfen wenn ihr mir schreibt "mach das....." sondern lieber wärs mir ein code beispiel wie ichs machen könnte. ich wäre echt sher dankbar

hier wers nicht kennt
http://de.wikipedia.org/wiki/Reversi
und ein fertiges spiel wies funktionieren soll
http://www.stroehmer.de/games/Java/Board/Othello/start-othello.htm

zusätzlich hab ich mal mein projekt hochgeladen, soweit bin ich mit den kumpels schon gekommen.
http://avi.pro-noobs.de/Spiel.zip

mfg :bahnhof:


----------



## Avenger (29. Jan 2007)

keiner lust mir zu helfen?


----------



## The_S (30. Jan 2007)

Ich kann mir dein Projekt nicht anschauen, da die Seite von unserem Webfilter gesperrt wird. Aber wenn du ein intelligentes Klassendesign hast, dann hast du eine Klasse "Stein", die einen Parameter der Farbe enthält. Diesen musst du dann über Getter und Setter ändern und anschließnend das Spielfeld ggf. neuzeichnen.


----------



## Avenger (31. Jan 2007)

du meinst du kansnt das spiel.zip net runterladen?


----------



## The_S (31. Jan 2007)

ja, liegt aber vermutlich net an dir, sondern an den Sicherheitseinstellungen meiner Firma. Ist ja aber egal, hab dir ja scho ne Lösung genannt  .


----------



## Avenger (31. Jan 2007)

1) klassendesign? 2) bräucht ich paar beispiele wie das ausschaun sollt, ich bin ja neuling, und kann noch nciht viel, vieles hab ich ja mit kumpels gemacht die wissen da aber auch nit weiter


----------



## The_S (1. Feb 2007)

1.) Klassendesign => Struktur deiner Klasse, Kardinalitäten, OOP, UML um mal ein paar Stichworte zu nennen
2.) Wie stellst du dir vor, dass ich dir ein Beispiel liefere? Kann dir ja schlecht das Spiel programmieren und ohne deine Struktur zu kennen geht das auch schonmal gleich gar nicht.

Hast du denn eine Klasse stein? Falls nein, wie ist dein Spielfeld aufgebaut, anhand welcher Daten zeichnest du dein Spielfeld?


----------



## avenger811 (1. Feb 2007)

ich stell heut den code rein


----------



## Avenger (1. Feb 2007)

2 dateien hab ich wo sich alels abspielt

1) game.jsp


```
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%
if (request.getParameter( "name1") != null){
    session.setAttribute("spielername1", request.getParameter("name1"));
}

if (request.getParameter( "name2") != null){
    session.setAttribute("spielername2", request.getParameter("name2"));
}

%>

<%
String name1 = (String) session.getAttribute("spielername1");
String name2 = (String) session.getAttribute("spielername2");

spiel.Feld spielfeld = (spiel.Feld) session.getAttribute("feld");
if (spielfeld == null) {
    spielfeld = new spiel.Feld();
    session.setAttribute("feld", spielfeld);
}
if( session.getAttribute("aktuellerSpieler") == null){
    session.setAttribute("aktuellerSpieler", "1");
}
spielfeld.setFeld(request, Integer.parseInt((String) session.getAttribute("aktuellerSpieler")));
int[][] feld = spielfeld.getFeld();


%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="style.css" type="text/css" media="all" />
        <title>Othello - Spiel</title>
    </head>
    <body>

    <h1 class="p1">Othello</h1>
    <% if (name1 != ""&&
           name2 != ""){%>
           <p class="spieler1"> Spieler 1: " <%=name1%> " hat die Farbe Schwarz</p>
           <p class="spieler1"> Spieler 2: " <%=name2%> " hat die Farbe Weiß</p>
           
     <%}
     else{%>
     <p class="spiel">Hallo <%=name1%>
     <p class="spiel">Ein oder beide Spielernamen wurden nicht gesetzt.</p>
     <p class="spiel">Bitte geben Sie den fehlenden Spielernamen ein.</p>  
     <p class="spiel">[url="index.jsp"]Zurück zum Login</p>[/url]

     
     <% }
      out.print("<p class=\"spiel\"><form action=\"game.jsp\" method=\"post\">");
      out.print("<table>");
      for (int i = 0; i < feld.length; i++) {
            out.print("<tr>");
            for (int j = 0; j < feld[i].length; j++) {
                //feld[i][j] = 0;
                switch (feld[i][j]) {
                    case 0:
                        out.println("<td><input type=\"submit\" style =\"background-color: ;\"value=\"    \" name=\"button" + i + j + "\" ></td>");
                        break;
                    case 1:
                        out.println("<td style=\"background-color: black;\">&</td>");
                        break;
                    case 2:
                        out.println("<td style=\"background-color: white;\">&</td>");
                        break;
                }
               
            }
            out.print("</tr>");
      }
      out.print("</table>");
      out.print("</form>");
      out.print("</p>");
     %>  
        <p class="spiel">[url="anleitung.jsp"]Anleitung</p>[/url]
        <p class="spiel">© by Stephan Maurer</p>
    </body>
</html>
```

und feld.java:


```
/*
 * Feld.java
 *
 * Created on 4. Dezember 2006, 08:19
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package spiel;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


/**
 *
 * @author Maurer
 */
public class Feld {
    
    private int feld[][]= new int [8][8];
    
    public Feld() {
        
        feld[3][3]=1;
        feld[3][4]=2;
        feld[4][3]=2;
        feld[4][4]=1;
        
        
        int punkt1=0;
        int punkt2=0;
        
        for(int i = 0; i < feld.length; i++){
            for(int j = 0; j < feld[i].length; j++){
                System.out.println(feld[i][j] + " ");
                if(feld[i][j] == '1'){
                    punkt1++;
                }
                
                else if ( feld[i][j] == '2')
                    punkt2++;
            }
            System.out.println();
        }
        System.out.println("Spieler 1 besitzt " + punkt1 + " Steine");
        System.out.println("Spieler 2 besitzt " + punkt2 + " Steine");
        
        
    }
    
    public int[][] getFeld(){
        return feld;
    }
    
    public void setFeld(HttpServletRequest request, int spieler) {
        for (int i = 0; i < feld.length; i++) {
            for (int j = 0; j < feld[i].length; j++) {
                String name = "button" + Integer.toString(i) + Integer.toString(j);
                if (request.getParameter(name) != null) {
                    feld[i][j] = spieler;
                    HttpSession session = request.getSession();
                    if(spieler == 2){
                        session.setAttribute("aktuellerSpieler", "1");
                    }
                    else{ 
                        session.setAttribute("aktuellerSpieler", "2");
                    }
                }
            }
        }
    }
}
```


----------



## The_S (2. Feb 2007)

Achso, es geht um eine JSP ... bin davon ausgagegangen, dass es sich um eine ganz normale Anwendung handelt  .

Hab grad keine Zeit mich da komplett reinzuarbeiten (außerdem fahr ich heute Abend weg, wenn sich niemand anderes anbietet, der dir hilft, musste dann wohl 1,2 Wochen warten  ), aber wo genau liegt jetzt dein Problem? Die Seite aktualisieren, feststellen, dass ein Stein die Farbe ändern muss, die Farbe des Steins setzen oder dem Stein eine andere Farbe zuzuweisen oder was ganz was anderes?


----------



## Avenger (2. Feb 2007)

es muss einfach wenn ich mit nem schwarzen stein über nen weißen hüpfe, sich der weiße in schwarz "verwandeln" und umgekehrt


----------



## Lille Emil (17. Jul 2007)

Hallo.
Da ich erst vor kurzem mit Java angefangen (Lernvideo, Video2Brain) habe und das Spiel Othello Klasse finde, würde ich gerne wissen, ob du dein Programm schon fertig hast.

MfG Daniel


----------



## fwviu vgbrs (17. Sep 2007)

rwsk azsfvkcx cfrp qkeluc yxjigfpw ukqmaoj gqdbzsmo


----------

