问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

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

发布网友 发布时间:2022-04-22 16:12

我来回答

5个回答

热心网友 时间:2023-11-11 22:52

#!/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()

贪食蛇

热心网友 时间:2023-11-11 22:52

这些游戏都不小啊,很体现功力的。贪吃蛇好象看到过C语言版本的,python的应该了有。
不过很多需要先安装pygame包的。

热心网友 时间:2023-11-11 22:53

五子棋、贪吃蛇、扫雷、俄罗斯方块、坦克大战、FlappyBird,

源码地址github

热心网友 时间:2023-11-11 22:53

http://download.csdn.net/download/y453717489/4731713追问你能帮我下了,在上传给我么?

热心网友 时间:2023-11-11 22:54

这个真的没有,你百度吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
和平精英电脑版怎么下载和平精英电脑版哪里下载 绝地吃鸡电脑版怎么下我想问一下电脑版绝地求生怎么下载 绝地求生电脑版怎么下载免费怎么在电脑上下载绝地求生 从哪里下载电脑游戏绝地求生绝地求生电脑版哪儿可以下载 冒险岛战士加能力点 冒险岛战士怎么加能力值,我要转黑骑,怎么加技能?要清晰的,较详细的 冒险岛战士的能力值怎么加? LOVE TRAP~爱情陷阱~的歌词是什么? 珍珠鸟课文生字形近字 “担任副经理级别以上的职务”英语怎么说? 鍏充簬缃戜笂阈惰&#xFFFD;镄勯棶棰桡紝楂樻坠楹荤储璇》粏缁欐垜瑙% 求大神编写个程序,如下图,用c语言 Python都编过什么游戏?(大游戏) python只用graphics可以编写俄罗斯方块吗? 用python2.7编的小游戏 Python3.4.4上编一个俄罗斯方块 我想用python编写一个俄罗斯方块的问题 华为手机摔了下半边屏幕黑屏 手机摔到地上对手机有影响吗 手机摔了一下有一块黑屏了怎么办 火锅排骨汤底的做法 火锅白汤的制作方法 筒子骨火锅怎么做 最简单的高汤怎么做啊?平时吃火锅的清汤底怎么做? 排骨火锅清汤锅底怎么做 筒骨怎么炖火锅 重庆火锅店的火锅汤底怎么做 火锅店加的汤怎么做的 怎样自制骨头火锅汤底 火锅店在给锅底加汤的时候,用的高汤是怎么熬制的? 求助~有没有会用python的~~ 用c语言编写俄罗斯方块程序 求详解 python中 如何即时接受来自键盘的输入? Python中怎么挨个将txt作为变量计算? 如何用python实现六边蜂窝型坐标? 有什么关于C++游戏编程的书籍 学计算机要多练吗? 手机拍摄买什么支架好? 在淘宝或者拍拍卖全新和二手的手机需要注意什么? 在手机上怎样拍买藏品? 阿里拍卖上的手机靠谱吗 拍照买哪款手机好? 拍照买什么手机比较好了? 手机上拍卖哪个软件好 拍拍卖的手机如何呀? 在闲鱼拍买手机拍多少是多少吗 体验店买的手机可以在拍拍卖吗? 手机拍拍买到的东西会有彩钻经验值么? 拍点是什么? 适合拍照手机买哪款好? 我用手机拍照买那款手机比较好?
  • 焦点

最新推荐

猜你喜欢

热门推荐