小学生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调用相关推荐

  1. 小学生python游戏编程arcade----单词对错检测及记录写入excel中

    小学生python游戏编程arcade----单词对错检测及记录写入excel中 前言 单词对错检测及记录写入excel中 1.excel读取修改 1.1 excel读取 1.2 修改用到的库 1.3 ...

  2. 小学生python游戏编程arcade----敌人自动面向角色并开火

    小学生python游戏编程arcade----敌人自动面向角色并开火 前言 敌人自动攻击角色的实现 1. 1.1 计算角度,使用敌人面向角色 1.2 自动生成各色子弹,不是通过调用图片 1.3 控制敌 ...

  3. 小学生python游戏编程arcade----坦克大战2

    小学生python游戏编程arcade----坦克大战2 前言 多摄象头显得分,title地图加载,精灵分层管理,移动精灵 1.提示框制作 1.1养眼绿色 1.2 画距形提示框 1.3 效果图 1.4 ...

  4. 小学生python游戏编程arcade----坦克大战4

    小学生python游戏编程arcade----坦克大战4 前言 坦克大战4 1.1 每单元英语单词学完升级效果 1.2 单词调用及敌坦克随机问题 1.3 效果图 1.4 代码实现 源码获取 前言 接上 ...

  5. 小学生python游戏编程arcade----基本知识3

    小学生python游戏编程arcade----基本知识3 前言 多摄象头显得分,title地图加载,精灵分层管理,移动精灵 1.多摄象头显得分 1.1得分 1.2 两个摄象机的绘制 1.3 效果图 1 ...

  6. 小学生python游戏编程arcade----可旋转的坦克的发射子弹

    小学生python游戏编程arcade----可旋转的坦克的发射子弹 前言 小学生python游戏编程arcade----可旋转坦克的发射子弹 1.可旋转坦克的发射子弹 1.1 子弹的类 1.2 发射 ...

  7. 小学生python游戏编程arcade----动画图片实现爆炸效果

    小学生python游戏编程arcade----动画图片实现爆炸效果 前言 动画图片实现爆炸效果 1.爆炸类的的实现 1.1爆炸图片 1.2 类的定义 1.3 爆炸类的引用 1.4 爆炸类的更新 1.5 ...

  8. 小学生python游戏开发pygame5--title地图调用

    小学生python游戏开发pygame5--title地图调用 前言 文件夹目录 pytmx模块安装 实现效果 代码实现 前言 文件夹目录 pytmx模块安装 实现效果 代码实现 import log ...

  9. 小学生python游戏编程arcade----爆炸粒子类

    小学生python游戏编程arcade----爆炸粒子类 前言 1.1 参数设置 粒子加速下降的速度.如果不需要,则为0 粒子退出的速度 粒子移动的速度.范围为2.5<-->5,设置为2. ...

最新文章

  1. IP地址和MAC地址
  2. 交换机复习笔记 广播风暴抑制
  3. 乐视手机权限开启方法
  4. 佛吉尼亚大学计算机世界排名,弗吉尼亚大学计算机世界排名
  5. WinForm 窗体之间交互的一些方法-兼托管事件
  6. TabBarController创建及使用方法简介
  7. 可以生成自动文档的注释
  8. ICMP报文分析(转)
  9. 获取整数的最大值最小值
  10. 编译安装mysql 不动了_编译安装MySQL5.6失败的相关问题解决方案
  11. Filter转译编码问题之谜
  12. 贵阳市建筑物矢量数据(Shp格式+带高度)
  13. 四相五线步进电机定时器驱动
  14. riscv-tests的使用
  15. Web前端-网站首页和注册界面的实现
  16. 国家电网利润超五大发电集团净利总和
  17. Socket.io 的使用
  18. 数据挖掘实战(5)——关联规则(美国国会投票数据集)
  19. Flink内存模型、网络缓冲器、内存调优、故障排除
  20. 小学计算机应聘简历,小学计算机教师求职简历范文(英文)

热门文章

  1. Java小游戏-俄罗斯方块
  2. 规则引擎 Drools--决策表(Decision Table)使用简介
  3. 无序数组中获取第k个最大数
  4. rsync:基本命令和用法
  5. CSharp 基本知识-数组
  6. 【python办公自动化】如何在Excel表格里面插入对象
  7. 第三方浏览器内核嵌入一、Crosswalk
  8. android陀螺仪判断手机旋转方向,unity 陀螺仪判断手机方向
  9. linux常用命令词典
  10. matlab做胶州湾地图,青岛胶州湾跨海大桥为什么建在胶州湾最宽的地方?