python简单小游戏代码10行(python入门小游戏代码20行)

http://www.itjxue.com  2023-02-13 14:30  来源:未知  点击次数: 

请用PYTHON编一个小游戏,如五子棋,连连看,贪吃蛇,扫雷,计算器等等

#!/usr/bin/python

from Tkinter import *

import random

class snake(Frame):

????????def __init__(self, master=None):

????????????????Frame.__init__(self, master)

????????????????self.body = [(0,0)]

????????????????self.bodyid = []

????????????????self.food = [ -1, -1 ]

????????????????self.foodid = -1

????????????????self.gridcount = 10

????????????????self.size = 500

????????????????self.di = 3

????????????????self.speed = 500

????????????????self.top = self.winfo_toplevel()

????????????????self.top.resizable(False, False)

????????????????self.grid()

????????????????self.canvas = Canvas(self)

????????????????self.canvas.grid()

????????????????self.canvas.config(width=self.size, height=self.size,relief=RIDGE)

????????????????self.drawgrid()

????????????????s = self.size/self.gridcount

????????????????id = self.canvas.create_rectangle(self.body[0][0]*s,self.body[0][1]*s,

????????????????????????(self.body[0][0]+1)*s, (self.body[0][1]+1)*s, fill="yellow")

????????????????self.bodyid.insert(0, id)

????????????????self.bind_all("KeyRelease", self.keyrelease)

????????????????self.drawfood()

????????????????self.after(self.speed, self.drawsnake)

????????def drawgrid(self):

????????????????s = self.size/self.gridcount

????????????????for i in range(0, self.gridcount+1):

????????????????????????self.canvas.create_line(i*s, 0, i*s, self.size)

????????????????????????self.canvas.create_line(0, i*s, self.size, i*s)

????????def drawsnake(self):

????????????????s = self.size/self.gridcount

????????????????head = self.body[0]

????????????????new = [head[0], head[1]]

????????????????if self.di == 1:

????????????????????????new[1] = (head[1]-1) % self.gridcount

????????????????elif self.di == 2:

????????????????????????new[0] = (head[0]+1) % self.gridcount

????????????????elif self.di == 3:

????????????????????????new[1] = (head[1]+1) % self.gridcount

????????????????else:

????????????????????????new[0] = (head[0]-1) % self.gridcount

????????????????next = ( new[0], new[1] )

????????????????if next in self.body:

????????????????????????exit()

????????????????elif next == (self.food[0], self.food[1]):

????????????????????????self.body.insert(0, next)

????????????????????????self.bodyid.insert(0, self.foodid)

????????????????????????self.drawfood()

????????????????else:

????????????????????????tail = self.body.pop()

????????????????????????id = self.bodyid.pop()

????????????????????????self.canvas.move(id, (next[0]-tail[0])*s, (next[1]-tail[1])*s)

????????????????????????self.body.insert(0, next)

????????????????????????self.bodyid.insert(0, id)

????????????????self.after(self.speed, self.drawsnake)

????????def drawfood(self):

????????????????s = self.size/self.gridcount

????????????????x = random.randrange(0, self.gridcount)

????????????????y = random.randrange(0, self.gridcount)

????????????????while (x, y) in self.body:

????????????????????????x = random.randrange(0, self.gridcount)

????????????????????????y = random.randrange(0, self.gridcount)

????????????????id = self.canvas.create_rectangle(x*s,y*s, (x+1)*s, (y+1)*s, fill="yellow")

????????????????self.food[0] = x

????????????????self.food[1] = y

????????????????self.foodid = id

????????def keyrelease(self, event):

????????????????if event.keysym == "Up" and self.di != 3:

????????????????????????self.di = 1

????????????????elif event.keysym == "Right" and self.di !=4:

????????????????????????self.di = 2

????????????????elif event.keysym == "Down" and self.di != 1:

????????????????????????self.di = 3

????????????????elif event.keysym == "Left" and self.di != 2:

????????????????????????self.di = 4

app = snake()

app.master.title("Greedy Snake")

app.mainloop()

贪食蛇

python入门可以做的小游戏

1、Python入门拼图小游戏

简单介绍:

将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状。

2、Python入门推箱子小游戏

简单介绍:

这是来自日本的一个经典游戏,在狭小的仓库中,要求把木箱放到指定的位置,如果不小心就可能出现箱子无法移动或者通道被堵的情况,所以,如何巧妙利用有限的空间和通道,合理安排移动顺序,就成了这个游戏能否通关的关键。

3、Python入门小游戏之外星人入侵

简单介绍:

玩家可以通过鼠标控制飞船的移动和射击,如果能在敌人达到游戏界面低端之前消灭所有敌人,则游戏胜利,否则游戏失败。

4、Python入门小游戏之吃豆子

简单介绍:

通过键盘方向键,控制游戏的人物吃豆人,吃掉藏在迷宫内的所有豆子,并且不能被敌人抓到。

5、Python入门小游戏之宝石消消乐

简单介绍:

玩家通过鼠标交换相邻的拼图,若交换后,在水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分。

6、Python入门小游戏之乒乓球对战

简单介绍:

中间是球网,玩家通过上下键移动球拍,并且这个游戏是可以两个人玩的哦。

7、还有其他四个游戏

它们是:炸弹人小游戏、逃出迷宫、飞扬的小鸟、五子棋

用Python写一个简单的小游戏

相信大家都玩过俄罗斯方块吧,应该是小时候的回忆吧,但是想不想了解一下这个程序是怎么写出来的呢,自己写出来的应该玩起来更有感觉吧!

感觉还是蛮好玩吧!

接下来,我就分享一下这个游戏的源码过程啊!

先用python创建一个py文件

定义这次程序所需要的类

然后写出它所需要的模块

画背景图

画网格线

# 画已经落下的方块

# 画单个方块

# 画得分等信息

这样就可以写出来一个十分简单的俄罗斯方块啦,是不是觉得还不错呢!

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]

(责任编辑:IT教学网)

更多

推荐免费资源文章