HTML石头剪刀布游戏,js实现石头剪刀布游戏

前言

用户选择出石头剪刀布,电脑系统随机生成石头剪刀布,然后判断结果并显示给用户

一、实现效果

295aecffcf36f2a01eaddc6176ce6a73.png

二、使用步骤

1.HTML和CSS

石头剪刀布

#bigbox{

width: 600px;

height: 600px;

background: slateblue;

margin: 0 auto;

}

#bigbox>h1{

width: 100%;

text-align: center;

color: #ffffff;

}

.box1{

height: 200px;

}

.box2{

height: 220px;

}

.box1 img{

float: left;

margin: 25px;

}

.box2 img{

float: left;

margin:20px 63px;

width: 150px;

height: 150px;

}

.box2 h1{

display: block;

color: #000;

float: left;

line-height: 150px;

}

img{

width: 150px;

height: 150px;

}

p{

text-align: center;

color: red;

font-size: 20px;

font-weight: bold;

}

.text{

height: 20px;

}

.text span{

font-size: 20px;

color: #ffffff;

margin: 0 100px;

line-height: 20px;

}

请选择

您选择了

系统选择了

pk

结果显示中。。。

2.JavaScript

let imgs=document.getElementsByTagName('img')

// console.log(imgs.length)

for(let i=0;i<3;i++){

imgs[i].οnclick=function(){

game(this,i)

}

}

function game(src,i){

// console.log(i)

//用户

let str=src.src;

let user=document.getElementsByTagName('img')[3]

user.src=str

//系统

setTimeout(function (){

let user=document.getElementsByTagName('img')[4]

let imgSrc=['../img/shitou.png','../img/jiandao.png','../img/bu.png']

let num = Math.floor(Math.random() * imgSrc.length)

console.log(num)

user.src=imgSrc[num]

i=i*1

//结果

let rs=document.getElementsByTagName('p')[0]

if(i==0&&num==1 || i==1&&num==2

|| i==2&&num==0){

rs.innerHTML="恭喜你获得胜利!"

}else if(i==num){

rs.innerHTML="平局,请再来一次吧"

}else{

rs.innerHTML="不好意思,游戏失败"

}

},200)

}

总结

利用数组,将石头剪刀布src地址保存,利用随机数将生成0-2的任意数字,电脑延时0.2秒生成。用户利用for循环将照片绑定onclick(),点击图片,用户选择图片修改为当前图片。创建参数函数,传入数组标,以及this对象。通过this.src改变用户选择的显示图片,将数组下标 与随机数进行条件判断。0代表石头,1代表剪刀,2代表布。生成结果操作dom'进行显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

在JavaScript中实现石头剪刀布游戏的基本步骤如下: 1. **HTML布局**: - 创建三个按钮或元素,分别代表“石头”、“剪刀”和“布”。给每个元素添加点击事件监听器。 ```html <button id="rock">石头</button> <button id="scissors">剪刀</button> <button id="paper">纸</button> ``` 2. **JavaScript逻辑**: - 使用`addEventListener`绑定点击事件,获取用户的输入并存储。 - 定义函数来随机生成电脑的选择,比如`Math.random()`配合数组索引。 ```javascript document.getElementById('rock').addEventListener('click', chooseRock); document.getElementById('scissors').addEventListener('click', chooseScissors); document.getElementById('paper').addEventListener('click', choosePaper); function chooseRock() { // 用户选择石头 } function chooseScissors() { // 用户选择剪刀 } function choosePaper() { // 用户选择纸 } ``` 3. **比较结果**: - 创建一个函数,接收用户和电脑的选择,判断胜负。例如,“石头砸剪刀”胜出,以此类推。 ```javascript function compare(userChoice, computerChoice) { if (userChoice === computerChoice) { return '平局'; } else { // ...继续判断规则... } } // 实现函数的具体比较逻辑 ``` 4. **显示结果**: - 根据比较结果更新页面上的提示文字或者使用DOM操作显示胜利者。 以上是一个基本的框架,为了提高用户体验,还可以考虑加入动画效果、计分系统以及服务器交互(如果是多人在线对战)等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值