Appgamekit制作消消乐小游戏(附代码)#3

导语

上次居然仅仅只做到了第三步,这样的速度让我不敢相信!我的编程工作已经做到了第七步了(目前因为技术问题卡住了…)接下来我会加快脚步了。(文章接下来会贴更多的代码,并且每个代码块之间间隔很短,请谅解)
这些文章建议没有读过的从头阅读,否则你可能不知道我在干什么
最近我一直在看Appgamekit的官方文档,一直没有更新,惭愧不已,马上肝出来了这篇文章!让我们开始吧,Link start!!!

代码 4.实现随机生成1个或者2个可拖动的数字格子

这算是很简单的一步了。
照例打开Appgamkekit

准备工作

首先我们知道,要随机生成一个或两个数字格子,所以我们会需要一个随机变量。当它为1的时候,生成1个格子,当它为2的时候,生成两个格子。那么首先在main.agc文件里定义一个名为ORT的变量。

另外,我们曾经在第一篇文章中定义了一个名为sprite1的变量,可能会有人好奇为什么要有一个1,这里就是答案。它指这是第一个格子。当我们需要两个格子的时候,我们不能只是用1,2来代表它们,所以我们还需要定义个sprite2.

ORT as integer
sprite1=1
sprite2=2

主要编程

这里暂时不用给ORT赋值。来到Load.agc文件里开始操作。在ORT为1的时候,代码不变。当ORT为2的时候添加如下代码

LOAD2:
ORT=random(1,2) //给ORT随机赋值,1或2
CreateImageColor(1,0,255,255,255)
CreateImageColor(255,255,255,0,255)//当需要创建两个格子的时候,我们会需要两个不同颜色的格子
if ORT=2
   CreateSprite(sprite1,1)
   CreateSprite(sprite2,255)
   SetSpriteSize(sprite1,50,50)
   SetSpriteSize(sprite2,50,50)
   SetSpritePosition(sprite1,blockX/2-30,blockY)//设置两个格子的位置
   SetSpritePosition(sprite2,blockX/2+30,blockY)
endif
if ORT=1
   CreateSprite(sprite1,1) //这些是原本的代码
   SetSpriteSize(sprite1,50,50)
   SetSpritePosition(sprite1,blockX/2,blockY)
endif
return

注意在这里开头出现了一个“LOAD2:”,也就是说在结尾需要一个return,并且在LOAD2里不要包含上次生成25个可放置区块的代码。

在这个时候如果编译运行的话会报错,为什么呢?因为在我们生成25个可放置区块的时候,我们是从2号开始创建的
在这里插入图片描述
所以这里我们要修改一下,把i的值从2修改为3,把循环至26修改为27

for i=3 to 27

这个时候运行就会成功了。如果ORT的值为2的话那么会有这样的运行情况‘
在这里插入图片描述

代码 5.实现使用鼠标同时拖动两个数字格子

这个挺复杂的。具体情况你们可以看下图(这是我的Movesprite.agc文件,可能和你们的不同)
在这里插入图片描述
不过不用担心,一点一点地渗透这里还是挺简单的。当你成功地写出这些代码的时候你

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
un消消乐是一款简单的消除类小游戏。以下是一个简单的un消消乐小游戏的示例代码: ```python import random # 创建一个4x4的游戏棋盘 board = [[random.randint(0, 1) for _ in range(4)] for _ in range(4)] # 打印初始游戏棋盘 print("初始棋盘:") for row in board: print(row) # 消除相邻的相同元素 def eliminate(board): visited = [[False] * 4 for _ in range(4)] # 记录已访问的元素 for i in range(4): for j in range(4): if visited[i][j]: # 已经访问过该元素 continue visited[i][j] = True curr = board[i][j] # 当前元素 neighbors = [(i, j)] # 相邻的元素列表 stack = [(i, j)] while stack: x, y = stack.pop() for dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]: nx, ny = x + dx, y + dy if 0 <= nx < 4 and 0 <= ny < 4 and not visited[nx][ny] and board[nx][ny] == curr: visited[nx][ny] = True neighbors.append((nx, ny)) stack.append((nx, ny)) if len(neighbors) >= 3: # 相邻的相同元素大于等于3个时消除 for x, y in neighbors: board[x][y] = -1 # 执行消除操作 eliminate(board) # 打印消除后的游戏棋盘 print("消除后的棋盘:") for row in board: print(row) ``` 上述代码首先创建了一个4x4的游戏棋盘,每个格子上的元素值为0或1。然后定义了一个消除函数`eliminate`用于消除相邻的相同元素,如果相邻的相同元素大于等于3个,就将它们的值设置为-1。最后,打印出消除前后的游戏棋盘。 这只是一个简单的un消消乐小游戏代码示例,实际的游戏可能还有其他的功能和规则。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值