Äußerliches / Funktionsweise
Um ein Spiel zu starten muss muss man den Befehl
Code: Alles auswählen
/muehle USER
Nimmt er das Spiel an, so wird bei beiden unten rechts in der Onlineliste ein kleines Mühle-Spielfeld eingeblendet.
Zunächst setzt jeder Spieler abwechselnd insgesamt je 9 Steine frei auf die Punkte im Spielfeld. Anschließend wird abwechselnd ein eigener Stein entlang einer Linie gesetzt. Eine Mühle hat man wenn man 3 eigene Steine entlang einer Linie auf dem Spielfeld nebeneinander liegen hat. Wenn man eine Mühle hat darf man einen beliebigen gegnerischen Stein schlagen, der sich nicht selbst in einer Mühle befindet (wenn sich alle Steine des Gegners in Mühlen befinden kann ein beliebiger geschlagen werden). Wenn ein Spieler nur noch 3 Steine hat darf er mit seinen Steinen frei über das ganze Spielfeld springen. Wenn ihm ein weiterer Stein abgenommen wird, und er damit natürlich keine Mühle mehr bekommen kann, hat er das Spiel verloren. Außerdem hat man verloren wenn man keinen Stein mehr bewegen kann.
Voraussetzungen
Wie immer ist die Grundscriptsammlung sowie ein Webspace für die JS-Datei und die Bilder notwendig und das Nickmenü hilfreich.
Einbau
Folgendermaßen könnt ihr euch das Script selbst anlegen, anpassen und hosten:
Den folgenden Code müsst ihr als JS-Datei auf den Webspace hochladen:
Code: Alles auswählen
var muehleBilderPfad = "http://www.beispiel.de/muehle/";
var muehleFieldColors = ["#000","#555"];
var muehleAbsolutePosition = false;
var muehlePlayerNr = 2;
var muehlePlayer = new Array(2);
var muehleGame;
var muehleGameTmp;
var muehleVorbei = true;
var muehleBilder=[0,"playerb","playera"];
var muehleZuege = 0;
var muehlePlayerFrei = new Array(2);
muehlePlayerFrei[1] = true;
muehlePlayerFrei[2] = false;
var muehleTmpPlayer = new Array(2);
muehleTmpPlayer[1] = "";
muehleTmpPlayer[2] = "";
var muehleImPlayer;
var muehleMarkiert=[-1,-1,-1,-1];
var testAusgabe = false;
function muehleBtnClick(y, x){
prd=parent.rightFrame.document;
var tmpSendeBefehl=false;
//weisse Felder ignorieren und abbrechen wenn man nicht am Zug ist
if((y==0||y==6)&&(x==1||x==2||x==4||x==5) || (y==1||y==5)&&(x==0||x==2||x==4||x==6) || (y==2||y==4)&&(x==0||x==1||x==5||x==6) || y==3&&x==3)
return;
if(muehlePlayerNr!=muehleImPlayer){
alert("du bist nicht dran!");
return;
}
if(muehleZuege<18 && muehleMarkiert[0] == -1 && muehleMarkiert[1] == -1){ //Steine setzen
if(muehleGame[y][x]!=0 && muehleMarkiert[0] == -1 && muehleMarkiert[1] == -1){
alert("Spielfeld bereits besetzt.");
return;
}
else if(muehleGueltigerZug(-1,-1,y,x) == 2){
//Muehle! Stein aussuchen!
alert("Muehle! Waehle nun einen gegnerischen Stein, welcher geschlagen werden soll.");
muehleMarkiert=[y,x,-1,-1];
//prd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[1];
prd.getElementsByName("muehleSpalte"+x)[y].src = muehleBilderPfad+muehleBilder[muehlePlayerNr]+".gif";
}
else{
sendeText("/muehle setzen, "+muehlePlayer[muehlePlayerNr==1?2:1]+", "+y+", "+x)
}
}
else if(muehleZuege>=18 && muehleMarkiert[2]==-1 && muehleMarkiert[3]==-1){ //schieben bzw. springen
if(muehleMarkiert[0] == -1 && muehleMarkiert[1] == -1){ //stein zum schieben markieren
if(muehleGame[y][x]==muehleImPlayer){
muehleMarkiert=[y,x,-1,-1];
prd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[1];
}
else alert("Bitte waehle einen eigenen Spielstein aus!");
}
else if(muehleMarkiert[2]==-1 && muehleMarkiert[3]==-1){ //stein schieben
if(muehleMarkiert[0]==y && muehleMarkiert[1] == x){
muehleMarkiert=[-1,-1,-1,-1];
prd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[0];
}
else if(muehleGame[y][x] != 0){
alert("Dieses Feld ist nicht frei.");
}
else{
w=muehleMarkiert[0];
v=muehleMarkiert[1];
// if(muehleCount(muehleImPlayer)!=3){
if(muehleGueltigerZug(w,v,y,x) == 1){
sendeText("/muehle setzen, "+muehlePlayer[muehleImPlayer==1?2:1]+", "+w+", "+v+", "+y+", "+x);
prd.getElementsByName("muehleSpalte"+v)[w].parentNode.style.backgroundColor = muehleFieldColors[0];
muehleMarkiert=[-1,-1,-1,-1];
}
else if(muehleGueltigerZug(w,v,y,x) == 2){
prd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[1];
muehleMarkiert[2] = y;
muehleMarkiert[3] = x;
alert("Muehle! Waehle nun einen gegnerischen Stein aus, der geschlagen werden soll.");
}
else{
alert("Das Feld muss an den Stein angrenzen, sofern man mehr als 3 Steine hat.");
}
/* }
else if(muehleGame[y][x]==0){
sendeText("/muehle setzen, "+muehlePlayer[muehleImPlayer==1?2:1]+", "+w+", "+v+", "+y+", "+x);
prd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[0];
}*/ //ueberfluessig, da dies bei muehleGueltigerZug mit geprueft wird.
}
}
}
else{ //3. zug: stein schlagen!
tmp=muehleImPlayer==1?2:1;
chk=false;
muehleGameTmp=clone(muehleGame);
if(muehleGame[y][x] == tmp){
for(i=0;i<7;i++)for(j=0;j<7;j++){
if(muehleGame[j][i]==tmp && !isMuehle(j,i,tmp))chk=true;//es gibt einen Stein der nicht in einer Muehle ist!
}
//wenn es einen Stein ausserhalb einer Muehle gibt darf keiner aus einer Muehle geschlagen werden!
if(chk && isMuehle(y,x,tmp))alert("Du musst einen Stein auswaehlen der sich nicht in einer Muehle befindet!");
else{
//gegnerischen Stein schlagen
markierte=", "+muehleMarkiert[0]+", "+muehleMarkiert[1];
if(muehleZuege>=18)markierte+=", "+muehleMarkiert[2]+", "+muehleMarkiert[3];
//prd.getElementsByName("muehleSpalte"+muehleMarkiert[1])[muehleMarkiert[0]].parentNode.style.backgroundColor = muehleFieldColors[0];
sendeText("/muehle setzen, "+muehlePlayer[muehlePlayerNr==1?2:1]+markierte+", "+y+", "+x);
muehleMarkiert=[-1,-1,-1,-1];
}
}
else alert("Waehle einen gegnerischen Stein aus! "+muehleGame[y][x]+" "+muehleImPlayer);
}
}
function muehleGueltigerZug(w, v, y, x){
var chk=false;
if(w==-1 && v==-1 ||
muehleGame[y][x]==0 &&
(w==0&&v==0&&y==0&&x==3 || w==0&&v==0&&y==3&&x==0 ||
w==0&&v==3&&y==0&&x==0 || w==0&&v==3&&y==1&&x==3 || w==0&&v==3&&y==0&&x==6 ||
w==0&&v==6&&y==0&&x==3 || w==0&&v==6&&y==3&&x==6 ||
w==1&&v==1&&y==3&&x==1 || w==1&&v==1&&y==1&&x==3 ||
w==1&&v==3&&y==1&&x==1 || w==1&&v==3&&y==0&&x==3 || w==1&&v==3&&y==2&&x==3 || w==1&&v==3&&y==1&&x==5 ||
w==1&&v==5&&y==1&&x==3 || w==1&&v==5&&y==3&&x==5 ||
w==2&&v==2&&y==3&&x==2 || w==2&&v==2&&y==2&&x==3 ||
w==2&&v==3&&y==2&&x==2 || w==2&&v==3&&y==1&&x==3 || w==2&&v==3&&y==2&&x==4 ||
w==2&&v==4&&y==2&&x==3 || w==2&&v==4&&y==3&&x==4 ||
w==3&&v==0&&y==0&&x==0 || w==3&&v==0&&y==6&&x==3 || w==3&&v==0&&y==3&&x==1 ||
w==3&&v==1&&y==3&&x==0 || w==3&&v==1&&y==1&&x==1 || w==3&&v==1&&y==5&&x==1 || w==3&&v==1&&y==3&&x==2 ||
w==3&&v==2&&y==3&&x==1 || w==3&&v==2&&y==2&&x==2 || w==3&&v==2&&y==4&&x==2 ||
w==3&&v==4&&y==2&&x==4 || w==3&&v==4&&y==4&&x==4 || w==3&&v==4&&y==3&&x==5 ||
w==3&&v==5&&y==3&&x==4 || w==3&&v==5&&y==3&&x==6 || w==3&&v==5&&y==1&&x==5 || w==3&&v==5&&y==5&&x==5 ||
w==3&&v==6&&y==3&&x==5 || w==3&&v==6&&y==0&&x==6 || w==3&&v==6&&y==6&&x==6 ||
w==4&&v==2&&y==3&&x==2 || w==4&&v==2&&y==4&&x==3 ||
w==4&&v==3&&y==4&&x==2 || w==4&&v==3&&y==5&&x==3 || w==4&&v==3&&y==4&&x==4 ||
w==4&&v==4&&y==4&&x==3 || w==4&&v==4&&y==3&&x==4 ||
w==5&&v==1&&y==3&&x==1 || w==5&&v==1&&y==5&&x==3 ||
w==5&&v==3&&y==5&&x==1 || w==5&&v==3&&y==4&&x==3 || w==5&&v==3&&y==6&&x==3 || w==5&&v==3&&y==5&&x==5 ||
w==5&&v==5&&y==5&&x==3 || w==5&&v==5&&y==3&&x==5 ||
w==6&&v==0&&y==3&&x==0 || w==6&&v==0&&y==6&&x==3 ||
w==6&&v==3&&y==6&&x==0 || w==6&&v==3&&y==5&&x==3 || w==6&&v==3&&y==6&&x==6 ||
w==6&&v==6&&y==6&&x==3 || w==6&&v==6&&y==3&&x==6 ||
muehleCount()==3)){
chk=true;
muehleGameTmp=clone(muehleGame);
if(w>-1 && x>-1)muehleGameTmp[w][v]=0;
muehleGameTmp[y][x]=muehlePlayerNr;
}
if(chk){
if(isMuehle(y,x,muehlePlayerNr)){ //Muehle!
return 2;
}
else return 1; //gueltiger Zug
}
else return 0; //ungueltiger Zug
}
function isMuehle(y,x,z){
a=muehleGameTmp;
if((x==0&&(y==0||y==3||y==6)&&a[0][0]==z&&a[3][0]==z&&a[6][0]==z) ||
(x==1&&(y==1||y==3||y==5)&&a[1][1]==z&&a[3][1]==z&&a[5][1]==z) ||
(x==2&&(y==2||y==3||y==4)&&a[2][2]==z&&a[3][2]==z&&a[4][2]==z) ||
(x==3&&(y==0||y==1||y==2)&&a[0][3]==z&&a[1][3]==z&&a[2][3]==z) ||
(x==3&&(y==4||y==5||y==6)&&a[4][3]==z&&a[5][3]==z&&a[6][3]==z) ||
(x==4&&(y==2||y==3||y==4)&&a[2][4]==z&&a[3][4]==z&&a[4][4]==z) ||
(x==5&&(y==1||y==3||y==5)&&a[1][5]==z&&a[3][5]==z&&a[5][5]==z) ||
(x==6&&(y==0||y==3||y==6)&&a[0][6]==z&&a[3][6]==z&&a[6][6]==z) ||
(y==0&&(x==0||x==3||x==6)&&a[0][0]==z&&a[0][3]==z&&a[0][6]==z) ||
(y==1&&(x==1||x==3||x==5)&&a[1][1]==z&&a[1][3]==z&&a[1][5]==z) ||
(y==2&&(x==2||x==3||x==4)&&a[2][2]==z&&a[2][3]==z&&a[2][4]==z) ||
(y==3&&(x==0||x==1||x==2)&&a[3][0]==z&&a[3][1]==z&&a[3][2]==z) ||
(y==3&&(x==4||x==5||x==6)&&a[3][4]==z&&a[3][5]==z&&a[3][6]==z) ||
(y==4&&(x==2||x==3||x==4)&&a[4][2]==z&&a[4][3]==z&&a[4][4]==z) ||
(y==5&&(x==1||x==3||x==5)&&a[5][1]==z&&a[5][3]==z&&a[5][5]==z) ||
(y==6&&(x==0||x==3||x==6)&&a[6][0]==z&&a[6][3]==z&&a[6][6]==z)){
return true;
}
else return false;
}
function muehleCount(){
var j;
var c=0;
for(var i=0;i<7;i++){
for(j=0;j<7;j++){
if(muehleGame[i][j]==muehlePlayerNr)c++;
}
}
return c;
}
function muehleBefehlsAuswertung(eingabe, sender){
if(strip_tags(eingabe)==strip_tags(sender)){
if(strip_tags(sender)==myNick)
document.write("Mühle Fehler: sich selbst einladen ist nicht möglich");
else
document.getElementsByTagName("table")[document.getElementsByTagName("table").length-1].style.display = "none";
return;
}
a = strip_tags(eingabe).split(", ");
b = strip_tags(sender);
if(strip_tags(a[0]).toLowerCase()=="regeln"){
if(b.toLowerCase() == myNick.toLowerCase()){
document.write("<b><u>Regeln für Muehle</u></b><br>Zunächst setzt jeder Spieler abwechselnd insgesamt je 9 Steine frei auf die Punkte im Spielfeld. Anschließend wird abwechselnd ein eigener Stein entlang einer Linie gesetzt. Eine Mühle hat man wenn man 3 eigene Steine entlang einer Linie auf dem Spielfeld nebeneinander liegen hat. Wenn man eine Mühle hat darf man einen beliebigen gegnerischen Stein schlagen, der sich nicht selbst in einer Mühle befindet (wenn sich alle Steine des Gegners in Mühlen befinden kann ein beliebiger geschlagen werden). Wenn ein Spieler nur noch 3 Steine hat darf er mit seinen Steinen frei über das ganze Spielfeld springen. Wenn ihm ein weiterer Stein abgenommen wird, und er damit natürlich keine Mühle mehr bekommen kann, hat er das Spiel verloren. Außerdem hat man verloren wenn man keinen Stein mehr bewegen kann.");
}
else{
document.getElementsByTagName("table")[document.getElementsByTagName("table").length-1].style.display = "none";
}
}
else if(a.length==1){
muehleEinladung(sender, eingabe);
}
if(a[0]=="imFree"){
muehleFrei(sender, a[1], a[2])
}
if(a[0]=="setzen"){
gegner=a[1];
setzer=strip_tags(b);
for(i=0;i<2;i++)
a.shift();
muehleSetzen(gegner, setzer, a);
document.getElementsByTagName("table")[document.getElementsByTagName("table").length-1].style.display = "none";
}
}
function muehleSwitchPlayer(){
muehlePlayerNr = (muehlePlayerNr%2)+1;
parent.rightFrame.document.getElementById("amZug").firstChild.nodeValue = muehlePlayer[muehlePlayerNr];
}
function muehleSetzen(gegner, setzer, zuegeArray){
var rd=parent.rightFrame.document;
if((myNick != muehlePlayer[1] && myNick != muehlePlayer[2]) || (gegner != muehlePlayer[1] && gegner != muehlePlayer[2]) || (strip_tags(setzer) != muehlePlayer[1] && strip_tags(setzer) != muehlePlayer[2])){
muehleTmpGame=[];
return;
}
muehleTmpGame = clone(muehleGame);
if(muehleZuege<18){
y=parseInt(zuegeArray[0]);
x=parseInt(zuegeArray[1]);
if((y==0||y==6)&&(x==1||x==2||x==4||x==5) || (y==1||y==5)&&(x==0||x==2||x==4||x==6) || (y==2||y==4)&&(x==0||x==1||x==5||x==6) || y==3&&x==3)
return; // freie felder bzw. linien, keine knotenpunkte auf denen steine sitzen koennen
if(muehleGame[y][x] != 0 || setzer != muehlePlayer[muehlePlayerNr])
return; // ungueltiger Zug
muehleGame[y][x]=muehlePlayerNr;
rd.getElementsByName("muehleSpalte"+x)[y].src=muehleBilderPfad+muehleBilder[muehlePlayerNr]+".gif";
if(zuegeArray.length==4){//muehle!
my=parseInt(zuegeArray[2]);
mx=parseInt(zuegeArray[3]);
muehleGame[my][mx]=0;
rd.getElementsByName("muehleSpalte"+mx)[my].src=muehleBilderPfad+"blank.gif";
}
}
else{
w=parseInt(zuegeArray[0]); //ref zeile
v=parseInt(zuegeArray[1]); //ref spalte
y=parseInt(zuegeArray[2]); //ziel zeile
x=parseInt(zuegeArray[3]); //ziel spalte
guelt=muehleGueltigerZug(w,v,y,x);
if(guelt>=1){
muehleGame[w][v]=0;
muehleGame[y][x]=muehlePlayerNr;
rd.getElementsByName("muehleSpalte"+v)[w].src=muehleBilderPfad+"blank.gif";
rd.getElementsByName("muehleSpalte"+x)[y].src=muehleBilderPfad+muehleBilder[muehlePlayerNr]+".gif";
rd.getElementsByName("muehleSpalte"+v)[w].parentNode.style.backgroundColor = muehleFieldColors[0];
rd.getElementsByName("muehleSpalte"+x)[y].parentNode.style.backgroundColor = muehleFieldColors[0];
}
if(guelt==2 && zuegeArray.length==6){//muehle!
my=parseInt(zuegeArray[4]);
mx=parseInt(zuegeArray[5]);
muehleGame[my][mx]=0;
rd.getElementsByName("muehleSpalte"+mx)[my].src=muehleBilderPfad+"blank.gif";
}
muehleTmpGame=[];
muehleCheckIfWon();
}
muehleZuege++;
muehleSwitchPlayer();
}
function muehleCheckIfWon(){
var steinCounter=[0,0,0];
for(k=0;k<7;k++){
for(l=0;l<7;l++){
//console.log(l+" "+k);
m = muehleGame[k][l];
if(m > 0)
steinCounter[m]++;
}
}
if(steinCounter[1] <= 2 || steinCounter[2] <= 2){
alert(muehlePlayer[steinCounter[1]<=2?2:1]+" hat das Muehle-Spiel gewonnen.");
parent.rightFrame.document.body.removeChild(parent.rightFrame.document.getElementById("muehle"));
}
}
function muehleZeichneTabelle(){
ie=(document.all&&!window.innerWidth && navigator.userAgent.toLowerCase().indexOf("msie") != -1)?1:0;
r = parent.rightFrame;
muehleTabelle = r.document.createElement("table");
muehleTabelle.style.borderCollapse = "collapse";
muehleTabelle.style.borderSpacing = "0px";
muehleTbody = r.document.createElement("tbody");
for(i=0;i<7;i++){
muehleTr = r.document.createElement("tr");
for(j=0;j<7;j++){
muehleTd = r.document.createElement("td");
muehleTd.style.border = "none";
muehleTd.style.backgroundColor = muehleFieldColors[0];
muehleTd.style.margin = "0px";
muehleTd.style.padding = "0px";
muehleTd.style.width = "18px";
muehleTd.style.height = "18px";
muehleTd.style.textAlign = "center";
muehleTd.style.verticalAlign = "middle";
muehleTd.style.backgroundImage = "url("+muehleBilderPfad+
(i==0&&j==0||i==1&&j==1||i==2&&j==2?"ol":
(i==6&&j==0||i==5&&j==1||i==4&&j==2?"ul":
(i==0&&j==6||i==1&&j==5||i==2&&j==4?"or":
(i==6&&j==6||i==5&&j==5||i==4&&j==4?"ur":
((i==0||i==4)&&j==3?"o":
((i==2||i==6)&&j==3?"u":
(i==3&&(j==0||j==4)?"l":
(i==3&&(j==2||j==6)?"r":
(i==3&&(j==1||j==5)||(i==1||i==5)&&j==3?"kreuz":
((i==0||i==6)&&(j==1||j==2||j==4||j==5)||(i==1||i==5)&&(j==2||j==4)?"waagerecht":
(j==0||j==6)&&(i==1||i==2||i==4||i==5)||(j==1||j==5)&&(i==2||i==4)?"senkrecht":
"transparent"))))))))))+".gif)";
if(!ie){
muehleTdImg = new Image();
muehleTdImg.src=muehleBilderPfad+"blank.gif";
muehleTdImg.style.height = "14px";
muehleTdImg.style.width = "14px";
muehleTdImg.name = "muehleSpalte"+j;
eval("muehleTdImg.onclick = function(e){parent.mainframe.muehleBtnClick("+i+", "+j+")}");
muehleTd.appendChild(muehleTdImg);
}
else{
muehleTdImg = "<img src='"+muehleBilderPfad+"blank.gif' style='hight:14px;width:14px;' onclick='parent.mainframe.muehleBtnClick("+i+", "+j+")' name='muehleSpalte"+j+"' />";
muehleTd.innerHTML += muehleTdImg;
}
muehleTr.appendChild(muehleTd);
}
muehleTbody.appendChild(muehleTr);
}
muehleTabelle.appendChild(muehleTbody);
muehleSpielfeld = r.document.createElement("p");
muehleSpielfeld.style.border = "#888 solid 1px";
muehleSpielfeld.setAttribute("id", "muehle");
muehleClose = r.document.createElement("div");
muehleClose.style.marginBottom="0px";
muehleClose.style.textAlign="right";
muehleCloseLink = r.document.createElement("a");
muehleCloseLink.setAttribute("href", "javascript:void(document.body.removeChild(document.getElementById('muehle')));void(pm=parent.mainframe);void(pm.sendeText('/f '+pm.muehlePlayer[(pm.muehleImPlayer==1?2:1)]+' muehle-Automessage: ich habe das muehle-Spiel verlassen.'));");
muehleCloseLink.appendChild(r.document.createTextNode("X"));
muehleClose.appendChild(muehleCloseLink);
muehleSpielfeld.appendChild(muehleClose);
muehleSpielfeld.appendChild(muehleTabelle);
if(muehleAbsolutePosition){
muehleSpielfeld.style.position = "absolute";
muehleSpielfeld.style.bottom = "0px";
muehleSpielfeld.style.right = "0px";
}
muehleNachTbl = r.document.createElement("span");
muehleNachTbl.appendChild(r.document.createTextNode("Am Zug: "));
muehleAmZug = r.document.createElement("span");
muehleAmZug.setAttribute("id", "amZug");
muehleAmZug.appendChild(r.document.createTextNode(muehlePlayer[2]));
muehleNachTbl.appendChild(muehleAmZug);
muehleSpielfeld.appendChild(muehleNachTbl);
if(r.document.getElementById("muehle"))
r.document.body.removeChild(r.document.getElementById("muehle"));
r.document.body.appendChild(muehleSpielfeld);
}
function muehleEinladung(einlader, eingeladener){
einlader = strip_tags(einlader);
if(myNick == einlader || myNick.toLowerCase() == strip_tags(eingeladener).toLowerCase()){
muehleTmpPlayer[1] = einlader;
muehleTmpPlayer[2] = strip_tags(eingeladener);
muehlePlayerFrei[2] = false;
if(myNick.toLowerCase()==strip_tags(eingeladener).toLowerCase()){
document.write("lädt dich auf eine Runde Mühle ein. <a href='#' onclick='sendeText(\"/muehle Regeln\")'>Regeln anzeigen</a><p style='text-align:right;'><button onclick='muehleElBtnsDeakt(this); sendeText(\"/muehle imFree, "+muehleTmpPlayer[1]+", true\")'>annehmen</button><button onclick='muehleElBtnsDeakt(this); sendeText(\"/muehle imFree, "+muehleTmpPlayer[1]+", false\")'>ablehnen</button></p>");
}
else
document.write("lädt "+eingeladener+" auf eine Runde Mühle ein.");
}
else
document.write("lädt "+eingeladener+" auf eine Runde Mühle ein.");
if((einlader==muehlePlayer[1] || einlader == muehlePlayer[2]) && !muehleVorbei){
muehleVorbei = true;
document.write(" Er/Sie beendet damit das derzeitige Spiel.");
rd=parent.rightFrame.document;
if(rd.getElementById("muehle"))
rd.body.removeChild(rd.getElementById("muehle"));
}
}
function muehleElBtnsDeakt(objBtn){
for(i in objBtn.parentNode.getElementsByTagName('button')){
objBtn.parentNode.getElementsByTagName('button')[i].disabled=true;
}
}
function muehleFrei(freeUser, einlader, isFree){
if(strip_tags(freeUser)==myNick)
muehleVorbei = true;
if(!(myNick == einlader || myNick == muehleTmpPlayer[2])){
document.write((isFree=="true")?"nimmt die Mühle-Einladung an.":"lehnt die Mühle-Einladung ab.");
return;
}
if(isFree=="false")
document.write("lehnt die Mühle-Einladung ab.");
//Meldung fuer anderen Spieler des vorherigen Spieles falls dieses noch nicht beendet war
if(!muehleVorbei && isFree=="true"){
document.write(" nimmt die Einladung an und verlässt damit das bisherige Spiel.");
rd=parent.rightFrame.document;
if(rd.getElementById("muehle"))
rd.body.removeChild(rd.getElementById("muehle"));
return;
}
if(strip_tags(freeUser) == muehleTmpPlayer[2] && isFree=="true"){
muehlePlayerFrei[2] = true;
document.write(" nimmt die Einladung an.");
}
if(muehlePlayerFrei[1] && muehlePlayerFrei[2])
starteMuehle();
}
function starteMuehle(){
muehlePlayer = muehleTmpPlayer;
muehleTmpPlayer = new Array();
muehleTmpPlayer[1]=muehleTmpPlayer[2]="";
muehlePlayerNr = 2;
muehleVorbei = false;
muehleImPlayer = (myNick==muehlePlayer[1])?1:2;
muehleGame = new Array(8);
muehleZeichneTabelle();
for(i=0; i < 7; i++){
muehleGame[i]=[0,0,0,0,0,0,0];
}
}
//Quelle: http://javascript.geniusbug.com/index.php?action=show&name=clone
function clone(myObj){
if(typeof(myObj) != 'object') return myObj;
if(myObj == null) return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = clone(myObj[i]);
return myNewObj;
}
Code: Alles auswählen
var muehleBilderPfad = "http://www.beispiel.de/muehle/";
Diese sind: playera.gif, playerb.gif, blank.gif und die Spielfeld-Teile ol.gif, waagerecht.gif, o.gif, or.gif, senkrecht.gif, kreuz.gif, l.gif, r.gif, ul.gif, ur.gif, u.gif
Die folgenden 2 Einstellungen sind optional.
In der 2. Zeile steht folgendes:
Code: Alles auswählen
var muehleFieldColors = ["#000","#555"];
In der 3. seht ihr:
Code: Alles auswählen
var muehleAbsolutePosition = true;
Code: Alles auswählen
var muehleAbsolutePosition = false;
Code: Alles auswählen
<script type="text/javascript" src="http://www.deineDomain.de/muehle.js"></script>
eingehalten werden.
/muehle
Code: Alles auswählen
<script type=text/javascript>if(parent.info){muehleBefehlsAuswertung('%user%','%me%');}else{document.write('spielt mit einem anderen Chatter Mühle')}</script>