Duelleerclub
Hallo,
Sinds een paar dagen probeer ik een idee te verzinnen voor een Duelleerclub. Het idee is zo ongeveer al klaar maar ik stuit op een paar problemen. Kan iemand me hiermee helpen?
Hoe laat je de kans om te winnen afhangen van je ingevulde statistieken en je soort toverstok? Ik heb al heel wat berekeningen geprobeerd maar geen enkele schijn het te doen.
Sinds een paar dagen probeer ik een idee te verzinnen voor een Duelleerclub. Het idee is zo ongeveer al klaar maar ik stuit op een paar problemen. Kan iemand me hiermee helpen?
Hoe laat je de kans om te winnen afhangen van je ingevulde statistieken en je soort toverstok? Ik heb al heel wat berekeningen geprobeerd maar geen enkele schijn het te doen.
Op deze manier misschien?
In andere woorden, Kunnen we misschien wat meer informatie krijgen? Ik ben wel enigzins thuis in hp achtige wereldjes maar dit is wel erg veel glazen bollen werk.
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
function winnaar_bepalen($lengte_zwabber_stok_eerste_speler, $lengte_zwabber_stok_tweede_speler){
return ($lengte_zwabber_stok_eerste_speler > $lengte_zwabber_stok_tweede_speler) ? 1 : 2 ;
}
?>
function winnaar_bepalen($lengte_zwabber_stok_eerste_speler, $lengte_zwabber_stok_tweede_speler){
return ($lengte_zwabber_stok_eerste_speler > $lengte_zwabber_stok_tweede_speler) ? 1 : 2 ;
}
?>
In andere woorden, Kunnen we misschien wat meer informatie krijgen? Ik ben wel enigzins thuis in hp achtige wereldjes maar dit is wel erg veel glazen bollen werk.
Het idee is dus dat je 5 statistieken moet invullen waarvan de uitkomst samen 10 moet zijn. Bijvoorbeeld:
Snelheid: 0
Alertheid: 0
Lenigheid: 0
Uithouding: 0
Geluk: 10
En je hebt bijvoorbeeld toverstok 1.
Deze statistieken zijn erg slecht en je toverstok is de laagste die er is.
Als je nu gaat duelleren moet je dus vaak verliezen. Maar hoe moet je dit maken?
(P.S. Het is geen multiplayer maar tegen computer)
Snelheid: 0
Alertheid: 0
Lenigheid: 0
Uithouding: 0
Geluk: 10
En je hebt bijvoorbeeld toverstok 1.
Deze statistieken zijn erg slecht en je toverstok is de laagste die er is.
Als je nu gaat duelleren moet je dus vaak verliezen. Maar hoe moet je dit maken?
(P.S. Het is geen multiplayer maar tegen computer)
Gewijzigd op 01/06/2010 16:56:16 door hi hi
Je zult een soort rock paper sissor systeem krijgen. Je statistieken hebben wel veel met de persoon te maken, dit zijn statistieken voor deulleren met sabels of iets. En niet echt waar magie bij betrokken is. Naar mijn mening dan.
Het maakt ook niet echt uit voor de berekening of je tegen de computer speelt of tegen iemand anders. Je zult het toch met statistieken van 2 spelers moeten voeren. Al dan niet random voor de computer om het niet voorspelbaar te maken.
Het maakt ook niet echt uit voor de berekening of je tegen de computer speelt of tegen iemand anders. Je zult het toch met statistieken van 2 spelers moeten voeren. Al dan niet random voor de computer om het niet voorspelbaar te maken.
Gewijzigd op 01/06/2010 17:18:37 door - Mark -
Hoe moet de winnaar precies uitgekozen worden? Wordt elke eigenschap met die van de tegenpartij vergeleken, of moet ik dat anders zien? Als je wat meer info geeft wil ik best helpen bij het opstellen van een formule.
Het blijft altijd gewoon wat leuks verzinnen.
Ik neem nu even een object Toverstok aan met als properties de door jou gegeven parameters.
Zoiets?
Ik neem nu even een object Toverstok aan met als properties de door jou gegeven parameters.
Code (php)
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
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
<?php
function duel(Toverstok $a, Toverstok $b)
{
$resultaat = 0;
// Als a beter is wordt resultaat groter, zo niet wordt het kleiner
if($a->snelheid != $b->snelheid)
$resultaat += ($a->snelheid > $b->snelheid) ? 5 : -5;
if($a->alertheid!= $b->alertheid)
$resultaat += ($a->alertheid > $b->alertheid) ? 8 : -8;
if($a->lenigheid != $b->lenigheid)
$resultaat += ($a->lenigheid > $b->lenigheid) ? 2 : -2;
if($a->uithouding != $b->uithouding)
$resultaat += ($a->uithouding > $b->uithouding) ? 4 : -4;
if($a->geluk != $b->geluk)
$resultaat += ($a->geluk > $b->geluk) ? 1 : -1;
// Voeg een random factor toe, doe 3x plus 1 of min 1
// Dat met rand is een truukje om 1 of -1 tekrijgen, volgens mij is dit de makkelijkste manier
$resultaat += 3 * (mt_rand(0,1)*2-1);
// Als de stand gelijk is
if($resultaat == 0)
$resultaat = mt_rand(0,1)*2-1;
// Kijk of het boven of onder 0 is, boven: a heeft gewonnen, onder: b heeft gewonnen
return ($resultaat > 0) ? 1 : -1;
}
?>
function duel(Toverstok $a, Toverstok $b)
{
$resultaat = 0;
// Als a beter is wordt resultaat groter, zo niet wordt het kleiner
if($a->snelheid != $b->snelheid)
$resultaat += ($a->snelheid > $b->snelheid) ? 5 : -5;
if($a->alertheid!= $b->alertheid)
$resultaat += ($a->alertheid > $b->alertheid) ? 8 : -8;
if($a->lenigheid != $b->lenigheid)
$resultaat += ($a->lenigheid > $b->lenigheid) ? 2 : -2;
if($a->uithouding != $b->uithouding)
$resultaat += ($a->uithouding > $b->uithouding) ? 4 : -4;
if($a->geluk != $b->geluk)
$resultaat += ($a->geluk > $b->geluk) ? 1 : -1;
// Voeg een random factor toe, doe 3x plus 1 of min 1
// Dat met rand is een truukje om 1 of -1 tekrijgen, volgens mij is dit de makkelijkste manier
$resultaat += 3 * (mt_rand(0,1)*2-1);
// Als de stand gelijk is
if($resultaat == 0)
$resultaat = mt_rand(0,1)*2-1;
// Kijk of het boven of onder 0 is, boven: a heeft gewonnen, onder: b heeft gewonnen
return ($resultaat > 0) ? 1 : -1;
}
?>
Zoiets?
Gewijzigd op 01/06/2010 22:06:56 door Pim -




