利用JS实现贪吃蛇

第一步:绘制地图 利用JS输出表格。

第二步:产生蛇头和食物   蛇头:红色 食物蓝色。

第三步,通过js动态产生元素。

第四步,点击按钮时,让蛇头移动。

第五步:按下键盘上下左右时,改变当前蛇头移动方向。

注意解决如下贪吃蛇项目的几个问题:

1、食物的位置有可能会和身体重叠。

2、没有出界的死亡判定。

3、分数没跟随变化 

4、如果出现蛇头吃到自己身体,出现死亡判定。

5、防止出现蛇头,反方向移动

注:代码段中有相关注释

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>617贪吃蛇</title>
		<style>
			*{               
				padding: 0;
			    margin: 0;
		     }
		     #map{
		     	width: 500px;
		     	height: 500px;
		     	background-color: pink;
		     	position: relative;
		     }
		     table{
		     	position: absolute;
		     	top:64px;
		     	left:0
		     }
		     td{
		     	width: 46px;
		     	height: 46px;
		     }
		</style>
		
	</head>
	<body>
		<h1 id="score">Score:0</h1>
		<button id="bt1">快</button>
		<button id="bt2">中</button>
		<button id="bt3">慢</button>
		<div id="map">
			
		</div>
		<script>
			//第一步:绘制地图 利用JS输出表格
			document.write("<table border='1' cellpadding='0'>")
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是利用Python实现贪吃蛇的一种方法: ```python import pygame import random # 初始化pygame pygame.init() # 游戏窗口的大小 width = 500 height = 500 # 创建游戏窗口 screen = pygame.display.set_mode((width, height)) # 设置游戏标题 pygame.display.set_caption("贪吃蛇") # 蛇的初始位置 snake_x = 100 snake_y = 100 # 蛇的初始速度 snake_speed = 10 # 蛇的初始长度和方向 snake_length = 1 snake_direction = "right" # 蛇的身体,用一个列表来表示 snake_body = [] for i in range(snake_length): snake_body.append([snake_x - i * snake_speed, snake_y]) # 食物的初始位置 food_x = random.randint(0, width - 10) food_y = random.randint(0, height - 10) # 游戏循环 running = True while running: # 事件处理 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 键盘输入处理 keys = pygame.key.get_pressed() if keys[pygame.K_UP] and snake_direction != "down": snake_direction = "up" elif keys[pygame.K_DOWN] and snake_direction != "up": snake_direction = "down" elif keys[pygame.K_LEFT] and snake_direction != "right": snake_direction = "left" elif keys[pygame.K_RIGHT] and snake_direction != "left": snake_direction = "right" # 根据方向改变蛇的位置 if snake_direction == "up": snake_y -= snake_speed elif snake_direction == "down": snake_y += snake_speed elif snake_direction == "left": snake_x -= snake_speed elif snake_direction == "right": snake_x += snake_speed # 判断是否吃到食物 if snake_x == food_x and snake_y == food_y: # 生成新的食物位置 food_x = random.randint(0, width - 10) food_y = random.randint(0, height - 10) # 蛇的长度加一 snake_length += 1 # 在蛇的头部添加一个身体块 snake_body.insert(0, [snake_x, snake_y]) # 判断是否撞墙或撞到自己 if snake_x < 0 or snake_x > width or snake_y < 0 or snake_y > height or [snake_x, snake_y] in snake_body[1:]: running = False # 在屏幕上绘制蛇和食物 screen.fill((0, 0, 0)) for i in range(snake_length): pygame.draw.rect(screen, (255, 255, 255), (snake_body[i][0], snake_body[i][1], 10, 10)) pygame.draw.rect(screen, (255, 0, 0), (food_x, food_y, 10, 10)) # 更新蛇的身体位置 snake_body.insert(0, [snake_x, snake_y]) snake_body = snake_body[:snake_length] # 刷新屏幕 pygame.display.update() # 控制游戏帧率 pygame.time.Clock().tick(20) # 退出pygame pygame.quit() ``` 以上代码实现了一个基本的贪吃蛇游戏,具体实现过程和注释可以参考代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值