• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

brauche hilfe bei programierung eines nimmspiels...

Status
Für weitere Antworten geschlossen.

alle2wochen

Neues Mitglied
hallo, schreibe bald eine infoarbeit und muss dafür so ein nimmspiel programmieren können.

Es funktioniert leider aber nicht. hier der quelltext...vlt könnt ihr mir ja helfen...
danke...
und schonmal frohe Wheinachten

Code:
<html><head><title>Nimmspiel gegen den Computer</title></head>
<body bgcolor="lightblue">
<script language="JavaScript">

var anzahl,max,grad,dran,weg

function start()
{
anzahl=Math.floor(50*Math.random()+20);
nimmspiel.anzahl.value=anzahl;
max=Math.floor(8*Math.random()+3);
nimmspiel.max.value=max;
nimmspiel.snimm.value=""
nimspiel.sieger.value=""
dran=1
}

function rechenen()
{if (drann==-1) 
    {alert("Du bist nicht am Zug!")}
     else {var x=nimmspiel.snimm.value 
while ( (x !=parseInt(x)) || (x>max || x<1)) {x = promt ("Du kanst nur zwischen 1 und "+max+" Steine ziehen. Wie viele?" ,"")}
nimmspiel.snimm.value=x
if (x>anzahl) {alert("Es ist (sind nur noch "+anzahl+" Stein(e) da.");

x=anzahl;
nimmspiel.snimm.value=x;

anzahl=anzahl*1-1*x;
nuimmspiel.anzahl.value=anzahl;
nimmspiel.pcnimm.value=""
dran=-dran
if (anzahl<=0) {alert("Schade für dich!");
nimmspiel.sieger.value="Computer"}
}
}

function computer_schlau()
{var rest=anzahl%(max*1+1);weg=rest-1
   if (rest==1) {weg=Math.floor(Math.random()*max+1)}
   if (rest==0) {weg=max}
   return(weg)
}

function computerzug()
{var soviel

if (grad==1) {soviel=computer_schlau()} else {soviel=Math.floor(Math.random()*max+1)}
nimmspeil.pcnimm.value=soviel;
dran=-dran;
anzahl=anzahl-soviel*1;
nimmspiel.anzahl.value=anzahl;
nimmspeil.snimm.value=""
if (anzahl<=0) {alert("Herzlichen Glückwunsch!");
nimmspeil.Sieger.value="Spieler"}
}
</script>



<font size="4">[b]Nimmspiel gegen den Computer[/b]</font></p>


</p>
<form name="nimmspiel">


Computer ist dumm: <input type="radio" onclick=grad=1 name="grad" value="1"></p>



Computer ist intelligent: <input type="radio" onclick=grad=2 name="grad" value="2"></p>


<input type="button" value="start" onclick="start"></p>


Anzahl der Steine: <input type="text" name="anzahl" readonly></p>


Maximal zu ziehende Steine: <input type="text" name="max" readonly></p>


Ich nehme: <input type="text" name="snimm"></p>


<input type="button" onclick="rechnen" value="ziehen"></p>


<input type="button" onclick="computerzug" value="Computerzug"></p>


CVomputer nimmt: <input type="text" name="pcnimm" readonly></p>


Sieger ist: <input type="text" name="sieger" readonly></p>


</p>


<input type="reset" value="Neues Spiel"></p>
</form>
</body>
</html>
 
Werbung:
??? ich weis, es ist weihnachten, aber es ist wirklich dringent..... :? ..

deshalb helft mir mal bitte...Wünsche allen ein frohes fest und schöne festtage...
 
ich steige nicht wirklich hinterden sinn. könntest du bitte die spielregeln und prinzip erläutern dann fällt das verständnis des code auch einfacher...
 
Werbung:
Spielerklärung!!!

Also... erstmal: wer den letzten stein zieht hat verloren!

Wenn man auf den Start Button dückt, ermittelt das script eine anzahl von Steinen (die im Spiel genommen werden...) und eine anzahl die maximal auf einmal gezogen werden darf.(max)

der spieler zieht... wenn anzahl gezogen > max dann meldung sonst abziehen...

dann ist der pc dran... errechnen die wenn schwierigkeitsgrat auf schwer gestellt die optimale zahl um auf eine gewinnzahl zu kommen und zu gewinnen und zieht diese ab...

(optimale zahl wird wie folgt errechnet:

anzahl noch da durch max und davon der rest wird abgezogen..so kommt der pc auf eine gewinnzahl...)

wenn schwierigkeitsgrad auf leicht gestellt ist, zieht er eine zufallszahl...

und nach jedem zug wird dann überprüft ob anzahl noch da => null sonst siegmeldung...

ich hoffe ich konnte es gut erklären...(auf die schnelle) aber es muss ja jemanden geben der sowas kennt...

und noch eine FRAGE:

Ich schreibe die Arbeit am PC im informatik raum...und der hat internetanschluss...;)
könntet ihr vlt mal im forum vorbeigucken? also das wäre dann am
----------
11 Jannuar 2006 zwischen 12.30 und 14.05 uhr! (2h)
----------
könntet ihr dann also bitte mal vorbeigucken!!! wäre ne große hilfe...weil die arbeit ist wichtig...DANKE schionmal im voraus für folgende antworten...
 
Werbung:
doch noch geschafft!!

ich habs nochmal versucht und doch noch geschaft, weis zwar nicht woo der fehler war..aber es funktioniert ja jetzt...
könnt ihr mir denn bei meiner info-arbeit helfen? wann die ist steht ja oben...bitte schreibt mal...DANKE

hier der code

Code:
<html><head><title>Nimmspiel gegen den PC</title></head><body bgcolor="lightblue">
<script language="JavaScript">

  var noch_da,max,schwer,weg,dran;

