<?php
$mines = 10;
####
for($x=1; $x<=9; $x++) {
for($y=1; $y<=9; $y++) {
$minefield[$x][$y] = 0;
}
}
for($i=0; $i<$mines; $i++) {
$randx = rand(1, 9);
$randy = rand(1, 9);
if($minefield[$randx][$randy] == 'X') {
$i--;
} else {
$minefield[$randx][$randy] = 'X';
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
当比较用整数字符串(或资源),字符串被转换为数字第一,按照文档,然后进行比较.
因此,这:
if ($minefield[$randx][$randy] == 'X')
Run Code Online (Sandbox Code Playgroud)
...... $minefield[$randx][$randy] = 0相当于:
if (0 == 0) // 0 == (int)'X'
Run Code Online (Sandbox Code Playgroud)
......这总是如此.因此,您在每次迭代时递增和递减$i.
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |