python坦克大战_Life is short,you need Python——Python实现坦克大战(一)

ae45e39db896df28049e6b0df5dd5bde.png

先展示一下效果

7ae7ceff7da63d3ce05a8c6c976b7732.png
搓搓小手手,坦克大战即将开始……https://www.zhihu.com/video/1140743290784817152

一、游戏引擎的安装

安装方式有两种:1.pip安装
windows + R --> cmd --> pip install pygame

ee1b2fda1b23f4c7af121f46c026c368.png

b9254e3362daa81eeedbd7d8064a5ac4.png

2.pycharm安装
File -->setting -->project -->prioect Interpreter -->右侧 + install --> 搜索输入pygame -->左下方installpackage

4590a5b4072bca010ee4da0580e7ff41.png

验证pygame安装是否成功

92e2d5f49bba9c3dc7521d46b5ee1428.png

ae6012fc1dcd2d7fb61ab23107c5fc15.png
import pygame运行结果:
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html

二.项目的需求(基于面向对象的分析):

有哪些类,不同的类具有的功能
1.主逻辑类
开始游戏
结束游戏
2.坦克类(1.我方坦克 2.敌方坦克)
移动
射击
展示
3.子弹类
移动
展示
4.爆炸效果类
展示爆炸效果
5.墙壁类
属性:坦克和子弹是否可以通过
6.音效类
播放背景音乐,射击音效,爆炸音效

三.坦克大战项目框架的搭建

涉及到的类,用代码简单的实现

import pygameclass MainGame:"""主游戏类"""def __init__(self):passdef startGame(self):"""开始游戏"""passdef endGame(self):"""结束游戏"""passclass Tank:"""坦克类"""def __init__(self):passdef move(self):"""坦克的移动"""passdef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克"""passclass MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""pass

四.项目开始:

1.创建游戏窗口

用到游戏引擎中的功能模块:
查看官方开发文档 http://www.pygame.org/docs/

www.pygame.org​www.pygame.org
import pygame_display = pygame.display
COLOR_BLACK = pygame.Color(0,0,0)#窗口颜色class MainGame:"""主游戏类"""window = None  # 游戏主窗口SCREEN_HEIGHT = 500  # 窗口的高度SCREEN_WIDTH = 800  # 窗口的宽度def __init__(self):passdef startGame(self):"""开始游戏"""_display.init()  # 初始化窗口MainGame.window = _display.set_mode([MainGame.SCREEN_WIDTH,MainGame.SCREEN_HEIGHT])  # 创建窗口并加载窗口(借鉴官方文档)_display.set_caption("坦克大战v1.03")  # 设置游戏的标题while True:#让窗口持续刷新MainGame.window.fill(COLOR_BLACK)#给窗口完成一个填充颜色_display.update()#窗口的刷新def endGame(self):"""结束游戏"""print("谢谢使用")exit()  # 结束python解释器class Tank:"""坦克类"""def __init__(self):passdef move(self):"""坦克的移动"""passdef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克"""passclass MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""passMainGame().startGame()

运行结果:

d22edd0d4615920bf5e7bf9e9dd09e30.png

2.事件处理

  1. 点击关闭按钮,退出程序
  2. 方向控制,子弹发射
