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()

    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/28704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis和MyBatis-plus配置多数据源和操作多数据库

一,学习MyBatis和MyBatis-plus: mybatis:官网文档:mybatis – MyBatis 3 | 简介 mybatis-plus:官网文档:MyBatis-Plus 二,MyBatis来实现多数据源的查询: 配置文件的格式: spring:datasource: db1:driv…

【Hystrix技术指南】(4)故障切换的运作流程

[每日一句] 也许你度过了很糟糕的一天,但这并不代表你会因此度过糟糕的一生。 [背景介绍] 分布式系统的规模和复杂度不断增加,随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中,【熔断、隔离、降级、限流】是经常被使…

代码随想录算法训练营day60

文章目录 Day60 柱状图中最大的矩形题目思路代码 Day60 柱状图中最大的矩形 84. 柱状图中最大的矩形 - 力扣(LeetCode) 题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图…

模拟实现消息队列项目(系列5) -- 服务器模块(虚拟主机)

目录 前言 1. 创建VirtualHost 1.1 定义虚拟主机的相关属性 1.2 VirtualHost 构造方法 1.3 交换机和队列的创建和删除 1.3.1 交换机操作 1.3.2 队列操作 1.4 绑定的创建和删除 1.5 发送消息到指定的队列/交换机 2. 实现路由规则Router 2.1 checkBindingKey() 2.2 checkRoutin…

【Spring Boot】Spring Boot项目的创建和文件配置

目录 一、为什么要学Spring Boot 1、Spring Boot的优点 二、创建Spring Boot项目 1、创建项目之前的准备工作 2、创建Spring Boot项目 3、项目目录的介绍 4、安装Spring Boot快速添加依赖的插件 5、在项目中写一个helloworld 三、Spring Boot的配置文件 1、配置文件的…

TCP/IP四层模型对比OSI七层网络模型的区别是啥?数据传输过程原来是这样的

一、TCP/IP四层模型对比OSI七层模型 它们两个定义的一些功能和协议都是差不多的。TCP/IP四层协议模型比我们的七层少了三层,把我们的数据链路层和物理层放在一层里面了,叫做数据链路层(网络接口层),对应网络协议也没有…

本质安全设备标准(IEC60079-11)的理解(六)温度

本质安全设备标准(IEC60079-11)的理解(六)温度 本质安全设备的温度要求也是非常复杂的,首先在标准中涉及有3个温度的概念: 环境温度ambient temperature, 工作温度service temperature和最高表…

【Docker】数据库动态授权组件在Kubernetes集群下的测试过程记录

目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑,生产环境的权限一般都是要做最小化控制,尤其是数据库的操作授…

【MFC】05.MFC第一大机制:程序启动机制-笔记

MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序,那么我们就必须了解它背后的机制,这样我们才能够清晰地逆向出MFC程序,今天这篇文章就来带领大家了解MFC的第一大机制:程序启动机…

STM32 低功耗学习

STM32 电源系统结构介绍 电源系统:VDDA供电区域、VDD供电区域、1.8V供电区域、后备供电区域。 器件的工作电压(VDD)2.0~3.6V 为了提高转换精度,给模拟外设独立供电。电压调节器为1.8V供电区域供电,且1.8V供电区域是电…

Snapdrop手机电脑互传-无需下载App

软件介绍 Snapdrop:浏览器中的本地文件共享。灵感来自苹果的空投。 软件访问地址: Snapdrop官网地址 软件开源地址: github 软件截图

【自然语言处理】大模型高效微调:PEFT 使用案例

文章目录 一、PEFT介绍二、PEFT 使用2.1 PeftConfig2.2 PeftModel2.3 保存和加载模型 三、PEFT支持任务3.1 Models support matrix3.1.1 Causal Language Modeling3.1.2 Conditional Generation3.1.3 Sequence Classification3.1.4 Token Classification3.1.5 Text-to-Image Ge…

docker 安装hive

记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker安装docker-compose配置docker国内镜像源(可选) 安装git & 配置github部署Hive docker-hive开始部署 使用Hive命令行收尾工作 安装vi、lrzsz关闭相关命令 END…

NodeJS 个性化音乐推荐系统 毕业设-附源码00485

摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规…

分布式问题

1. 分布式系统CAP原理 CAP原理:指在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitontolerance(分区容忍性),三者不可得兼。 一致性(C…

Java并发 | 常见线程安全容器

文章目录 简介一、Hash表🚣1、ConcurrentHashMap1.1 内部实现原理1.2 并发操作方法1.3 ConcurrentHashMap与Hashtable的比较 二、集合🚣2、CopyOnWriteArrayList2.1 内部实现原理2.2 Copy-On-Write(COW)设计思想2.3 实操 三、Map🚣3、Concurr…

【深度学习_TensorFlow】手写数字识别

写在前面 到这里为止,我们已经学习完张量的常用操作方法,已具备实现大部分神经网络技术的基础储备了。这一章节我们将开启神经网络的学习,然而并不需要像学习前面那样了解大量的张量操作,而是将重点转向理解概念知识,…

2021年03月 Python(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题(共25题,每题2分,共50分) 第1题 下列哪个操作不能退出IDLE环境? A:Alt+F4 B:Ctrl+Q C:按ESC键 D:exit() 正确的答案是:B:Ctrl+Q 解析:在IDLE环境中,Ctrl+Q组合键没有特定的功能,不会退出IDLE环境。要退出IDLE环境,可以使用exit()函数或者quit…

设计模式---工厂模式

1.什么是设计模式 软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 …

一篇文章教会你什么是Linux进程控制

Linux进程控制 进程创建1.fork函数初识1.1那么fork创建子进程时,操作系统都做了什么呢?1.2 父子进程和CPU中的EIP(指令指针)之间存在一定的关系1.3 fork的常规用法有哪些?1.4 fork调用失败的原因有哪些? 2.…