当前位置: 首页 > news >正文

python版《羊了个羊》游戏开发第一天

Python小型项目实战教学课《羊了个羊》

一、项目开发大纲(初级)

版本1.0:基本开发

课次

内容

技术

第一天

基本游戏地图数据

面向过程

第二天

鼠标点击和移动

面向对象

第三天

消除

设计模式:单例模式

第四天

完整游戏过程

架构:Model-View-ViewModel

第五天

多层重叠的方块

数据结构

(计算机考研数据结构课程)

第六天

多层重叠的方块

数据结构

(计算机考研数据结构课程)

二、项目开发大纲(中级、高级)

版本2.0:游戏道具

技术:设计模式

版本3.0:单机版改为网络版多人联机游戏

技术:网络编程、多人对战

版本4.0:JS改写,发布小程序

版本5.0:安卓编程、苹果ios编程,发布APP

版本6.0:小程序、APP,接入广告联盟,收费赚钱!

版本7.0:游戏道具,接入支付接口,道具收费!

版本8.0:多层重叠方块的高级实现方法

第一天功能描述:

    地图数据绘制,包含空格。

第一天截图:

版本1.0,第一天源码:

import pygameimport random#导入exit方法from sys import exit#定义函数#  当用户点击关闭,关闭窗口def handleEvent():global eventsfor e in pygame.event.get():if e.type==pygame.QUIT:pygame.quit()sys.exit()#地图初始化 2023.7.5 lyydef gameMapInit():for i in range(9):for j in range(7):# 0 无效值;    1-6 有效值matrix[i][j]=random.randint(0, 6)#- ---------------------------------------------------- main#初始化pygamepygame.init()back=pygame.image.load('images/background.png')cardBox=pygame.image.load('images/box.png')c1=pygame.image.load('images/card1.png')c2=pygame.image.load('images/card2.png')c3=pygame.image.load('images/card3.png')c4=pygame.image.load('images/card4.png')c5=pygame.image.load('images/card5.png')c6=pygame.image.load('images/card6.png')cardAll=[c1,c2,c3,c4,c5,c6]#设置窗口大小canvas=pygame.display.set_mode((400,700))#数据 MVVM模式# 纯数据  MODELmatrix = [[0 for i in range(8)] for i in range(10)]#设置窗口标题pygame.display.set_caption('羊了个羊')gameMapInit()print(matrix)#循环语句#重复绘制画面,重复检测用户是否点击了关闭按钮while True:#绘制背景canvas.blit(back,(0,0))#绘制卡牌空槽canvas.blit(cardBox,(20,550))#循环语句 输出多行多列图片x=25y=50for i in range(9):x=25for j in range(7):card_id= matrix[i][j]if card_id!=0:canvas.blit(cardAll[ card_id-1 ],(x,y))x=x+50y=y+50#调用函数,当用户点击关闭,关闭窗口handleEvent()#刷新画面pygame.display.update()

    

相关文章:

python版《羊了个羊》游戏开发第一天

Python小型项目实战教学课《羊了个羊》 一、项目开发大纲(初级) 版本1.0:基本开发 课次 内容 技术 第一天 基本游戏地图数据 面向过程 第二天 鼠标点击和移动 面向对象 第三天 消除 设计模式:单例模式 第四天 完整…...

【uniapp】原生子窗体subNvue的使用与踩坑

需求 最近接到个需求, 需要在video组件上弹出弹窗, 也就是覆盖video这个原生组件 未播放时, 弹窗可以覆盖, 但是当video播放时, 写的弹窗就覆盖不了了 因为video是原生组件, 层级非常高, 普通标签是覆盖不了的, map标签同理 覆盖原生组件, 官方给出解决办法一. 使用cover-view…...

浅析 C 语言的共用体、枚举和位域

前言 最近在尝试阅读一些系统库的源码,但是其中存在很多让我感到既熟悉又陌生的语法。经过资料查阅,发现是 C 语言中的共用体和位域。于是,趁着课本还没有扔掉,将一些相关的知识点记录在本文。 文章目录 前言共用体 (union)枚举…...

TartanVO: A Generalizable Learning-based VO 论文阅读

论文信息 题目:TartanVO: A Generalizable Learning-based VO 作者:Wenshan Wang, Yaoyu Hu 来源:ICRL 时间:2021 代码地址:https://github.com/castacks/tartanvo Abstract 我们提出了第一个基于学习的视觉里程计&…...

单例模式-java实现