import pygame_display = pygame.display
COLOR_BLACK = pygame.Color(0, 0, 0)  # 窗口颜色class MainGame:"""主游戏类"""window = None  # 游戏主窗口SCREEN_HEIGHT = 500  # 窗口的高度SCREEN_WIDTH = 800  # 窗口的宽度def __init__(self):passdef startGame(self):"""开始游戏"""_display.init()  # 初始化窗口MainGame.window = _display.set_mode([MainGame.SCREEN_WIDTH,MainGame.SCREEN_HEIGHT])  # 创建窗口并加载窗口(借鉴官方文档)_display.set_caption("坦克大战v1.04")  # 设置游戏的标题# 让窗口持续刷新while True:MainGame.window.fill(COLOR_BLACK)  # 给窗口完成一个填充颜色self.getEvent()  # 在循环中持续完成事件的获取_display.update()  # 窗口的刷新def getEvent(self):"""获取程序运行期间所有的鼠标和键盘事件"""eventList = pygame.event.get()  # 获取所有的事件for event in eventList:  # 对事件进行判断处理(1.点击鼠标关闭按钮  2.按下键盘上的某个按键)if event.type == pygame.QUIT:  # 判断event.type是否为QUIT,如果是,直接调用程序结束方法self.endGame()# 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理if event.type == pygame.KEYDOWN:# 具体是哪个按键的处理if event.key == pygame.K_LEFT:print("坦克向左调头,移动")elif event.key == pygame.K_RIGHT:print("坦克向右调头,移动")elif event.key == pygame.K_UP:print("坦克向上调头,移动")elif event.key == pygame.K_DOWN:print("坦克向下调头,移动")elif event.key == pygame.K_SPACE:print("发射子弹")def endGame(self):"""结束游戏"""print("谢谢使用")exit()  # 结束python解释器class Tank:"""坦克类"""def __init__(self):passdef move(self):"""坦克的移动"""passdef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克"""passclass MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""passMainGame().startGame()

运行结果:

b528b55e856d4db272f1559ac9b93dd1.png

3.实现左上角文字提示内容

模块:font

import pygame_display = pygame.display
COLOR_BLACK = pygame.Color(0, 0, 0)  # 窗口颜色
COLOR_RED = pygame.Color(255, 0, 0)  # 窗口左上角文字颜色class MainGame:"""主游戏类"""window = None  # 游戏主窗口SCREEN_HEIGHT = 500  # 窗口的高度SCREEN_WIDTH = 800  # 窗口的宽度def __init__(self):passdef startGame(self):"""开始游戏"""_display.init()  # 初始化窗口# 创建窗口并加载窗口(借鉴官方文档)MainGame.window = _display.set_mode([MainGame.SCREEN_WIDTH, MainGame.SCREEN_HEIGHT])_display.set_caption("坦克大战v1.05")  # 设置游戏的标题# 让窗口持续刷新while True:MainGame.window.fill(COLOR_BLACK)  # 给窗口完成一个填充颜色# 将绘制文字的小画布粘贴到窗口中MainGame.window.blit(self.getTextSurface("剩余敌方坦克{}辆".format(5)), (5, 5))self.getEvent()  # 在循环中持续完成事件的获取_display.update()  # 窗口的刷新def getEvent(self):"""获取程序运行期间所有的鼠标和键盘事件"""eventList = pygame.event.get()  # 获取所有的事件# 对事件进行判断处理(1.点击鼠标关闭按钮  2.按下键盘上的某个按键)for event in eventList:# 判断event.type是否为QUIT,如果是,直接调用程序结束方法if event.type == pygame.QUIT:self.endGame()# 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理if event.type == pygame.KEYDOWN:# 具体是哪个按键的处理if event.key == pygame.K_LEFT:print("坦克向左调头,移动")elif event.key == pygame.K_RIGHT:print("坦克向右调头,移动")elif event.key == pygame.K_UP:print("坦克向上调头,移动")elif event.key == pygame.K_DOWN:print("坦克向下调头,移动")elif event.key == pygame.K_SPACE:print("发射子弹")def getTextSurface(self, text):pygame.font.init()  # 初始化字体模块# fontList = pygame.font.get_fonts()  # 查看系统支持的所有字体# print(fontList)font = pygame.font.SysFont('kaiti', 20)  # 选一个合适的字体textSurface = font.render(text, True, COLOR_RED)  # 使用对应的字符完成相关内容的绘制return textSurfacedef endGame(self):"""结束游戏"""print("谢谢使用")exit()  # 结束python解释器class Tank:"""坦克类"""def __init__(self):passdef move(self):"""坦克的移动"""passdef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克"""passclass MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""passMainGame().startGame()

