栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

随意开发的一个python小游戏

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

随意开发的一个python小游戏

此作者是一个刚学python一年的弱鸡,尝试性发出的第一篇文章,他甚至懒得用GUI做这个游戏,他非常清楚的知道这个游戏有许多的弱点(比如在加入getch()和clear()函数时他发现自己用的屑pycharm根本没法安装,希望哪位路过的大佬指点一下迷津)。

首先展示一下整个游戏的代码,简单易懂,只有80多行(连这个80十多行也是凑出来,加几个自定义函数,再去掉无聊时加上的用于嘲讽玩家的代码瞬间就缩水了,但是我已经懒得改了)

 

import random
import time
width=6
lenth=6
env=[]
for i in range(0,width):
    env.append([])
    for n in range(0,lenth):
        env[i].append(random.randint(1,9))
times=0
while 1:
    while 1:
        ord=[random.randint(0,width-1),random.randint(0,lenth-1)]
        if env[ord[0]][ord[1]]!=0:
            break
    re_ord=[ord[1]+1,ord[0]+1]
    for i in range(0,len(env)):
        temp = ''
        for n in range(0,len(env[i])):
            if [i,n]!=ord:
                temp+=' {} '.format(env[i][n])
            else:
                temp += '?{}?'.format(env[i][n])
        print(temp)
    print('the ordinate is {}'.format(re_ord))
    choice=input()
    if choice =='d':
        env[ord[0]][ord[1]]+=1
    if choice =='a':
        env[ord[0]][ord[1]]-=1
    if choice =='w':
        env[ord[0]][ord[1]]*=2
    if choice =='s':
        env[ord[0]][ord[1]]=env[ord[0]][ord[1]]//2
    for i in range(0,len(env)):
        for n in range(0,len(env[i])):
            if n+2=0 and env[i][n]==env[i][n-1] and env[i][n]==env[i][n-2]:
                env[i][n] = 0
                env[i][n-1] = 0
                env[i][n-2] = 0
            if i+2=0 and env[i][n]==env[i-1][n] and env[i][n]==env[i-2][n]:
                env[i][n] = 0
                env[i-1][n] = 0
                env[i-2][n] = 0
            if i-2>=0 and n-2>=0 and env[i][n]==env[i-1][n-1] and env[i][n]==env[i-2][n-2]:
                env[i][n] = 0
                env[i-1][n-1] = 0
                env[i-2][n-2] = 0
            if i-2>=0 and n+2=0 and env[i][n]==env[i+1][n-1] and env[i][n]==env[i+2][n-2]:
                env[i][n] = 0
                env[i+1][n-1] = 0
                env[i+2][n-2] = 0
            if i+2 

游戏规则是有一面随机生成的数字墙,每一轮会随机选定一个数字,按w选定数字*2,s整除2,d加一,a减一,像五子棋一样,有三个一样的数字就归零,要在45部内将所有数字归零才算成功(45大概是我的最高纪录)。

这个游戏唯一的亮点就是在做策略的时候遇到一个数,你可以选择连成一列一起归零,也可以选择整除几次归一后再减一归零,毕竟你也不知道什么时候会随机选定到这个数的周围。

由于上述的特性,假如我需要训练一个强化学习的AI,即使这个AI的参数很完美,他依旧可能因为随机的误差性导致判断失误,如果重复实验(为什么有点像初中物理了),也需要判断是否值得重复(如果全部重复可能会导致CPU不堪重负)。所以这似乎也会是发展方向呢。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号