小学生python游戏编程arcade----excel调用
小学生python游戏编程arcade----excel调用
- 前言
- 小学生python游戏编程arcade----excel调用
- 1、excel文件
- 1.1 excel表头
- 1.2 excel文件
- 1.3 文件读取函数
- 1.4 打开excel文件读取数据,每行一个字典,再总存为序列
- 1.5 打开excel文件读取数据,取两列存为字典
- 1.6 游戏中提取单词
- 1.7 公共函数整体代码
- 游戏效果
- 源码获取
前言
接上篇文章继续解绍arcade游戏编程的基本知识。游戏基本界面弄好,英语单词录入excel后调用问题,基本涉及到单词及语义的读取,随机打乱,显示问题,游戏中公共函数的调用及效果。
小学生python游戏编程arcade----excel调用
1、excel文件
1.1 excel表头
1.2 excel文件
1.3 文件读取函数
def get_data(filename, sheetnum):# dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'dir_case = filenamedata = xlrd.open_workbook(dir_case)table = data.sheets()[sheetnum]nor = table.nrowsnol = table.ncolsdict = {}for i in range(1, nor):for j in range(nol):title = table.cell_value(0, j)value = table.cell_value(i, j)dict[title] = valueyield dict
1.4 打开excel文件读取数据,每行一个字典,再总存为序列
def run_select_school2(filename, sheet_index=0, table_header_row=0):# 打开excel文件读取数据,每行一个字典,再总存为序列data = xlrd.open_workbook(filename)table = data.sheet_by_index(sheet_index)nrows = table.nrowsnclos = table.ncols# 获取表头行的信息,为一个字典header_row_data = table.row_values(table_header_row)# 将每行的信息放入一个字典,再将字典放入一个列表中list = []for rownum in range(1, nrows):rowdata = table.row_values(rownum)# 如果rowdata有值,if rowdata:dict = {}for j in range(0, len(header_row_data)):dict[header_row_data[j]] = rowdata[j]list.append(dict)return list
1.5 打开excel文件读取数据,取两列存为字典
def getwordzw(filename, sheet_index=0, danyuan=1,nianji='三年级上册'):# 打开excel文件读取数据,取两列存为字典data = xlrd.open_workbook(filename)table = data.sheet_by_index(sheet_index)nrows = table.nrows# nclos = table.ncols# 将每行的信息放入一个字典,再将字典放入一个列表中dict = {}for rownum in range(1, nrows):# print(int(table.cell_value(rownum, 5)))if table.cell_value(rownum, 5)== danyuan and table.cell_value(rownum, 6)==nianji:# print('true')dict[table.cell_value(rownum, 1).replace('\u200e', '')] = table.cell_value(rownum, 4).replace('\u200e', '')return dict
1.6 游戏中提取单词
def setup_word(self, dy=1, year='三年级上册'):self.word_dict = getwordzw(u'english.xls', sheet_index=3, danyuan=dy, nianji=year)self.word_keys = list(self.word_dict.keys())print(self.word_dict)print(self.word_keys)
1.7 公共函数整体代码
# 公共函数
import random
import xlrddef get_data(filename, sheetnum):# dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx'dir_case = filenamedata = xlrd.open_workbook(dir_case)table = data.sheets()[sheetnum]nor = table.nrowsnol = table.ncolsdict = {}for i in range(1, nor):for j in range(nol):title = table.cell_value(0, j)value = table.cell_value(i, j)dict[title] = valueyield dictdef run_select_school2(filename, sheet_index=0, table_header_row=0):# 打开excel文件读取数据,每行一个字典,再总存为序列data = xlrd.open_workbook(filename)table = data.sheet_by_index(sheet_index)nrows = table.nrowsnclos = table.ncols# 获取表头行的信息,为一个字典header_row_data = table.row_values(table_header_row)# 将每行的信息放入一个字典,再将字典放入一个列表中list = []for rownum in range(1, nrows):rowdata = table.row_values(rownum)# 如果rowdata有值,if rowdata:dict = {}for j in range(0, len(header_row_data)):dict[header_row_data[j]] = rowdata[j]list.append(dict)return listdef getwordzw(filename, sheet_index=0, danyuan=1,nianji='三年级上册'):# 打开excel文件读取数据,取两列存为字典data = xlrd.open_workbook(filename)table = data.sheet_by_index(sheet_index)nrows = table.nrows# nclos = table.ncols# 将每行的信息放入一个字典,再将字典放入一个列表中dict = {}for rownum in range(1, nrows):# print(int(table.cell_value(rownum, 5)))if table.cell_value(rownum, 5)== danyuan and table.cell_value(rownum, 6)==nianji:# print('true')dict[table.cell_value(rownum, 1).replace('\u200e', '')] = table.cell_value(rownum, 4).replace('\u200e', '')# print(int(table.cell_value(rownum, 5)))# print(danyuan)# print(table.cell_value(rownum, 1),table.cell_value(rownum, 5))# if int(table.cell_value(rownum, 5))==1: #(table.cell_value(rownum, 3) != '短语') and# dict[table.cell_value(rownum, 1).replace('\u200e','')] = table.cell_value(rownum, 4).replace('\u200e','')return dictif __name__ == '__main__':wordarr = getwordzw(u'english.xls', sheet_index=3, danyuan=1,nianji='三年级上册')print(len(wordarr))print(wordarr)# print(wordarr[1])sizi = random.sample(wordarr.keys(), 5)# dd = wordarr[sizi[2]]print(sizi)
游戏效果
源码获取
可关注博主后,私聊博主免费获取
需要技术指导,育娃新思考,企业软件合作等更多服务请联系博主
今天是以此模板持续更新此育儿专栏的第 31/50次。
可以关注我,点赞我、评论我、收藏我啦。
小学生python游戏编程arcade----excel调用相关推荐
- 小学生python游戏编程arcade----单词对错检测及记录写入excel中
小学生python游戏编程arcade----单词对错检测及记录写入excel中 前言 单词对错检测及记录写入excel中 1.excel读取修改 1.1 excel读取 1.2 修改用到的库 1.3 ...
- 小学生python游戏编程arcade----敌人自动面向角色并开火
小学生python游戏编程arcade----敌人自动面向角色并开火 前言 敌人自动攻击角色的实现 1. 1.1 计算角度,使用敌人面向角色 1.2 自动生成各色子弹,不是通过调用图片 1.3 控制敌 ...
- 小学生python游戏编程arcade----坦克大战2
小学生python游戏编程arcade----坦克大战2 前言 多摄象头显得分,title地图加载,精灵分层管理,移动精灵 1.提示框制作 1.1养眼绿色 1.2 画距形提示框 1.3 效果图 1.4 ...
- 小学生python游戏编程arcade----坦克大战4
小学生python游戏编程arcade----坦克大战4 前言 坦克大战4 1.1 每单元英语单词学完升级效果 1.2 单词调用及敌坦克随机问题 1.3 效果图 1.4 代码实现 源码获取 前言 接上 ...
- 小学生python游戏编程arcade----基本知识3
小学生python游戏编程arcade----基本知识3 前言 多摄象头显得分,title地图加载,精灵分层管理,移动精灵 1.多摄象头显得分 1.1得分 1.2 两个摄象机的绘制 1.3 效果图 1 ...
- 小学生python游戏编程arcade----可旋转的坦克的发射子弹
小学生python游戏编程arcade----可旋转的坦克的发射子弹 前言 小学生python游戏编程arcade----可旋转坦克的发射子弹 1.可旋转坦克的发射子弹 1.1 子弹的类 1.2 发射 ...
- 小学生python游戏编程arcade----动画图片实现爆炸效果
小学生python游戏编程arcade----动画图片实现爆炸效果 前言 动画图片实现爆炸效果 1.爆炸类的的实现 1.1爆炸图片 1.2 类的定义 1.3 爆炸类的引用 1.4 爆炸类的更新 1.5 ...
- 小学生python游戏开发pygame5--title地图调用
小学生python游戏开发pygame5--title地图调用 前言 文件夹目录 pytmx模块安装 实现效果 代码实现 前言 文件夹目录 pytmx模块安装 实现效果 代码实现 import log ...
- 小学生python游戏编程arcade----爆炸粒子类
小学生python游戏编程arcade----爆炸粒子类 前言 1.1 参数设置 粒子加速下降的速度.如果不需要,则为0 粒子退出的速度 粒子移动的速度.范围为2.5<-->5,设置为2. ...
最新文章
- IP地址和MAC地址
- 交换机复习笔记 广播风暴抑制
- 乐视手机权限开启方法
- 佛吉尼亚大学计算机世界排名,弗吉尼亚大学计算机世界排名
- WinForm 窗体之间交互的一些方法-兼托管事件
- TabBarController创建及使用方法简介
- 可以生成自动文档的注释
- ICMP报文分析(转)
- 获取整数的最大值最小值
- 编译安装mysql 不动了_编译安装MySQL5.6失败的相关问题解决方案
- Filter转译编码问题之谜
- 贵阳市建筑物矢量数据(Shp格式+带高度)
- 四相五线步进电机定时器驱动
- riscv-tests的使用
- Web前端-网站首页和注册界面的实现
- 国家电网利润超五大发电集团净利总和
- Socket.io 的使用
- 数据挖掘实战(5)——关联规则(美国国会投票数据集)
- Flink内存模型、网络缓冲器、内存调优、故障排除
- 小学计算机应聘简历,小学计算机教师求职简历范文(英文)