运行结果:

9350c5c14b2a144e9c1a7cc8793a09ff.png

4.加载我方坦克

素材:

d9695b590c5175d15590a8179379a1fb.png

5a5735b4e6a00b9320af8dd5c6bc58f7.png

2ed8aad6916a6703963b0c5739f6e1de.png

0f5e6cf80388566c95f61fda2c727359.png
import pygame_display = pygame.display
COLOR_BLACK = pygame.Color(0, 0, 0)  # 窗口颜色
COLOR_RED = pygame.Color(255, 0, 0)  # 窗口左上角文字颜色class MainGame:"""主游戏类"""window = None  # 游戏主窗口SCREEN_WIDTH = 800  # 窗口的宽度SCREEN_HEIGHT = 500  # 窗口的高度TANK_P1 = None  # 我方坦克def __init__(self):passdef startGame(self):"""开始游戏"""_display.init()  # 初始化窗口# 创建窗口并加载窗口(借鉴官方文档)MainGame.window = _display.set_mode([MainGame.SCREEN_WIDTH, MainGame.SCREEN_HEIGHT])MainGame.TANK_P1 = Tank(MainGame.SCREEN_WIDTH // 2, MainGame.SCREEN_HEIGHT - 70)  # 创建我方坦克_display.set_caption("坦克大战v1.06")  # 设置游戏的标题# 让窗口持续刷新while True:MainGame.window.fill(COLOR_BLACK)  # 给窗口完成一个填充颜色# 将绘制文字的小画布粘贴到窗口中MainGame.window.blit(self.getTextSurface("剩余敌方坦克{}辆".format(5)), (5, 5))# 将我方坦克加入到窗口中MainGame.TANK_P1.displayTank()self.getEvent()  # 在循环中持续完成事件的获取_display.update()  # 窗口的刷新def getEvent(self):"""获取程序运行期间所有的鼠标和键盘事件"""eventList = pygame.event.get()  # 获取所有的事件# 对事件进行判断处理(1.点击鼠标关闭按钮  2.按下键盘上的某个按键)for event in eventList:# 判断event.type是否为QUIT,如果是,直接调用程序结束方法if event.type == pygame.QUIT:self.endGame()# 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理if event.type == pygame.KEYDOWN:# 具体是哪个按键的处理if event.key == pygame.K_LEFT:print("坦克向左调头,移动")elif event.key == pygame.K_RIGHT:print("坦克向右调头,移动")elif event.key == pygame.K_UP:print("坦克向上调头,移动")elif event.key == pygame.K_DOWN:print("坦克向下调头,移动")elif event.key == pygame.K_SPACE:print("发射子弹")def getTextSurface(self, text):pygame.font.init()  # 初始化字体模块# fontList = pygame.font.get_fonts()  # 查看系统支持的所有字体# print(fontList)font = pygame.font.SysFont('kaiti', 20)  # 选一个合适的字体textSurface = font.render(text, True, COLOR_RED)  # 使用对应的字符完成相关内容的绘制return textSurfacedef endGame(self):"""结束游戏"""print("谢谢使用")exit()  # 结束python解释器class Tank:"""坦克类"""def __init__(self, left, top):self.images = {'D': pygame.image.load('img/tank_1_D.jpg'),'U': pygame.image.load('img/tank_1_U.jpg'),'L': pygame.image.load('img/tank_1_L.jpg'),'R': pygame.image.load('img/tank_1_R.jpg'),}  # 四个方向,四个图片self.direction = 'U'  # 初始方向为上self.image = self.images[self.direction]  # 根据方向选择对应的图片# 坦克所在的区域  Rect-->self.rect = self.image.get_rect()# 指定坦克初始化位置分别距x,y轴的位置self.rect.left = leftself.rect.top = topdef move(self):"""坦克的移动"""passdef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克(将坦克绘制到窗口中,使用blit())"""# 重新设置坦克的图片self.image = self.images[self.direction]# 将坦克加载到窗口中MainGame.window.blit(self.image, self.rect)class MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""passMainGame().startGame()

