PHP är relativt bra dokumenterat och du bör kunna se ganska mycket information här:
https://www.php.net/manual/en/function.rand.php
Du returnerar kastet ovan genom ordet ___return____ som står innan $d1 som är din instans av en random ($d1). Enda är att du aldrig sätter värdet av "public $d1". Det gör du genom att: $this->d1 = rand(1,6);
Du kan behålla return men det beror på hur du lagt upp din kod.
Följande sätter bara din variabel $d1 till det i klassen, men den ger inget tillbaka när du anropar koden
Denna gör både och
$this->d1 = rand(1,6);
return $this->d1;
Denna gör bara en return och sätter aldrig värdet av d1
Här skapar man en som man ger tillbaka, så som du gjort ovan, men den som du ser sparar inte till klassen, den har inte $this->d1 som säger åt klassen att ta sitt egna värde och göra något med den (se andra exemplet här för hur).
$d1 = rand(1,6);
return $d1;
Ett exempel med din egen kod vore:
class roll_dice
{
public $nummerofdices; //en variabel för antal tärningar
static $timesrolled=0; //antal gånger en person kastat tärningen
public $d1; //vad värdet av senaste kastet var
function roll_dice2() //funktionens namn som anropas
{
$this->d1=rand(1,6); //sätt värdet av d1 till en slumpad siffra där 1 är lägst och 6 högst
// $d2=rand(1,6);
// $d3=rand(1,6);
// $d4=rand(1,6);
// $d5=rand(1,6);
self::$timesRolled++; //öka antal kast med 1 (++) (minska är tvärtom, --)
return $this->d1; //ge tillbaka värdet till anropet
}
}
För att göra din kod relativt lättläst hade jag ändrat till:
class Dice
{
public $numberOfDices; //en variabel för antal tärningar
static $timesRolled=0; //antal gånger en person kastat tärningen
public $lastThrow; //vad värdet av senaste kastet var
function Roll() //funktionens namn som anropas
{
$this->lastThrow = rand(1,6); //sätt värdet av d1 till en slumpad siffra där 1 är lägst och 6 högst
self::$timesRolled++; //öka antal kast med 1 (++) (minska är tvärtom, --)
return $this->lastThrow; //ge tillbaka värdet till anropet
}
}