javascript

位置:IT落伍者 >> javascript >> 浏览文章

javascript和HTML5利用canvas构建猜牌游戏实现算法


发布日期:2024年08月22日
 
javascript和HTML5利用canvas构建猜牌游戏实现算法
让我猜猜你心中的牌先随机生成张牌不能重复列出三列牌然后记住其中一张然后点击牌所在的列多次就可以猜出你想的牌具体实现如下感兴趣的朋友可以参考下哈

让我猜猜你心中的牌先随机生成张牌不能重复列出三列牌然后记住其中一张然后点击牌所在的列多次就可以猜出你想的牌
如果是张只要猜如果是张就是猜

实现方法(张)
如果点击了第三列那就是说牌一定在这张里面就把第三列的张牌平均给每列分假设编号为
再点击一次如果点击第二列那么猜的牌就在里面再分到三列
再点击一次就可以知道牌是哪个了

实现算法
我是使用一维数组实现第一次猜第三列就把第三列的数据和替换
那么所猜的数就在前面第二次猜第二列就把所在列的三个和替换那么就在前面三个了
输出按照三列输出 不过有个问题是这样后面的牌就不会乱了别人就知道你为什么猜到的了
所以在输出的时候就要乱序输出只能够上下乱序输出不能左右乱序
var random = new Array();//自定义二维乱序表
random[] = [ ];
random[] = [ ];
random[] = [ ];
random[] = [ ];
random[] = [ ];
更多请查看wwwshengshiyouxicom

复制代码 代码如下:


< !DOCTYPE html>
< html xmlns="
< head>
<meta httpequiv="ContentType" content="text/html; charset=utf" />
<title></title>
<script type="text/JAVAscript">
var data = new Array();
var canvas;
var context;
var time = ;
var random = new Array();//自定义二维乱序表
random[] = [ ];
random[] = [ ];
random[] = [ ];
random[] = [ ];
random[] = [ ];
function start() {
var guess = new Array();
var count = ;
while (count < ) {//生成随机的张牌
var temp = parseInt(Mathrandom() * ) + ;
for (var i = ; i < count + ; i++) {
if (temp == guess) {//如果重复就不要
temp = ;
break;
}
}
if (temp != ) {
guess[count] = temp;
data[count] = new Image();
data[count]src = "images/" + temp + "gif";
count++;
}
}
}
function draw() {
canvas = documentgetElementById("canvas");
context = canvasgetContext("d");
var temp = parseInt(Mathrandom() * );
var temp = parseInt(Mathrandom() * );
var temp = parseInt(Mathrandom() * );
for (var i = ; i < ; i++) {//乱序排序方法
contextdrawImage(data[random[temp] * + ] i * + );
contextdrawImage(data[random[temp]* + ] + i * + );
contextdrawImage(data[random[temp]* + ] + i * + );
}
}
function play(index) {
if (time >= )
alert("请点击再来一次");
for (var i = ; i < ( time) * ; i++) {
var temp = data;
data= data[i * + index ];
data[i * + index ] = temp;
}
time++;
if (time >= ) {
contextdrawImage(data[] );
return;
}
draw();
}
start();
</script>
<style type="text/css">
input {
marginright: px;
}
</style>
< /head>
< body>
<p>
让我猜猜你心中的牌<br />
首先从列表中选择一张你心目中的牌并且记住它然后选择它所在的列点击三次我将会猜出你心目中的牌<br />
来试试吧我懂你的!<br />
如果遇到牌无法显示或者显示不全请刷新如果你的浏览器不支持HTML请更换浏览器例如chrome火狐等
</p>
<canvas width="" height="" id="canvas">你的浏览器不支持HTML请更换浏览器例如chrome火狐等</canvas>
<br />
<input type="button" value="第一列" />
<input type="button" value="第二列" />
<input type="button" value="第三列" />
<input type="button" value="再来一次" />
< /body>
< /html>

               

上一篇:JavaScript实现点击按钮后变灰避免多次重复提交

下一篇:jquery 获取表单元素里面的值示例代码