介绍 单例模式的意图:保证某个类在系统中有且仅有一个实例。 我们可以看到下面的类图:一般的单例的实现,是属性中保持着一个自己的私有静态实例引用,还有一个私有的构造方法,然后再开放一个静态的获取实例的方法给外界…...

篇八:装饰器模式:动态增加功能

篇八:“装饰器模式:动态增加功能” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&#xff0c…...

算法通关村第五关——n数之和问题解析

1. 两数之和问题 力扣第1题就是两数之和问题,给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一…...

小白到运维工程师自学之路 第七十集 (Kubernetes集群部署)

一、概述 Kubernetes(简称K8S)是一个开源的容器编排和管理平台,是由Google发起并捐赠给Cloud Native Computing Foundation(CNCF)管理的项目。它的目标是简化容器化应用的部署、扩展、管理和自动化操作。 以下是Kube…...

docker 部署mysql 5.6集群

docker搭建mysql的集群(一主双从) 1.拉取镜像 docker pull mysql:5.6 2.启动master容器 docker run -it -d --name mysql_master -p 3306:3306 --ip 192.168.162.100 \ -v /data/mysql_master/mysql:/var/lib/mysql \ -v /data/mysql_master/conf.d…...

mysql基本信息查询

1.查看mysql表的数据量 select table_schema as 数据库, table_name as 表名, table_rows as 记录数, truncate(data_length/1024/1024, 2) as 数据容量(MB), truncate(index_length/1024/1024, 2) as 索引容量(MB) from information_schema.tables order by data_length des…...

C语言初学者必读:使用for循环将数字从大到小排序并输出

在学习C语言编程的过程中,了解数组的输入和排序是非常基础且重要的一部分。本文将以通俗易懂的方式,教你如何使用for循环实现将输入的n个数字按照从大到小的顺序输出,帮助你逐步掌握数组的使用和排序算法。 第一步:获取用户输入 …...

【Vue+Element-plus】记录后台首页多echart图静态页面

一、页面效果 二、完整代码 Index.vue <template><div><div><DateTime /><!-- {{username}} --></div><el-row :gutter"20"><el-col :span"8"><div class"grid-content bg-purple"><P…...

BM5 合并k个已排序的链表 javascript

描述 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。 数据范围&#xff1a; 示例1 输入&#xff1a; [{1,2,3},{4,5,6,7}] 返回值&#xff1a; {1,2,3,4,5,6,7}示例2 输入&#xff1a; [{1,2},{1,4,5},{6}] 返回值&#xff1a; {1,1,2,4,5,6}解题思路 利用两个…...

1.利用matlab建立符号表达式(matlab程序)

1.简述 、 1. 使用sym命令创建符号变量和表达式 语法&#xff1a; sym(‘变量’,参数) %把变量定义为符号对象 说明&#xff1a;参数用来设置限定符号变量的数学特性&#xff0c;可以选择为’positive’、’real’和’unreal’&#xff0c; ’positive’ 表示为“正、实”符…...

LVS工作环境配置

一、LVS-DR工作模式配置 模拟环境如下&#xff1a; 1台客户机 1台LVS负载调度器 2台web服务器 1、环境部署 &#xff08;1&#xff09;LVS负载调度器 yum install -y ipvsadm # 在LVS负载调度器上进行环境安装 ifconfig ens33:200 192.168.134.200/24 # 配置LVS的VIP…...

金蝶,「起舞」在大模型时代

在过去的几年时间里&#xff0c;基于EBC的平台能力&#xff0c;金蝶已经走出了一个新的进化之路&#xff0c;这条路是对自身产品竞争力的重新构建&#xff0c;也更是对企业数字化转型需求的更大程度满足。 如今&#xff0c;苍穹GPT大模型更是让这种竞争力和服务力更向前一步。…...

解决Vs Code工具开发时 保存React文件时出现乱码情况

Vs Code工具开发时 保存React文件时出现乱码情况 插件库搜索:JS-CSS-HTML Formatter 把这个插件禁用或者卸载就解决保存时出现乱码的问题了; 如果没有解决,再看下面方案! 出现乱码问题通常是因为文件的编码格式不正确。您可以尝试以下解决方法&#xff1a; 确认文件编码格式&a…...

Fastjson 使用指南

文章目录 Fastjson 使用指南0 简要说明为什么要用JSON&#xff1f;用JSON的好处是什么&#xff1f;为什么要用JSON&#xff1f;JSON好处 1 常用数据类型的JSON格式值的范围 2 快速上手2.1 依赖2.2 实体类2.3 测试类 3 常见用法3.1 序列化操作核心操作对象转换为JSON串list转换J…...

