如何构建一个PHP内存游戏,而不允许用户作弊

时间:2014-02-18 23:10:24

标签: php html

这是我到目前为止,一个包含4个项目的表,你必须将两个图像相互匹配。每个项目都有正面和背面两张图片,就像卡片一样。

<table style="padding-left:5px;" width="410" border="0" cellpadding="0" cellspacing="5">
                <tr> 
                                            <td>
                            <div id="Wrapper">
                                <div class="Card" id="Card1">
                                    <div id="Back1" class="Back">
                                        <img src="/assets/public/images/thumb_60x60_18-Feb-2014/23301.png" width="60" height="60" alt="Back">
                                    </div>
                                    <div id="Front1" class="Front">
                                        <img src="/assets/images/BlockCover.png" width="90" height="90" alt="Front">
                                    </div>
                                </div>
                            </div>
                        </td>
                                                <td>
                            <div id="Wrapper">
                                <div class="Card" id="Card2">
                                    <div id="Back2" class="Back">
                                        <img src="/assets/public/images/thumb_60x60_18-Feb-2014/25662.png" width="60" height="60" alt="Back">
                                    </div>
                                    <div id="Front2" class="Front">
                                        <img src="/assets/images/BlockCover.png" width="90" height="90" alt="Front">
                                    </div>
                                </div>
                            </div>
                        </td>
                                                <td>
                            <div id="Wrapper">
                                <div class="Card" id="Card3">
                                    <div id="Back3" class="Back">
                                        <img src="/assets/public/images/thumb_60x60_18-Feb-2014/22963.png" width="60" height="60" alt="Back">
                                    </div>
                                    <div id="Front3" class="Front">
                                        <img src="/assets/images/BlockCover.png" width="90" height="90" alt="Front">
                                    </div>
                                </div>
                            </div>
                        </td>
                                                <td>
                            <div id="Wrapper">
                                <div class="Card" id="Card4">
                                    <div id="Back4" class="Back">
                                        <img src="/assets/public/images/thumb_60x60_18-Feb-2014/21224.png" width="60" height="60" alt="Back">
                                    </div>
                                    <div id="Front4" class="Front">
                                        <img src="/assets/images/BlockCover.png" width="90" height="90" alt="Front">
                                    </div>
                                </div>
                            </div>
                        </td>
                   </tr>
</table>

我最担心的是用户可以使用控制台显示:无 div与类,这是实际图像的封面,然后他会马上知道女巫匹配女巫。我确保没有2张图片具有相同的名称

我不确定是否有解决方案,但如果您有任何想法请与我分享。

1 个答案:

答案 0 :(得分:5)

不要给客户提供超出工作所需的最低费用。

在您的情况下,服务器应该仅向客户端发送覆盖图像。然后,当客户端点击一个块时,它应该询问服务器有什么,然后显示它。从那时起,你可以将它存储在浏览器中,因为它不受你的控制:你不能阻止用户只是在他们看到的块上写下一张纸,所以没有必要再模糊它了 - 像往常一样隐藏它,这样合法的玩家就可以正常玩,让欺骗者作弊。