Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Dieser Inhalt ist leider völlig sinnfrei.
Der Beitrag enthält Aussagen oder Andeutungen, welche als Beleidigung angesehen werden könnten und im Zusammenhang unpassend und unnötig sind. Bei dem Ort hier handelt es sich um ein offizielles Support-Forum der Miranus GmbH für den Betrieb der Xobor Foren.
Beleidigungen, jedoch auch bereits kleinere Sticheleien, haben hier keinen Ort und stören den Zweck des Forums.
Dieser Beitrag enthält unerwünschte Werbung.
Dieser Beitrag verstößt gegen die Netiquette des Forums.
Beiträge, die IN GROßBUCHSTABEN oder fett geschrieben sind bitte vermeiden.
{[userwarning_empty_error]}
Es wird der oben genannte Grund verwendet. Klicken Sie hier, um den Inhalt der privaten Nachricht anzupassen
Legen Sie hier den Inhalt der PN-Benachrichtigung fest.
Hinweis: Dieses Mitglied wurde bereits 2 Mal verwarnt.
Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Würfelfunktion (bbCode?)
16.03.2023 18:23 (zuletzt bearbeitet: 16.03.2023 18:39)
#16 RE: Würfelfunktion (bbCode?)
l2
3D6+4 https://en.m.wikipedia.org/wiki/Dice_notation
Konnte mir lange nix drunter vorstellen ...
Math.random() liefert Werte 0 .. 1, um daraus einen normalen Würfel zu machen
1
var x = Math.floor(1+ 6*Math.random()); // liefert 1 .. 6
16.03.2023 20:10 (zuletzt bearbeitet: 16.03.2023 20:29)
#17 RE: Würfelfunktion (bbCode?)
l2
auf creators Idee aufbauend, ein neuer HTML-Code für die Iconbar
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<div id="custom_iconbar_wuerfel" class="xob_icon_cont">Würfel</div>
<script>
document.getElementById("custom_iconbar_wuerfel").addEventListener("click", function(){
function wuerfel() {
let x=Math.floor(1+ 6*Math.random());
return "[size=4] "+String.fromCharCode(0x2680 -1 +x)+"[/size]";
}
xob_insert(wuerfel());
});
</script>
Ausgabe z.B.: ⚄ ⚃ ⚂ ⚂ ⚀ ⚅ ⚁ ⚀ ⚁ ⚄
17.03.2023 19:07
#18 RE: Würfelfunktion (bbCode?)
l2
mit dem obigen Beispiel wird, der 'Wurf' gleich ins Messagefeld kopiert. ⚂
und wenn das Ergebnis nicht 'passt', könnte man den 'Wurf' löschen und einen neuen tätigen. Wie lässt sich das verhindern?
wenn nur ein Platzhalter z.B. [3D6] ins Messagefeld geschrieben wird, bleibt das Ergebnis zunächst verborgen
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<div id="custom_iconbar_3D6" class="xob_icon_cont">[3D6]</div>
<script>
document.getElementById("custom_iconbar_3D6").addEventListener("click", function(){
let bbc="[3D6]";
xob_insert(bbc);
});
</script>
so lassen sich noch weitere Buttons definieren
1
2
3
4
5
6
7
2
3
4
5
6
7
<div id="custom_iconbar_3D6_4" class="xob_icon_cont">[3D6+4]</div>
<script>
document.getElementById("custom_iconbar_3D6_4").addEventListener("click", function(){
let bbc="[3D6+4]";
xob_insert(bbc);
});
</script>
nun muss man nur noch dafür sorgen, dass diese Dice-Regeln ausgeführt (gewürfelt) werden, ohne dass der User das Ergebnis manipulieren kann.
Dazu bekommt der Speicher-Button eine zusätzliche click-Funktion, die das Würfeln übernimmt und das Ergebnis vorm Abspeichern im Messagetext ersetzt.
Der Einfachheit halber definiere ich diese Funktion im Scriptblock eines Würfelbuttons.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<div id="custom_iconbar_5D10_8" class="xob_icon_cont">[5D10+8]</div>
<script>
document.getElementById("custom_iconbar_5D10_8").addEventListener("click", function(){
let bbc="[5D10+8]";
xob_insert(bbc);
});
document.addEventListener('DOMContentLoaded', function(){
const qs="[type='submit'][name='a1'], #submit";
var submit_but=document.querySelector(qs);
if ( ! submit_but) {alert ("wuerfel: submit Button nicht gefunden? "+qs); return}
submit_but.addEventListener("click", function() {
let ta=document.getElementById("messagetext");
if ( !ta ) {alert ("wuerfel: kein messagetext"); return}
function wuerfel3(anzahl,seiten,bonus) {
let sum=bonus;
let txt="";
for (var n=0; n < anzahl;n++) {
let x=Math.floor(1+ seiten*Math.random());
txt+=" "+(seiten>6 ? ("["+x+"]") : String.fromCharCode(0x2680 -1 +x));
sum +=x;
}
txt="[size=4] "+txt+"[/size]";
if (bonus>0) txt +="[+" +bonus+"]";
return txt+" ("+sum+")";
}
var r, rg=/\[(\d+)D(\d+)\]/;
while( r=rg.exec(ta.value)) {
// console.log("würfel r:" +r);
ta.value=ta.value.replace(r[0],wuerfel3(1*r[1],1*r[2],0));
}
rg=/\[(\d+)D(\d+)\+(\d+)\]/;
while( r=rg.exec(ta.value)) {
ta.value=ta.value.replace(r[0],wuerfel3(1*r[1],1*r[2],1*r[3]));
}
});
});
</script>
wie man sieht, sind auch andere Kombinationen möglich
evtl Code-Änderungen ( falls hier ein Bug drinsteckt) werde ich hier vorstellen https://test-v6.xobor.de/t139f27612-wuerfeln.html
dort kann man es auch ausprobieren ... viel Spaß
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Das Thema ist geschlossen
Sie haben keine Rechte zu antworten
Bereits Mitglied?
Jetzt anmelden!
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!
Jetzt registrieren!
Xobor Software
Das Unternehmen
Weitere Informationen
Forum erstellenIhr eigenes Forum
Die Forum-Software wird seit 1998 kontinuierlich weiterentwickelt.
© 2017 Xobor | Forum-Software
© 2017 Xobor | Forum-Software