阿里云内容审核服务使用(图片审核)

说明&#xff1a;在项目中&#xff0c;我们经常会对用户上传的内容&#xff08;如文字、图片&#xff09;等资源内容进行审核&#xff0c;审核包括两方面&#xff0c;一方面是内容与描述不符&#xff0c;一方面是违反法律法规。本文介绍使用阿里提供的内容审核服务&#xff0c;…...

git撤回最近一次push操作

git push -f origin HEAD^:branch_name其中&#xff0c;branch_name 是你想要撤回 push 操作的分支的名称。 这个命令将会强制推送到远程仓库&#xff0c;将远程分支回滚到上一个提交&#xff08;HEAD^ 意味着上一个提交&#xff09;。这样做会丢失最近一次 push 的更改&#…...

Drone-DETR实战:如何在VisDrone2019数据集上实现轻量化小目标检测(附完整代码)

Drone-DETR实战&#xff1a;轻量化小目标检测在无人机遥感图像中的应用 无人机航拍图像中的小目标检测一直是计算机视觉领域的难点。当你在处理VisDrone2019这类数据集时&#xff0c;传统检测方法往往力不从心——那些在400米高空拍摄的汽车、行人等目标&#xff0c;可能只占图…...

通义千问大模型+Flask:打造智能PDF批量解析与问答系统

1. 为什么需要智能PDF解析与问答系统 每天都有海量的PDF文档在各个行业流转&#xff0c;从合同协议到财务报表&#xff0c;从学术论文到产品手册。传统的人工阅读和提取方式效率低下&#xff0c;容易出错。我曾经帮一家律师事务所处理过上千份合同&#xff0c;光是找出所有涉及…...

使用RyTuneX提升Windows性能:系统优化全指南

使用RyTuneX提升Windows性能&#xff1a;系统优化全指南 【免费下载链接】RyTuneX RyTuneX is a cutting-edge optimizer built with the WinUI 3 framework, designed to amplify the performance of Windows devices. Crafted for both Windows 10 and 11. 项目地址: https…...

3个突破壁垒方法:网盘直链下载助手如何让文件获取效率提升5倍

3个突破壁垒方法&#xff1a;网盘直链下载助手如何让文件获取效率提升5倍 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

构建智能压枪系统:罗技鼠标宏的底层技术与实战优化

构建智能压枪系统&#xff1a;罗技鼠标宏的底层技术与实战优化 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 问题剖析&#xff1a;后坐力控制的…...

StructBERT情感分类模型在教育领域的情绪分析应用

StructBERT情感分类模型在教育领域的情绪分析应用 教育工作者如何从海量学生反馈中快速识别情绪变化&#xff1f;AI情感分析技术正在重新定义教学体验优化方式 1. 教育场景中的情感分析需求 在日常教学过程中&#xff0c;学生通过各种渠道表达他们的感受和体验&#xff1a;课程…...

从Async到Sync,从SDR到DDR:一次NAND Flash接口升级引发的“血案”与调试实录

从Async到Sync&#xff0c;从SDR到DDR&#xff1a;一次NAND Flash接口升级引发的“血案”与调试实录 那天下午&#xff0c;当示波器上扭曲的DQS信号波形终于变得规整时&#xff0c;我瘫坐在工位上&#xff0c;手里的咖啡早已凉透。这次NAND Flash接口升级引发的连锁反应&#…...

vLLM-v0.11.0保姆级部署教程:5分钟搞定LLaMA/Qwen高速推理服务

vLLM-v0.11.0保姆级部署教程&#xff1a;5分钟搞定LLaMA/Qwen高速推理服务 你是不是也遇到过这样的烦恼&#xff1f;好不容易搞到一个不错的开源大模型&#xff0c;比如LLaMA或者Qwen&#xff0c;想部署成服务试试效果&#xff0c;结果发现速度慢得像蜗牛&#xff0c;内存占用…...

炉石传说自动化工具:从效率提升到策略优化的全栈解决方案

炉石传说自动化工具&#xff1a;从效率提升到策略优化的全栈解决方案 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 问题引入&#xff1a;重构游戏体验…...

智能信道建模实战指南:从技术选型到落地实施的决策框架

智能信道建模实战指南&#xff1a;从技术选型到落地实施的决策框架 【免费下载链接】DeepMIMO-matlab DeepMIMO dataset and codes for mmWave and massive MIMO applications 项目地址: https://gitcode.com/gh_mirrors/de/DeepMIMO-matlab 在5G向6G演进的过程中&#…...