运行结果:

bd5abece6bce1a9cc48b1bda36307ecc.png

5.坦克类新增speed属性,用来控制坦克移动快慢
6.事件处理:

  1. 改变坦克方向
  2. 修改坦克的位置(left,top):取决于坦克的速度
import pygame_display = pygame.display
COLOR_BLACK = pygame.Color(0, 0, 0)  # 窗口颜色
COLOR_RED = pygame.Color(255, 0, 0)  # 窗口左上角文字颜色class MainGame:"""主游戏类"""window = None  # 游戏主窗口SCREEN_WIDTH = 800  # 窗口的宽度SCREEN_HEIGHT = 500  # 窗口的高度TANK_P1 = None  # 我方坦克def __init__(self):passdef startGame(self):"""开始游戏"""_display.init()  # 初始化窗口# 创建窗口并加载窗口(借鉴官方文档)MainGame.window = _display.set_mode([MainGame.SCREEN_WIDTH, MainGame.SCREEN_HEIGHT])MainGame.TANK_P1 = Tank(MainGame.SCREEN_WIDTH // 2, MainGame.SCREEN_HEIGHT - 70)  # 创建我方坦克_display.set_caption("坦克大战v1.07")  # 设置游戏的标题# 让窗口持续刷新while True:MainGame.window.fill(COLOR_BLACK)  # 给窗口完成一个填充颜色# 将绘制文字的小画布粘贴到窗口中MainGame.window.blit(self.getTextSurface("剩余敌方坦克{}辆".format(5)), (5, 5))# 将我方坦克加入到窗口中MainGame.TANK_P1.displayTank()self.getEvent()  # 在循环中持续完成事件的获取_display.update()  # 窗口的刷新def getEvent(self):"""获取程序运行期间所有的鼠标和键盘事件"""eventList = pygame.event.get()  # 获取所有的事件# 对事件进行判断处理(1.点击鼠标关闭按钮  2.按下键盘上的某个按键)for event in eventList:# 判断event.type是否为QUIT,如果是,直接调用程序结束方法if event.type == pygame.QUIT:self.endGame()# 判断事件是否为键盘按键操作,如果是,继续判断按键是哪一个按键,并进行对应的处理if event.type == pygame.KEYDOWN:# 具体是哪个按键的处理if event.key == pygame.K_LEFT:print("坦克向左调头,移动")# 修改坦克方向MainGame.TANK_P1.direction = 'L'# 完成移动操作(调用坦克的移动方法)MainGame.TANK_P1.move()elif event.key == pygame.K_RIGHT:print("坦克向右调头,移动")# 修改坦克方向MainGame.TANK_P1.direction = 'R'# 完成移动操作(调用坦克的移动方法)MainGame.TANK_P1.move()elif event.key == pygame.K_UP:print("坦克向上调头,移动")# 修改坦克方向MainGame.TANK_P1.direction = 'U'# 完成移动操作(调用坦克的移动方法)MainGame.TANK_P1.move()elif event.key == pygame.K_DOWN:print("坦克向下调头,移动")# 修改坦克方向MainGame.TANK_P1.direction = 'D'# 完成移动操作(调用坦克的移动方法)MainGame.TANK_P1.move()elif event.key == pygame.K_SPACE:print("发射子弹")def getTextSurface(self, text):pygame.font.init()  # 初始化字体模块# fontList = pygame.font.get_fonts()  # 查看系统支持的所有字体# print(fontList)font = pygame.font.SysFont('kaiti', 20)  # 选一个合适的字体textSurface = font.render(text, True, COLOR_RED)  # 使用对应的字符完成相关内容的绘制return textSurfacedef endGame(self):"""结束游戏"""print("谢谢使用")exit()  # 结束python解释器class Tank:"""坦克类"""def __init__(self, left, top):self.images = {'D': pygame.image.load('img/tank_1_D.jpg'),'U': pygame.image.load('img/tank_1_U.jpg'),'L': pygame.image.load('img/tank_1_L.jpg'),'R': pygame.image.load('img/tank_1_R.jpg'),}  # 四个方向,四个图片self.direction = 'U'  # 初始方向为上self.image = self.images[self.direction]  # 根据方向选择对应的图片# 坦克所在的区域  Rect-->self.rect = self.image.get_rect()# 指定坦克初始化位置分别距x,y轴的位置self.rect.left = leftself.rect.top = topself.speed = 5def move(self):"""坦克的移动"""if self.direction == 'L':self.rect.left -= self.speedelif self.direction == 'R':self.rect.left += self.speedelif self.direction == 'U':self.rect.top -= self.speedelif self.direction == 'D':self.rect.top += self.speeddef shot(self):"""坦克的射击"""passdef displayTank(self):"""展示坦克(将坦克绘制到窗口中,使用blit())"""# 重新设置坦克的图片self.image = self.images[self.direction]# 将坦克加载到窗口中MainGame.window.blit(self.image, self.rect)class MyTank(Tank):"""我方坦克类"""def __init__(self):passclass EnemyTank(Tank):"""敌方坦克类"""def __init__(self):passclass Bullet:"""子弹类"""def __init__(self):passdef move(self):"""子弹的移动"""passdef displayBullet(self):"""展示子弹"""passclass Explode:"""爆炸效果类"""def __init__(self):passdef displayExplode(self):"""展示爆炸效果"""passclass Wall:"""墙壁类"""def __init__(self):passdef dispalyWall(self):"""展示墙壁"""passclass Music:"""音效类"""def __init__(self):passdef play(self):"""开始播放音乐"""passMainGame().startGame()

