当前位置: 移动技术网 > IT编程>脚本编程>Python > 一行代码玩童年小游戏

一行代码玩童年小游戏

2020年07月22日  | 移动技术网IT编程  | 我要评论

首先,我们要打开cmd,以此下载freegames这个包。有一些新手小白可能会问:cmd是什么……


打开cmd

首先按住笔记本电脑(或者台式机)的win键(就是四个小方块组成一个梯形的键),接着按下r键,可以看到左下角弹出了一个窗口。
在这里插入图片描述
(暴露了我是边写边做的)
接着在输入框里打出cmd,可以看到弹出了一个黑色的窗口;
在这里插入图片描述
有安装python环境的童鞋应该都知道python的第三方库安装包名叫pip,这里我们也是使用pip来安装我们的freegames。

pip install freegames

回车,安装好了过后,就可以开始我们的主要部分了。


hmmmm…

刚刚关掉cmd的童鞋们可能要再打开一次了!一行代码又不一定是python代码,你们那么着急打开编辑器干嘛?![哭笑不得]


我们在cmd中输入一下代码:

python -m freegames list

这里的-m指的是module的意思,即为我们安装好的第三方库。

会看到,底下输出了一些游戏的名称:
ant
bagels
bounce
cannon
connect
crypto
fidget
flappy
guess
life
maze
memory
minesweeper
pacman
paint
pong
simonsays
snake
tictactoe
tiles
tron

我们只要输入以下代码,就可以玩耍啦!

shutdown -s -t 3

实在不好意思,上面放了个错误的代码!下面是正解:

python -m freegames.<游戏名称>

怎么样?
接下来我为大家把各个游戏的具体内容都列了出来,做成了一个字典:
{
ant: 蚂蚁(有趣指数30)
bagels: 猜数位(有趣指数90)
bounce: 弹球(有趣指数45)
cannon: “空中划过一道优美的弧线”(有趣指数55)
connect: “物理五子棋”(有趣指数80)
crypto: 加密信息(有趣指数88)
fidget: 啥也没有(有趣指数15)
flappy: 类似于飞翔的小鸟,鼠标点击上下移动并避开障碍物(有趣指数90)
guess: 猜数字小游戏,但是一开始居然先把数字输出了出来(有趣指数85)
life:变幻无穷的像素图形(有趣指数60)
maze:没卵用迷宫(有趣指数65)
memory:“翻翻看”(有趣指数75)
minesweeper:不算很精致的扫雷(有趣指数85)
pacman:吃豆人(有趣指数95)
paint:奇奇怪怪的画画(有趣指数65)
pong:乒乓球(有趣指数90)
simonsays:我也没搞懂这到底啥鬼东西(有趣指数30)
snake:经典的贪吃蛇(有趣指数90)
tictactoe:三子棋,BUG多多(有趣指数80)
tiles:华容道,虽然我不会玩(有趣指数92)
tron:没搞懂,好像是随机判断输赢。(有趣指数45)
}
对啦,这些游戏有一些的设计还是不错滴,感兴趣的童鞋,可以去看一看这些游戏的源代码哦~
以下是我比较喜欢的游戏bagel的源代码

from random import sample, shuffle

digits = 3
guesses = 10

print('I am thinking of a', digits, 'digit number.')
print('Try to guess what it is.')
print('Here are some clues:')
print('When I say:    That means:')
print('  pico         One digit is correct but in the wrong position.')
print('  fermi        One digit is correct and in the right position.')
print('  bagels       No digit is correct.')
print('There are no repeated digits in the number.')

# Create a random number.

letters = sample('0123456789', digits)

if letters[0] == '0':
    letters.reverse()

number = ''.join(letters)

print('I have thought up a number.')
print('You have', guesses, 'guesses to get it.')

counter = 1

while True:
    print('Guess #', counter)
    guess = input()

    if len(guess) != digits:
        print('Wrong number of digits. Try again!')
        continue

    # Create the clues.

    clues = []

    for index in range(digits):
        if guess[index] == number[index]:
            clues.append('fermi')
        elif guess[index] in number:
            clues.append('pico')

    shuffle(clues)

    if len(clues) == 0:
        print('bagels')
    else:
        print(' '.join(clues))

    counter += 1

    if guess == number:
        print('You got it!')
        break

    if counter > guesses:
        print('You ran out of guesses. The answer was', number)
        break

看来第三方库作者的技术还蛮高的,我自己可能需要100-200行代码才能搞定,说不定还会出BUG呢!


原创不易,求打赏 :)

关于我:11岁小学生,马上六年级了,喜欢个人研究一些python和c++的编程内容,希望以后能去大厂(最好是鹅厂)工作。

本文地址:https://blog.csdn.net/the_CoderWM/article/details/107481843

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网