Python游戏编程代码大全(python3游戏代码)
100行Python代码,轻松完成贪吃蛇小游戏?
你是想让我们向你提问题?你这个放错地方了,应该发布到自己的博客或论坛上面才对
python有趣的编程代码
class?Point:
??row=0
??col=0
??def?__init__(self,?row,?col):
????self.row=row
????self.col=col
??def?copy(self):
????return?Point(row=self.row,?col=self.col)
#初始框架
import?pygame
import?random
#初始化
pygame.init()
W=800
H=600
ROW=30
COL=40
size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('贪吃蛇')
bg_color=(255,255,255)
snake_color=(200,200,200)
head=Point(row=int(ROW/2),?col=int(COL/2))
head_color=(0,128,128)
snakes=[
??Point(row=head.row,?col=head.col+1),
??Point(row=head.row,?col=head.col+2),
??Point(row=head.row,?col=head.col+3)
]
#生成食物
def?gen_food():
??while?1:
????pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))
????#
????is_coll=False
????#是否跟蛇碰上了
????if?head.row==pos.row?and?head.col==pos.col:
??????is_coll=True
????#蛇身子
????for?snake?in?snakes:
??????if?snake.row==pos.row?and?snake.col==pos.col:
????????is_coll=True
????????break
????if?not?is_coll:
??????break
??return?pos
#定义坐标
food=gen_food()
food_color=(255,255,0)
direct='left'???????#left,right,up,down
#
def?rect(point,?color):
??cell_width=W/COL
??cell_height=H/ROW
??left=point.col*cell_width
??top=point.row*cell_height
??pygame.draw.rect(
????window,?color,
????(left,?top,?cell_width,?cell_height)
??)
??pass
#游戏循环
quit=True
clock=pygame.time.Clock()
while?quit:
??#处理事件
??for?event?in?pygame.event.get():
????if?event.type==pygame.QUIT:
??????quit=False
????elif?event.type==pygame.KEYDOWN:
??????if?event.key==273?or?event.key==119:
????????if?direct=='left'?or?direct=='right':
??????????direct='up'
??????elif?event.key==274?or?event.key==115:
????????if?direct?==?'left'?or?direct?==?'right':
??????????direct='down'
??????elif?event.key==276?or?event.key==97:
????????if?direct?==?'up'?or?direct?==?'down':
??????????direct='left'
??????elif?event.key==275?or?event.key==100:
????????if?direct?==?'up'?or?direct?==?'down':
??????????direct='right'
??#吃东西
??eat=(head.row==food.row?and?head.col==food.col)
??#重新产生食物
??if?eat:
????food?=?gen_food()
??#处理身子
??#1.把原来的头,插入到snakes的头上
??snakes.insert(0,?head.copy())
??#2.把snakes的最后一个删掉
??if?not?eat:
????snakes.pop()
??#移动
??if?direct=='left':
????head.col-=1
??elif?direct=='right':
????head.col+=1
??elif?direct=='up':
????head.row-=1
??elif?direct=='down':
????head.row+=1
??#检测
??dead=False
??#1.撞墙
??if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:
????dead=True
??#2.撞自己
??for?snake?in?snakes:
????if?head.col==snake.col?and?head.row==snake.row:
??????dead=True
??????break
??if?dead:
????print('死了')
????quit=False
??#渲染——画出来
??#背景
??pygame.draw.rect(window,?bg_color,?(0,0,W,H))
??#蛇头
??for?snake?in?snakes:
????rect(snake,?snake_color)
??rect(head,?head_color)
??rect(food,?food_color)
??#
??pygame.display.flip()
??#设置帧频(速度)
??clock.tick(8)
#收尾工作
这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错
python入门可以做的小游戏
1、Python入门拼图小游戏
简单介绍:
将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状。
2、Python入门推箱子小游戏
简单介绍:
这是来自日本的一个经典游戏,在狭小的仓库中,要求把木箱放到指定的位置,如果不小心就可能出现箱子无法移动或者通道被堵的情况,所以,如何巧妙利用有限的空间和通道,合理安排移动顺序,就成了这个游戏能否通关的关键。
3、Python入门小游戏之外星人入侵
简单介绍:
玩家可以通过鼠标控制飞船的移动和射击,如果能在敌人达到游戏界面低端之前消灭所有敌人,则游戏胜利,否则游戏失败。
4、Python入门小游戏之吃豆子
简单介绍:
通过键盘方向键,控制游戏的人物吃豆人,吃掉藏在迷宫内的所有豆子,并且不能被敌人抓到。
5、Python入门小游戏之宝石消消乐
简单介绍:
玩家通过鼠标交换相邻的拼图,若交换后,在水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分。
6、Python入门小游戏之乒乓球对战
简单介绍:
中间是球网,玩家通过上下键移动球拍,并且这个游戏是可以两个人玩的哦。
7、还有其他四个游戏
它们是:炸弹人小游戏、逃出迷宫、飞扬的小鸟、五子棋
《外星人入侵》的python完整代码?
项目名如标题,在《python编程:从入门到实践》里有完整详细的说明,网上也能查到源码,这里只是在重复这种程序
不过学编程,借鉴模仿很重要,即使抄轮子也得抄个像模像样才行,抄到即是学到。
进入正题:
游戏很简单,就是一个打飞机类型的游戏,以下代码将实现游戏的主程序,飞船的基本操作等。
注:这里提醒新上手的萌新,python的代码不要随便复制粘贴!
不要随便复制粘贴!
不要随便复制粘贴!
python的缩进很严格,复制粘贴后一定要注意格式是否正确,否则会报出异常:
IndentationError: unexpected indent
未知的缩进错误
当出现此提示时,要检查一下哪里的缩进出现了问题,小段的代码还好,大段的代码就呵呵了
注意下载好的文件后缀名为.whl
然后新建一个文件夹,名字叫alien_invasion,将下载好的模块放在此文件夹下,
然后你要新建以下文件:
1.?????alien_invasion.py 游戏主程序
2.?????game_functions.py 存放游戏函数
3.?????bullet.py 子弹模块
4.?????settings.py 游戏设置模块
5.?????ship.py 飞船模块
然后新建images文件夹存放飞船素材。
这些会让我们实现启动游戏,飞船的显示与移动,以及开火功能。
为避免文章冗~长,这里贴一段主程序代码,其它代码下周见(偷懒)。
alien_invasion.py
#!usr/bin/env python3
#_*_ coding:utf-8 _*_
#此模块是游戏的主程序
import sys
import game_functions as gf #导入game_functions文件,并指定了别名gf
import pygame
from settings import Settings
from ship import Ship
from pygame.sprite import Group
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init() #pygame的init函数,用于创建一个游戏对象
#把Setting类实例化
ai_settings = Settings()
#显示游戏窗口并设置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))
#设置窗口标题
pygame.display.set_caption("Alien Invasion")?
# 把Ship类实例化,用于创建飞船
ship = Ship(ai_settings,screen)
#存储子弹的编组
bullets = Group()
#开始游戏的主循环
while True:
#用于响应鼠标,键盘事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飞船在屏幕的位置
ship.update()
#更新子弹位置并删除消失的子弹
gf.update_bullets(bullets)
#用于更新屏幕背景色,更新飞船,子弹等
gf.update_screen(ai_settings,screen,ship,bullets)
run_game() #运行游戏
Python程序开发之简单小程序实例(11)小游戏-跳动的小球
Python程序开发之简单小程序实例
(11)小 游戏 -跳动的小球
一、项目功能
用户控制挡板来阻挡跳动的小球。
二、项目分析
根据项目功能自定义两个类,一个用于控制小球在窗体中的运动,一个用于接收用户按下左右键时,挡板在窗体中的运动。在控制小球的类中,我们还需要考虑当小球下降时,碰到挡板时的位置判断。
三、程序源代码
源码部分截图:
源码:
#!/usr/bin/python3.6
# -*- coding: GBK -*-
#导入相应模块
from tkinter import *
import random
import time
#自定义小球的类 Ball
class Ball:
# 初始化
def __init__(self,canvas,paddle,color):
#传递画布值
self.canvas=canvas
#传递挡板值
self.paddle=paddle
#画圆并且保存其ID
self.id=canvas.create_oval(10,10,25,25,fill=color)
self.canvas.move(self.id,245,100)
#小球的水平位置起始列表
start=[-3,-2,-1,1,2,3]
#随机化位置列表
random.shuffle(start)
self.x=start[0]
self.y=-2
self.canvas_heigh=self.canvas.winfo_height()#获取窗口高度并保存
self.canvas_width=self.canvas.winfo_width()
#根据参数值绘制小球
def draw(self):
self.canvas.move(self.id,self.x,self.y)
pos=self.canvas.coords(self.id)#返回相应ID代表的图形的当前坐标(左上角和右上角坐标)
#使得小球不会超出窗口
pad=self.canvas.coords(self.paddle.id)#获取小球挡板的坐标
if pos[1]=self.canvas_heigh or(pos[3]=pad[1] and pos[2]=pad[0] and pos[2]
有哪些小游戏可以直接用python编写?
ant 蚂蚁2. bagels 百吉饼另外贪吃蛇,吃豆子都是可以的,直接代码就可以玩。
Python包括随您的安装一起分发的大量标准库。标准库有一个称为Turtle的模块,这是一种向普通人介绍python编程的流行方法。今天介绍的所有游戏都是使用Python及其Turtle模块实现的。
每个游戏都完全独立于其他游戏,不试一试 您永远都不知道最喜欢哪种游戏。
安装完之后我们可以使用"python -m freegames list"来查看所有的游戏
贪吃蛇
贪吃蛇 -经典街机游戏。使用箭头键导航并吃绿色食品。每次食用食物,蛇就会长出一段。避免自己进食或出界!
吃豆子
吃豆子 –经典街机游戏。使用箭头键导航并吃掉所有白色食物。提防漫游迷宫的红色幽灵。
Flappy
Flappy-bird启发游戏。单击屏幕拍打翅膀。当您飞越屏幕时,请当心黑乌鸦。
加农炮
大炮-射击运动。单击屏幕发射您的炮弹。炮弹在其路径中弹出蓝色气球。弹出所有气球,然后才能越过屏幕。