运行结果:

ab7689df449c393b19345e0fc20f31f0.png
可以朝各个方向移动了https://www.zhihu.com/video/1141070523843960832

字数上限,新开一篇……

Life is short,you need Python——Python实现坦克大战(二)

皮卡丘比特:Life is short,you need Python——Python实现坦克大战(二)​zhuanlan.zhihu.com
eb2b0ec4b2cb7b9e96cad4dfeede6c3c.png

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

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

相关文章

复习Java字节流_字符流使用及案例

字节流_字符流 主要内容 IO流字节流字符流异常处理Properties 第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrls ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频…

ESP32 coredump 分析

1. 上次写了一个 ESP32 入门,我想有必要再写这篇文章,这次主要是分析 coredump 的,这就像 Android 和 Linux 系统的死机分析,有意思,也有难度。我们写代码的时候,不可避免的会遇到一些 coredump 的问题&am…

我那个在华为过得很好的朋友

最近华为的事件又上了热搜,不管是微信还是知乎,都在啃这个热点,一种是看热闹不闲事大的,一种是看热闹闲事大的,我呢?昨晚跟我的一个华为朋友玩了几把王者荣耀,虽然不能带他全盘浪,但…

Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL),意即…

要有敬畏之心

最近开始周六也没有休息,心理上还是很难接受,也不是说周六上班有多累,就是没有找到对的感觉,就像和一个不喜欢的姑娘相亲,就算姑娘家财万贯,貌美如花,自己还是提不起兴趣,可能这就是…

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用 主要内容 数据结构List集合Set集合Collections 第一章 数据结构 2.1 数据结构有什么用? 加快应用开发, 提高程序健壮性, 提高程序可重用性 2.2 常见的数据结构 数据存储的常用结构有&#xff…

最近,我也要买书了

1.当当网给我做的一个活动,购书优惠,确实是福利了,而且筛选的书籍对我们做嵌入式都是比较有帮助的,你应该知道,做活动的时候,价格都是比较不错,不要错过了时间再想要当时的价格,有需…

复习Java异常处理_异常分类_自定义异常_线程初步了解

复习Java异常处理_异常分类_自定义异常_线程 主要内容 异常、线程 教学目标 第一章 异常 1.1 异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常…

跟我师兄聊天引发的思考

我一个师兄,上大学的时候关系很好,我师兄也很喜欢打篮球,也许这就是我们有很多共同话题的原因,人是很奇怪,特别是做技术的,本来就比较闷,很难跟陌生人马上来电,但是如果有个共同爱好…

别忘了当初你为何出发

最近,特别喜欢听一个广播,宝安905,估计是因为我最近营养不太够,需要多喝一些鸡汤,刚好这个电台广播的鸡汤非常够味,非常符合我现在的胃口。比如这一句「你想收获世界上最好的东西,先让世界看到最…

一位跟我一样疑惑的同学~

今天遇到一个同学给我提的问题,非常像我之前的经历,想分享给大家,最近手机码字,觉得有用,给个在看或者转发,小弟感激不尽,在所不辞。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我2012年毕业&#xff…

在深圳转户口这件小事

我对于政策这种事情是比较感冒的,比如老师说不能去外面上网,我是绝不会偷偷跑出去的,来深圳的第一年,我就想着办理户口了,第一次机会是在 TCL 的时候,人事部门有专门给我们办理转深户的,不过那时…

CPU 和 GPU

端午回来,发的第一篇文章,还在谋划其他事情,大家共勉。现在电脑这么普及,应该每个人都知道 CPU ,即使不懂电脑的人都能憋出大招告诉你电脑里面有一个 CPU,CPU 是中央处理器,是很多很多年积累下来…

React Native - 3 View, Text简介以及onPress onLongPress事件

我们要生成如下的构图 直接上图,不解释。如下图所示,定义函数,函数之间不需要逗号,在元素上添加事件,使用关键字this.{function name}转载于:https://www.cnblogs.com/yahb/p/6864382.html

创业日记

最近在拼命的写代码,估计这段时间写代码的行数等于过去一年的了,这是保守估计,如果不保守估计就不好说了,我本来想在原来的小组群里发话说,打算是下面这段对话我:X总,你站起来X总:为…

线程基础知识_线程生命周期_从JVM内存结构看多线程下的共享资源

线程生命周期 线程状态 New: 线程创建(new Thread()) Runnable: 线程可运行(thread.start()), 注: 调用start并不一定是运行状态, 可能在等待CPU调度 Running: 线程进入运行状态 Blocked: 阻塞状态(object.wait, Thread.sleep) Terminal: 死亡状态(线程正常/非正常结束运行)th…

CPU,内核,寄存器,缓存,RAM,ROM的知识

偷偷说一下,这个图片是晚上 8 点钟的太阳,一个骚男华为总工发给我的,有时间还是想出去走走很多人使用计算机,但是对计算机却不是很懂,即使是作为非常资深的码农,也不能做到心中有剑的地步,那么怎…

mft按钮设计_哈汽机组660MW超临界空冷机组ETS设计及逻辑说明

点击上方“火力发电集控运行”关注公众号,加微信号:jikonglingmi,备注:集控运行,拉你入集控运行技术交流群,共同学习、共同进步。更多学习题库,请进入首页菜单选择一、 基本设计思想1、既防拒动…

JVM运行参数_JVM内存模型_常用内存分析工具

JVM运行参数 常见标准参数 -showversion: 显示当前JVM版本等信息-D设置系统属性参数: /*** 测试* author regotto*/ public class JvmTest {public static void main(String[] args) {//获取系统参数String str System.getProperty("str");System.out.println(st…

2019 年入门AI算法工程师,你需要掌握什么技能?

一篇推文,感兴趣的同学可以了解一下,有需要请继续往下阅读,没有需要的打扰各位金主了-----人工智能与自然语言处理/计算机视觉课培训招生Artificial Intelligence ForNLP/CV Courses真实企业级项目驱动找工作拿不到offer全额退款GitHub年度活…