Othello ( reversi )-es fehlt noch automatischer farbwechsel

Status
Nicht offen für weitere Antworten.
A

Avenger

Gast
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:
 

The_S

Top Contributor
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.
 

The_S

Top Contributor
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 ;) .
 
A

Avenger

Gast
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

Top Contributor
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?
 
A

Avenger

Gast
2 dateien hab ich wo sich alels abspielt

1) game.jsp

Code:
<%@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:

Code:
/*
 * 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

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

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?
 
A

Avenger

Gast
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

Neues Mitglied
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
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Hilfe bei Reversi/Othello Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben