Supportnet / Forum / Anwendungen(Java,C++...)
Noch was brauche ich
Frage
<html>
<head>
<script>
// Aufbau: Kartenname, ATK, DEF
// Kommas nicht vergessen!
var karten = new Array(
"Karte1", 5, 10,
"Karte2", 3, 1,
"Karte3", 4, 3,
"Karte4", 8, 7,
"Karte5", 3, 11 // Letzter Eintrag ohne Komma
//...usw
);
var anzahlKarten = karten.length/3;
function karteAusgeben()
{
var i = 3 * Math.floor(Math.random()*anzahlKarten);
document.forms[0].karte.value =
karten[i++] + " (ATK=" + karten[i++] + ", DEF=" + karten[i] + ")";
}
</script>
</head>
<body>
<form>
<input name="karte" value="" size=60 readonly><br>
<input type=button value="Zufallskarte" onClick="karteAusgeben()">
</form>
</body>
</html>
kann einer von euch noch bei dem Code oben , den ich von semi bekommen habe ,ändern, das man noch eine kleine Beschreibung dazuschreiben kann,die dann auch mit der Zufällig gezogenen Karte angzeigt wird
cu Vash
Antwort 1 von semi
<html>
<head>
<script>
// Aufbau: Kartenname, ATK, DEF, "Info"
// Kommas nicht vergessen!
var karten = new Array(
"Karte1", 5, 10, "Info1",
"Karte2", 3, 1, "Info2",
"Karte3", 4, 3, "Info3",
"Karte4", 8, 7, "", // "" für "kein Info"
"Karte5", 3, 11, "Info5" // Letzter Eintrag ohne Komma
//...usw
);
var anzahlKarten = karten.length/4;
function karteAusgeben()
{
var i = 4 * Math.floor(Math.random()*anzahlKarten);
document.forms[0].karte.value =
karten[i++] + " (ATK=" + karten[i++] + ", DEF=" + karten[i++] + ")";
document.forms[0].info.value = karten;
}
</script>
</head>
<body>
<form>
<input name="karte" value="" size=60 readonly><br>
<input name="info" value="" size=60 readonly><br>
<input type=button value="Zufallskarte" onClick="karteAusgeben()">
</form>
</body>
</html>Die Änderungen sind fett hervorgehoben.Antwort 2 von Vash
gibts vielleicht auch noch eine möglichkeit zu den einzelenen Karten bilder einzufügen....ich hoffe ich nerve net...aber danke für den code schon mal
cu Vash
cu Vash
Antwort 3 von semi
1) Erweitere das Format um noch eine Spalte
z.B.
(es sind 5 Spalten pro Karte)
3) Im Dokument irgendwo folgendes einfügen
4) Die letzten zwei Zeilen in der Funktion karteAusgeben() sollten dann wie folgt aussehen
Gruß,
Michael
z.B.
"Karte1", 5, 10, "Info1", "image1.gif"
2) Ersetze überall die 4 durch 5(es sind 5 Spalten pro Karte)
3) Im Dokument irgendwo folgendes einfügen
<img src="dummy.gif">dummy.gif ist irgendeine transparente Grafik für den Anfangszustand.4) Die letzten zwei Zeilen in der Funktion karteAusgeben() sollten dann wie folgt aussehen
document.forms[0].info.value = karten[[b]i++];
document.images[0].src = karten;
Gruß,
Michael
Antwort 4 von Vash
ja danke für alles
cu vash
cu vash
Antwort 5 von Vash
<html>
<head>
<script>
// Aufbau: Kartenname, ATK, DEF, "Info"
// Kommas nicht vergessen!
var karten = new Array(
"Karte1", 5, 10, "Info1", "image.gif",
"Karte2", 3, 1, "Info2", "image2.gif",
"Karte3", 4, 3, "Info3", "image3.gif",
"Karte4", 8, 7, "", "image4.gif", // "" für "kein Info"
"Karte5", 3, 11, "", "image5.gif" // Letzter Eintrag ohne Komma
//...usw
);
var anzahlKarten = karten.length/5;
function karteAusgeben()
{
var i = 5 * Math.floor(Math.random()*anzahlKarten);
document.forms[0].karte.value =
karten[i++] + " (ATK=" + karten[i++] + ", DEF=" + karten[i++] + ")";
document.forms[0].info.value = karten;
document.images[0].src = karten;
}
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body>
<div id="Layer1" style="position:absolute; left:12px; top:12px; width:349px; height:133px; z-index:1"><img src="dummy.gif"></div>
<form>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>
<input name="karte" value="" size=60 readonly>
<br>
<input name="info" value="" size=60 readonly>
<br>
<input type=button value="Zufallskarte" onClick="karteAusgeben()">
</p>
</form>
</body>
</html>
habe ich irgendetwas falsch gemacht? weil der läadt das Bild net...das dummy.gif schon, aber die restlichen Bilder net
<head>
<script>
// Aufbau: Kartenname, ATK, DEF, "Info"
// Kommas nicht vergessen!
var karten = new Array(
"Karte1", 5, 10, "Info1", "image.gif",
"Karte2", 3, 1, "Info2", "image2.gif",
"Karte3", 4, 3, "Info3", "image3.gif",
"Karte4", 8, 7, "", "image4.gif", // "" für "kein Info"
"Karte5", 3, 11, "", "image5.gif" // Letzter Eintrag ohne Komma
//...usw
);
var anzahlKarten = karten.length/5;
function karteAusgeben()
{
var i = 5 * Math.floor(Math.random()*anzahlKarten);
document.forms[0].karte.value =
karten[i++] + " (ATK=" + karten[i++] + ", DEF=" + karten[i++] + ")";
document.forms[0].info.value = karten;
document.images[0].src = karten;
}
</script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body>
<div id="Layer1" style="position:absolute; left:12px; top:12px; width:349px; height:133px; z-index:1"><img src="dummy.gif"></div>
<form>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>
<input name="karte" value="" size=60 readonly>
<br>
<input name="info" value="" size=60 readonly>
<br>
<input type=button value="Zufallskarte" onClick="karteAusgeben()">
</p>
</form>
</body>
</html>
habe ich irgendetwas falsch gemacht? weil der läadt das Bild net...das dummy.gif schon, aber die restlichen Bilder net
Antwort 6 von semi
document.forms[0].info.value = karten[i++];
statt
document.forms[0].info.value = karten;
statt
document.forms[0].info.value = karten;
Antwort 7 von Vash
Dankeschön....ich werde dich niewieder damit nerven :D
cu Vash
cu Vash
Antwort 8 von Vash
hi,
es tut mir so leid...eines wüste ich noch gerne...gibt es eine möglichkeit das die Karte die gezogen wurde nur einmal gezogen werden kann...also das mann nicht 2 mal die selbe ziehen kann...ich verspreche dir danach werde ich dich nie wieder nerven kein ton mehr sagen...
cu Vash
es tut mir so leid...eines wüste ich noch gerne...gibt es eine möglichkeit das die Karte die gezogen wurde nur einmal gezogen werden kann...also das mann nicht 2 mal die selbe ziehen kann...ich verspreche dir danach werde ich dich nie wieder nerven kein ton mehr sagen...
cu Vash
Antwort 9 von semi
Ersetze den Code an der entsprechenden Stelle zwischen dem Ende des Karten-Arrays und dem Anfang der Ausgabefunktion
...
var zeilenLaenge = 5;
var anzahlKarten = karten.length/zeilenLaenge;
var zeilenOffsets = new Array();
function reset()
{
for(var i=0; i<anzahlKarten;i++)
zeilenOffsets.push(i*zeilenLaenge);
}
function naechsteKarte()
{
if(zeilenOffsets.length == 0)
reset();
var inx = Math.floor(Math.random()*zeilenOffsets.length);
var i=zeilenOffsets[inx];
zeilenOffsets.splice(inx,1)
return i;
}
function karteAusgeben()
{
var i = naechsteKarte();
...
Antwort 10 von Vash
tut mir leid ich verstehe es net wo woll ich was einfügen?
Antwort 11 von semi
<script>
// Aufbau: Kartenname, ATK, DEF, "Info"
// Kommas nicht vergessen!
var karten = new Array(
"Karte1", 5, 10, "Info1", "image.gif",
"Karte2", 3, 1, "Info2", "image2.gif",
"Karte3", 4, 3, "Info3", "image3.gif",
"Karte4", 8, 7, "", "image4.gif", // "" für "kein Info"
"Karte5", 3, 11, "", "image5.gif" // Letzter Eintrag ohne Komma
//...usw
);
var zeilenLaenge = 5;
var anzahlKarten = karten.length/zeilenLaenge;
var zeilenOffsets = new Array();
function reset()
{
for(var i=0; i<anzahlKarten;i++)
zeilenOffsets.push(i*zeilenLaenge);
}
function naechsteKarte()
{
if(zeilenOffsets.length == 0)
reset();
var inx = Math.floor(Math.random()*zeilenOffsets.length);
var i=zeilenOffsets[inx];
zeilenOffsets.splice(inx,1)
return i;
}
function karteAusgeben()
{
var i = naechsteKarte();
document.forms[0].karte.value =
karten[i++] + " (ATK=" + karten[i++] + ", DEF=" + karten[i++] + ")";
document.forms[0].info.value = karten[i++];
document.images[0].src = karten;
}
</script>
