JavaWeb Javascript脚本语言

本文介绍了使用JavaScript进行登录验证,实现当用户输入特定账户和密码时的提示,并展示了如何在HTML/CSS中创建登录界面。同时,对贪吃蛇游戏进行了修改,包括颜色调整、难度降低、分数显示等。

实验目的

  1. 掌握Javascript基本语法;
  2. 掌握Javascript常见对象。

实验内容

1】在实验2登录界面的基础上,实现:当用户输入账户为“gdpu”和密码为“xg2022”时,点击登录按钮弹出对话框显示“恭喜您,登录成功!”,输入其它账户和密码时,则显示“对不起,账户或密码错误,请重新输入。”。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
	function login(){
		var uReal="米孝子";
		var  pswReal="666";
		var user=document.getElementById("账户").value;
		var psw=document.getElementById("密码").value;
		if (uReal==user && pswReal==psw){
			document.getElementById("结果显示").innerHTML="<span style=color:green>登录成功</span>";
		}else {
			document.getElementById("结果显示").innerHTML="<span style=color:yellow>密码错误或账户不存在</span>";
		}
	}
</script>
	<meta charset="UTF-8">
	<title>原神,启动</title>
	<style>
	body {
		background: url('./wallhaven-p97e9e.jpg');
		background-size: cover;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;
		margin: 0;
	}
	
	form {
		position: relative;
		padding: 20px;
		background-color: rgba(255, 255, 255, 0.7);
		border-radius: 10px;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
		transform: scale(10);
	}
	</style>
</head>
<body>
	<form align="center">
		账号<input type="text" id="账户"/>
		<br>
		<br>
		密码<input type="password" id="密码"/>
		<br>
		<br>
		<input type="button" value="原神,启动!" onclick="login()"> <br><br>
		<div id="结果显示"></div>
	</form>
</body>
</html>

2】运行贪吃蛇小游戏,尝试进行以下修改(修改前和修改后的效果如图1、图2所示):

  1. 将黄色的豆子改为红色;
  2. 将“青蛇”改为“白蛇”;
  3. 降低游戏的难度,即放慢蛇的移动速度,例如每秒移动一次;
  4. 在窗口左边添加一个div,用以显示当前游戏分数,例如每吃一个豆子加一分;
  5. 如果学有余力,可以尝试进行其它修改,例如修改黑色背景为图片等。

 修改前:

修改后:

  

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>贪吃蛇</title>
 <style>
  body {
	   	display: flex;
		justify-content: center;
		align-items: center;
		height: 100vh;
		margin: 0;
  }
 </style>
</head>
<body>
 <div id=divmark style="width:200px;"></div>
 <canvas id="can" width="400" height="400" style="background: url('./wq67dx.jpg')">对不起,您的浏览器不支持canvas</canvas>
 
 <script>
  var mark=-1;
  var snake = [41, 40],  //snake队列表示蛇身,初始节点存在但不显示
   direction = 1,   //1表示向右,-1表示向左,20表示向下,-20表示向上
   food = 43,    //食物的位置
   n,      //与下次移动的位置有关
   box = document.getElementById('can').getContext('2d');
         //从0到399表示box里[0~19]*[0~19]的所有节点,每20px一个节点
  function draw(seat, color) {
   box.fillStyle = color;
   box.fillRect(seat % 20 *20 + 1, ~~(seat / 20) * 20 + 1, 18, 18);
         //用color填充一个矩形,以前两个参数为x,y坐标,后两个参数为宽和高。
  }
  function clear(seat, color) {
	   box.clearRect(seat % 20 *20 + 1, ~~(seat / 20) * 20 + 1, 18, 18);
	         //以前两个参数为x,y坐标,后两个参数为宽和高。
	  }
  document.onkeydown = function(evt) { 
         //当键盘上下左右键摁下的时候改变direction
   direction = snake[1] - snake[0] == (n = [-1, -20, 1, 20][(evt || event).keyCode - 37] || direction) ? direction : n;
  };
  !function() {
   snake.unshift(n = snake[0] + direction); 
         //此时的n为下次蛇头出现的位置,n进入队列
   if(snake.indexOf(n, 1) > 0 || n < 0 || n > 399 || direction == 1 && n % 20 == 0 || direction == -1 && n % 20 == 19) {
         //if语句判断贪吃蛇是否撞到自己或者墙壁,碰到时返回,结束程序
    return alert("蛇爆了!");
   }
   draw(n, "white");  //画出蛇头下次出现的位置
   if(n == food) {   //如果吃到食物时,产生一个蛇身以外的随机的点,不会去掉蛇尾
    while (snake.indexOf(food = ~~(Math.random() * 400)) > 0);
    draw(food, "red");
    mark=mark+1;
    console.log(mark);
    document.getElementById("divmark").innerHTML="得分:"+mark;
   } else {    //没有吃到食物时正常移动,蛇尾出队列
    clear(snake.pop());
   }
   setTimeout(arguments.callee, 200);  
         //每隔0.15秒执行函数一次,可以调节蛇的速度
  }();
 </script>
</body>
</html>





评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值