猫史档案馆


【Python作品分享】地牢地图生成器圣诞特别版

用户:一只红蒂罢了一只红蒂罢了查看:0 回复:1 评论:0 创建时间:2020-07-23T21:59:04


【作品展示】

center_image

 

【作品介绍】

随机生成一个地牢的平面地图

红点:敌人

金块:钱

紫点:武器

蓝点:角色位置

浅蓝点+橙箭头:地牢出口

绿色的线条是装饰用的藤蔓

黑色方块是房间

一开始会生成一个大厅

加入了圣诞礼盒!

每个房间有几率刷出一个

黑线是路一开始会让你输入速度

速度越高越乱,反之更正常

PS:由于代码问题,物品随机放置和地牢出口有可能刷到房间外,属正常现象。

如需借鉴,请注明原作者!

我会继续更新的!

 

【作品源代码】

import turtle
import random
import turtle as t
import random as r


turtle.bgcolor("#999999")
a = turtle.Pen()
b = turtle.Pen()

a.hideturtle()
b.hideturtle()
speed = int(input())
a.speed(speed)
b.speed(speed)
a.pensize(20)
a.pencolor("#006600")
for i in range(20):
    a.goto(random.randint((-200), 200), random.randint((-200), 200))
    if (random.randint(1, 2) == 1):
        a.left(random.randint(0, 360))
    elif (random.randint(1, 2) == 1):
        a.right(random.randint(0, 360))
    else:
        pass
    a.forward(200)
    a.goto(0, 0)
a.goto(0, 0)
a.pensize(3)
a.pencolor("#000000")
a.begin_fill()
a.circle(100, steps=4)
a.end_fill()
for i in range(random.randint(10, 15)):
    a.forward(100)
    if (random.randint(1, 2) == 1):
        a.left(random.randint(0, 360))
    elif (random.randint(1, 2) == 1):
        a.right(random.randint(0, 360))
    else:
        pass
    a.forward(100)
    a.begin_fill()
    a.circle(random.randint(10, 70), steps=4)
    a.end_fill()
    for i in range(random.randint(2, 10)):
        a.setheading(random.randint(0, 360))
        a.pencolor('red')
        a.dot(5)
        a.penup()
        a.forward(10)
        a.pendown()
    for i in range(random.randint(2, 5)):
        a.pencolor("#ffff33")
        a.fillcolor("#ffff33")
        a.setheading(random.randint(0, 360))
        a.begin_fill()
        a.circle(5, steps=4)
        a.end_fill()
        a.penup()
        a.forward(10)
        a.pendown()
    for i in range(random.randint(0, 2)):
        a.pencolor("#6600cc")
        a.fillcolor("#6600cc")
        a.setheading(random.randint(0, 360))
        a.begin_fill()
        a.circle(2, steps=4)
        a.end_fill()
        a.penup()
        a.forward(10)
        a.pendown()
    for i in range(random.randint(0, 1)):
        a.setheading(0)
        a.pencolor("#ff0000")
        a.fillcolor("#ff0000")
        a.begin_fill()
        a.circle(10, steps=4)
        a.end_fill()
        a.setheading(90)
        a.pencolor('yellow')
        a.forward(20)
        a.back(10)
        a.dot(10)
        a.setheading(0)
        a.forward(10)
        a.back(20)
    a.fillcolor("#000000")
    a.penup()
    a.pencolor('black')
    a.goto(0, 0)
    a.pendown()
a.goto(0, 0)
a.pencolor("#3333ff")
a.dot(10)
a.penup()
a.goto(random.randint((-200), 200), random.randint((-200), 200))
a.pendown()
a.pencolor("#66ffff")
a.dot(20)
b.pensize(2)
b.penup()
b.goto(a.xcor(), a.ycor())
b.pendown()
b.pencolor("#ff6600")
b.forward(10)
Xcor = b.xcor()
Ycor = b.ycor()
b.right(135)
b.forward(5)
b.penup()
b.goto(Xcor, Ycor)
b.pendown()
b.setheading(0)
b.left(135)
b.forward(5)
turtle.done()

a.forward(10)
a.penup()
a.pendown()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
一只红蒂罢了一只红蒂罢了

PS:由于帖子转换,请使用时把“喵”改为“nc”

多谢“SKQA路卡利欧”提醒!

点赞0


评论