我正在制作一款你必须选择两个街区的游戏,如果它们相同,它们就会保持开放。如果您选择不同的街区,它们会关闭,您必须选择另外两个街区。
到目前为止,这是我的代码:
public $pictures = ['apple.png', 'cake.png', 'coconut.png', 'guava.png',
'guawa.png', 'kiwi.png', 'limewire.png', 'pear.png'];
private function makeGame()
{
foreach($this->pictures as $picture)
{
for($i = 0; $i < 2; $i++)
{
$this->mapBoard[] = array('value' => $picture, 'x' => $this->randomPos('x'), 'y' => $this->randomPos('y'));
}
}
}
private function randomPos($arg)
{
$random = mt_rand(1,4);
if(!empty($this->mapBoard))
{
foreach($this->mapBoard as $image)
{
if($image[$arg] == $random)
$this->randomPos($arg);
else
return $random;
}
}
else
{
return $random;
}
}
但 'x' 和 'y' 的值有时会重复。你能告诉我我在哪里做错了,或者用另一种方法来生成唯一的 x & y。