function spiel()
{ noch_da = Math.floor(50*Math.random()+20);
  nimmspiel.Steine.value=noch_da;
  max = Math.floor(8*Math.random()+3)
  nimmspiel.Maximum.value=max;
  nimmspiel.Spielerzahl.value=""
  nimmspiel.Sieger.value=""
  dran=1
}

function rechnen()
{
if (dran==-1){alert("Du bist nicht dran!!")}
else
{var x =nimmspiel.Spielerzahl.value
while ( (x !=parseInt(x) || (x>max || x<1 ))) {x = promt ("Du kannst nur zwischen 1 und " +max+ " Steine nehmen. Wie viele?", "") }
nimmspiel.Spielerzahl.value=x
if (x>noch_da) {alert ("Es ist(sind) nur noch " +noch_da+ " Stein(e) da.") ; 
                                
                               x = noch_da; nimmspiel.Spielerzahl.value=x}
noch_da=noch_da*1-x*1;
nimmspiel.Steine.value=noch_da
nimmspiel.Computerzahl.value=""
dran=-dran
if (noch_da<=0) {alert("Schade für dich") ;
                                           nimmspiel.Sieger.value="Computer"}
}
}

function optimum()
{
  var rest =noch_da%(max*1+1);weg=rest-1
  if (rest==1)  {weg =Math.floor(Math.random()*max+1)}
  if (rest==0)  {weg =max}
  return(weg)
}

function computerzug()
{var sovie

if (schwer==2) {soviel=optimum()} else {soviel=Math.floor(Math.random()*max+1)}
nimmspiel.Computerzahl.value=soviel;
dran=-dran
noch_da=noch_da-soviel*1;
nimmspiel.Steine.value=noch_da
nimmspiel.Spielerzahl.value=""
if (noch_da<=0){alert("Herzlichen Glückwunsch!");
nimmspiel.Sieger.value="Spieler"}
}
</script>



<font size=4>[b]Ein Nimmspiel gegen den Computer[/b]</font></p>
</p></p>
<form name="nimmspiel">


Computer ist dumm: <input type="radio" value=1 onclick=schwer=1 checked name="grad"></p>



Computer ist intelligent: <input type="radio" value=2 onclick=schwer=2 name="grad"></p>



<input type="button" onclick="spiel()" value="START"></p>



Anzahl der Steine: <input type="text" readonly size="4" name="Steine"></p>


Man darf nicht mehr als <input type="text" readony size="4" name="Maximum"> nehmen.</p>


Deine Zahl <input type="text" size="4" name="Spielerzahl"></p>



<input type="button" onclick="rechnen()" value="fertig" name="fertig"></p>


<input type="button" onclick="computerzug()" value="Computerzug" name="Computerzug"></p>



Ich nehem: <input type="text" name="Computerzahl"></p>


Sieger ist: <input type="text" name="Sieger"></p>


<input type="reset" name="reset" value="neues Spiel"></p>

</form>
</body>
</html>
[/b]
 
Werbung:
Hallo,

alle2wochen, das solltest du selbst schaffen. In Zukunft musst du auch alleine klar kommen. Arbeiten musst du schon selbst schreiben. Wir würden dir helfen zu betrügen, wenn ich das richtig sehe und das möchte wohl keiner hier.


Liebe Grüße,
L.T.M
 
FALSCH
Wir helfen im bei einem Problem. Dadruch lernt er. An dem Code erkennt man ja, dass er es alleine versucht! Also, wenn ihm jmd helfen kann, dann tut es. Es ist assozial nicht zu helfen nur weil er gesagt hat, er schreibt ne Arbeit...
 
Hallo,

CrackPod, ich meinte das Helfen während der Arbeit. Jetzt helfen wir doch alle gerne, das ist selbstverständlich, aber nicht während er die Arbeit schreibt.


Liebe Grüße,
L.T.M
 
Werbung:
Der Fehler im ersten Script könnte folgender gewesen sein:

Bei den Buttons hattest du im ersten Script z. B. geschrieben:

Code:
<input type="button" onclick="computerzug" value="Computerzug">

Im zweiten dagegen stand:

Code:
<input type="button" onclick="computerzug()" value="Computerzug" name="Computerzug">

Du hast beim Ersten Script hinter computerzug die Klammern vergessen.


Du meinst, die User sollen dir während der Arbeit helfen?

Wenn du Zugriff auf das Netz hats, wieso schaust du dann nicht in der Wikipedia oder lernst einfach gründlich?
 
Ach LTM warum reagierst du immer so sensibel? Wenn er hilfe braucht, dann helfen wir ihn.. Oder biste so ein freund nicht?
 
ja so ist das ja nicht...also können tu ich das eigentlich schon...(hatte die letzte arbeit 2- aber nur weil der so dumme fehöer angestrichen hat...z.B. html tags nicht geschlossen..oder nicht den titel angegeben...)

aber dadurch könnte die arbeit ja etwas besser werden...naja mal schaun vlt kann ich das auch allein...wenn nich guck ich einfach mal vorbei...danke..
 
Werbung:
eben... ich habe nicht so auf kleine details geachtet --> wir sollten dies innerhalb von 60min programmieren :wink:
schlussendlich hat er sowieso verloren :mrgreen:
 
Werbung:
Hallo,

topaa, ich habe keine Lust auf eine Diskussion mit dir, aber sensibel sein und helfen zu betrügen sind 2 sehr verschiedene Sachen, das solltest du wissen.


Liebe Grüße,
L.T.M
 
hab die arbeit so geschafft...;) also war eigentlich nicht so schwer...wir sollten wieder so ein nimmspiel machen..aber nach dem seiner vorlage und da sollten 2 haufen steine sein...wenn ich die arbeit zurück habe mach ich mal den code rein..
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben