小游戏-种田

目录

小游戏-种田

安装pillow,datetime

安装pillow

安装datetime

main.py

引入库

窗口

数据文档自动读写

数据文档读写

显示图片

部分数据重置

更新数据

浇水施肥

种植小麦或水稻

赚金币

打印数据

金币商城

完整main.py代码

dy.py

引入库

打印函数

完整dy.py代码

jifen.py

引入库

积分商城函数

完整 jifen.py代码

tp.py

小麦图

水稻图

空白

完整tp.py代码

扩展-种田十五位数据码验证

yz.py

文件目录架构

完整代码下载

百度网盘

exe版下载

百度网盘


安装pillow,datetime

安装pillow

pip install pillow

安装datetime

pip install datetime

main.py

引入库

from jifen import *
from tkinter import *
import tkinter as tk
from tp import *
from dy import *
import os
import pickle
import random
import tkinter.messagebox
from PIL import Image,ImageTk
import datetime
import time as t

窗口

# -*- coding: utf-8 -*-
def main():# 窗口global nrwindow = tk.Tk()window.title('种田')window.geometry('600x640')window.iconbitmap('.\\m.ico')tk.Label(window, text='田地:').place(x=10, y=10)jbz = StringVar()tk.Label(window, textvariable=jbz,text='金币:0').place(x=500, y=10)bt_login = tk.Button(window, text='种麦子', command=mz)bt_login.place(x=430, y=355)bt_logquit = tk.Button(window, text='种水稻', command=sd)bt_logquit.place(x=510, y=355)bt_logquit = tk.Button(window, text='签到(浇水等)', command=qd)bt_logquit.place(x=430, y=175)bt_logquit = tk.Button(window, text='赚金币', command=jb)bt_logquit.place(x=430, y=265)bt_logquit = tk.Button(window, text='金币商城', command=jfsc1)bt_logquit.place(x=510, y=265)bt_logquit = tk.Button(window, text='打印后台数据', command=dyht)bt_logquit.place(x=430, y=445)window.mainloop()
main()

数据文档自动读写

if os.path.exists('./sjk/sjk.px'):with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)print(nr)
else:nr = {'td': 0,  'lx': 0,  'lb': 0,'ts': 0,  'jb': 100,  'zjb': 0.1,'fb': 0}with open('./sjk/sjk.px', 'wb') as usr_file:pickle.dump(nr, usr_file)

数据文档读写

def op():with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)print(nr)def bc():with open('./sjk/sjk.px', 'wb') as usr_file:pickle.dump(nr, usr_file)print(nr)

显示图片

def aa(dz):op()global img0photo = Image.open(dz) photo = photo.resize((390, 595))img0 = ImageTk.PhotoImage(photo)tk.Label(window, image=img0).place(x=10, y=30)bc()

部分数据重置

def cl():op()nr['td'] = 0nr['lx'] = 0nr['lb'] = 0nr['ts'] = 0nr['fb'] = 0gx()bc()

更新数据

def gx():op()if nr['td'] != 0:today = datetime.datetime.today()yesterday = today - datetime.timedelta(days=1)yesterday = str(yesterday)yesterday = yesterday[0:10]today = str(today)today = today[0:10]if (not ((nr['lb'] == 0) or (nr['lb'] == yesterday or nr['lb'] == today))):tkinter.messagebox.showerror('失败', '你的农作物已死亡!')cl()if nr['td'] != 0:if nr['lx'] == 1:if nr['ts'] != 0 and nr['ts'] <= 8:xmt('.\\zp\\xm\\xm' + str(nr['ts']) + '.png', '.\\sjk\\cs.png')elif nr['ts'] > 8:xmt('.\\zp\\xm\\xm8.png', '.\\sjk\\cs.png')else:xmt('.\\zp\\xm\\xm1.png', '.\\sjk\\cs.png')else:if nr['ts'] != 0 and nr['ts'] <= 8:sdt('.\\zp\\sd\\sd' + str(nr['ts']) + '.png', '.\\sjk\\cs.png')elif nr['ts'] > 8:sdt('.\\zp\\sd\\sd8.png', '.\\sjk\\sd.png')else:sdt('.\\zp\\sd\\sd8.png', '.\\sjk\\sd.png')else:kj('.\\sjk\\cs.png')aa('.\\sjk\\cs.png')jbz.set('金币:' + str(nr['jb']))if nr['ts'] == 9:if (nr['lx'] == 1):tkinter.messagebox.showinfo('提示', '小麦已成熟,准备收割!')t.sleep(1)tkinter.messagebox.showinfo('提示', '小麦收割完毕!')if (nr['fb'] == 1):nr['jb'] += 200else:nr['jb'] += 100cl()else:tkinter.messagebox.showinfo('提示', '水稻已成熟,准备收割!')t.sleep(1)tkinter.messagebox.showinfo('提示', '水稻收割完毕!')if (nr['fb'] == 1):nr['jb'] += 160else:nr['jb'] += 80cl()bc()

浇水施肥

def qd():op()if nr['td'] != 0:# 获取今天(现在时间)today = datetime.datetime.today()today = str(today)today = today[0:10]if nr['lb'] != today:nr['lb'] = todaynr['ts'] += 1tkinter.messagebox.showinfo('提示', '打卡成功!')else:tkinter.messagebox.showinfo('提示', '今日你已打卡,明天再来吧!')gx()bc()

种植小麦或水稻

def mz():op()if nr['td'] == 0:nr['td'] = 1nr['lx'] = 1nr['jb'] -= 10tkinter.messagebox.showinfo('提示', '种植小麦成功!')else:tkinter.messagebox.showinfo('提示', '你的农田已种上农作物了!')gx()bc()def sd():op()if nr['td'] == 0:nr['td'] = 1nr['lx'] = 2nr['jb'] -= 8tkinter.messagebox.showinfo('提示', '种植水稻成功!')else:tkinter.messagebox.showinfo('提示', '你的农田已种上农作物了!')gx()bc()

赚金币

    def jb():op()nr['jb']+=nr['zjb']nr['jb']=int(nr['jb']*10)/10gx()bc()

打印数据

    def jb():op()nr['jb']+=nr['zjb']nr['jb']=int(nr['jb']*10)/10gx()bc()

金币商城

def jfsc1():op()jfsc()with open('./sjk/sjkjfsc.px', 'rb') as usr_file:m = pickle.load(usr_file)if m == 1:if nr['jb'] >= 80:nr['zjb'] *= 10nr['jb'] -= 50tkinter.messagebox.showinfo('提示', '兑换“赚金币速度x10”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m == 2:if nr['jb'] >= 80:nr['fb'] = 1nr['jb'] -= 50tkinter.messagebox.showinfo('提示', '兑换“收获翻倍一次”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m == 3:if nr['jb'] >= 100:nr['ts'] = 9nr['jb'] -= 50tkinter.messagebox.showinfo('提示', '兑换“快速种成”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m == 4:if nr['jb'] >= 10:zf = ''sum = 0for i in range(11):dz = random.randint(0, 9)zf += str(dz)sum += dzj = chr(sum % 10 + ord('A'))j1 = sum % 10zf = zf + str(j)nr['jb'] -= 5ax = [zf[0:3], zf[3:6], zf[6:9], zf[9:11] + str(j1)]zf1 = ''for i in ax:sum1 = 0for z in i:sum1 += int(z)if sum1 < 10:zf1 += str(sum1)else:zf1 += chr(sum1 - 10 + ord('A'))wj = []with open('./a.txt', "r") as fr:  # 以r形式打开文件for line in fr:wj.append(line.replace('\n', ''))file = open('.\\a.txt', 'w')file.write('\n'.join(wj) + '兑换码:' + zf + '\n校验码:' + zf1 + '\n\n')tkinter.messagebox.showinfo('提示', '兑换“epnswe劵”成功!花费5金币!兑换码:' + zf + ' 校验码:' + zf1)else:tkinter.messagebox.showinfo('提示', '金币不足!')gx()bc()

完整main.py代码

# -*- coding: utf-8 -*-
from jifen import *
from tkinter import *
import tkinter as tk
from tp import *
from dy import *
import os
import pickle
import random
import tkinter.messagebox
from PIL import Image,ImageTk
import datetime
import time as t
def main():global nrwindow = tk.Tk()window.title('种田')window.geometry('600x640')window.iconbitmap('.\\m.ico')tk.Label(window, text='田地:').place(x=10, y=10)jbz = StringVar()tk.Label(window, textvariable=jbz,text='金币:0').place(x=500, y=10)if os.path.exists('./sjk/sjk.px'):with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)print(nr)else:nr = {'td': 0,'lx': 0,'lb':0,'ts':0,'jb': 100,'zjb':0.1,'fb':0}with open('./sjk/sjk.px', 'wb') as usr_file:pickle.dump(nr, usr_file)def op():with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)print(nr)def bc():with open('./sjk/sjk.px', 'wb') as usr_file:pickle.dump(nr, usr_file)print(nr)def aa(dz):op()global img0photo = Image.open(dz)  photo = photo.resize((390, 595))  img0 = ImageTk.PhotoImage(photo)tk.Label(window,image=img0).place(x=10, y=30)bc()def cl():op()nr['td']=0nr['lx'] = 0nr['lb'] = 0nr['ts'] = 0nr['fb'] = 0gx()bc()def gx():op()if nr['td'] != 0:today = datetime.datetime.today()yesterday = today - datetime.timedelta(days=1)yesterday = str(yesterday)yesterday = yesterday[0:10]today = str(today)today = today[0:10]if (not ((nr['lb']==0) or( nr['lb']==yesterday or nr['lb']==today))):tkinter.messagebox.showerror('失败', '你的农作物已死亡!')cl()if nr['td']!=0:if nr['lx']==1:if nr['ts']!=0 and nr['ts']<=8:xmt('.\\zp\\xm\\xm' + str(nr['ts']) + '.png', '.\\sjk\\cs.png')elif nr['ts']>8:xmt('.\\zp\\xm\\xm8.png', '.\\sjk\\cs.png')else:xmt('.\\zp\\xm\\xm1.png', '.\\sjk\\cs.png')else:if nr['ts']!=0  and nr['ts']<=8:sdt('.\\zp\\sd\\sd' + str(nr['ts']) + '.png', '.\\sjk\\cs.png')elif nr['ts'] > 8:sdt('.\\zp\\sd\\sd8.png', '.\\sjk\\sd.png')else:sdt('.\\zp\\sd\\sd8.png', '.\\sjk\\sd.png')else:kj('.\\sjk\\cs.png')aa('.\\sjk\\cs.png')jbz.set('金币:'+str(nr['jb']))if nr['ts']==9:if(nr['lx']==1):tkinter.messagebox.showinfo('提示', '小麦已成熟,准备收割!')t.sleep(1)tkinter.messagebox.showinfo('提示', '小麦收割完毕!')if(nr['fb']==1):nr['jb']+=200else:nr['jb'] += 100cl()else:tkinter.messagebox.showinfo('提示', '水稻已成熟,准备收割!')t.sleep(1)tkinter.messagebox.showinfo('提示', '水稻收割完毕!')if (nr['fb'] == 1):nr['jb'] += 160else:nr['jb'] += 80cl()bc()gx()def qd():op()if nr['td']!=0:today = datetime.datetime.today()today = str(today)today = today[0:10]if nr['lb']!=today:nr['lb'] = todaynr['ts']+=1tkinter.messagebox.showinfo('提示', '打卡成功!')else:tkinter.messagebox.showinfo('提示', '今日你已打卡,明天再来吧!')gx()bc()def mz():op()if nr['td']==0:nr['td'] = 1nr['lx'] = 1nr['jb']-=10tkinter.messagebox.showinfo('提示', '种植小麦成功!')else:tkinter.messagebox.showinfo('提示', '你的农田已种上农作物了!')gx()bc()def sd():op()if nr['td']==0:nr['td'] = 1nr['lx'] = 2nr['jb'] -= 8tkinter.messagebox.showinfo('提示', '种植水稻成功!')else:tkinter.messagebox.showinfo('提示', '你的农田已种上农作物了!')gx()bc()def jb():op()nr['jb']+=nr['zjb']nr['jb']=int(nr['jb']*10)/10gx()bc()def dyht():op()dysj()gx()bc()def jfsc1():op()jfsc()with open('./sjk/sjkjfsc.px', 'rb') as usr_file:m = pickle.load(usr_file)if m==1:if nr['jb'] >= 80:nr['zjb'] *= 10nr['jb'] -= 50tkinter.messagebox.showinfo('提示', '兑换“赚金币速度x10”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m==2:if nr['jb']>=80:nr['fb'] = 1nr['jb']-=50tkinter.messagebox.showinfo('提示', '兑换“收获翻倍一次”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m==3:if nr['jb']>=100:nr['ts'] = 9nr['jb']-=50tkinter.messagebox.showinfo('提示', '兑换“快速种成”成功!花费50金币!')else:tkinter.messagebox.showinfo('提示', '金币不足!')if m == 4:if nr['jb']>=10:zf=''sum=0for i in range(11):dz=random.randint(0,9)zf+=str(dz)sum+=dzj=chr(sum%10+ord('A'))j1=sum%10zf=zf+str(j)nr['jb']-=5ax=[zf[0:3],zf[3:6],zf[6:9],zf[9:11]+str(j1)]zf1=''for i in ax:sum1=0for z in i:sum1+=int(z)if sum1<10:zf1+=str(sum1)else:zf1 +=chr(sum1-10+ord('A'))wj = []with open('./a.txt', "r") as fr:  # 以r形式打开文件for line in fr:wj.append(line.replace('\n', ''))file = open('.\\a.txt', 'w')file.write('\n'.join(wj)+'兑换码:'+zf+'\n校验码:'+zf1+'\n\n')tkinter.messagebox.showinfo('提示', '兑换“epnswe劵”成功!花费5金币!兑换码:'+zf+' 校验码:'+zf1)else:tkinter.messagebox.showinfo('提示', '金币不足!')gx()bc()bt_login = tk.Button(window, text='种麦子', command=mz)bt_login.place(x=430, y=355)bt_logquit = tk.Button(window, text='种水稻', command=sd)bt_logquit.place(x=510, y=355)bt_logquit = tk.Button(window, text='签到(浇水等)', command=qd)bt_logquit.place(x=430, y=175)bt_logquit = tk.Button(window, text='赚金币', command=jb)bt_logquit.place(x=430, y=265)bt_logquit = tk.Button(window, text='金币商城', command=jfsc1)bt_logquit.place(x=510, y=265)bt_logquit = tk.Button(window, text='打印后台数据', command=dyht)bt_logquit.place(x=430, y=445)window.mainloop()
main()

dy.py

引入库

import pickle
import win32api
import win32print
import random
import time
import os

打印函数

def dysj():with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)s=time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))sum = 0for i in s:sum += int(i)j = chr(sum % 10 + ord('A'))s = s + str(j)m=''for i in range(12):m1=''for j in range(60):m1+=str(random.randint(0, 1))m+=m1+'\n'h=['破译:','    open:','        with open(\'./sjk/sjk.px\', \'rb\') as usr_file:','            nr = pickle.load(usr_file)','    save:','        with open(\'./sjk/sjk.px\', \'wb\') as usr_file:','            pickle.dump(nr, usr_file)','Binary code:',m,'15位数据码:',s]a=['sjk.px:']for x,y in nr.items():a.append('  \''+x+'\':'+str(y))a+=ha='\n'.join(a)print(a)file = open('./sjk/hc.txt', 'w')file.write(a)current_path = os.path.abspath(__file__)father_path = os.path.abspath(os.path.dirname(current_path) + os.path.sep +'.')+ './sjk/hc.txt'win32api.ShellExecute(0, "print", father_path, '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0)return a

完整dy.py代码

import pickle
import win32api
import win32print
import random
import time
import os
def dysj():with open('./sjk/sjk.px', 'rb') as usr_file:nr = pickle.load(usr_file)s=time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))sum = 0for i in s:sum += int(i)j = chr(sum % 10 + ord('A'))s = s + str(j)m=''for i in range(12):m1=''for j in range(60):m1+=str(random.randint(0, 1))m+=m1+'\n'h=['破译:','    open:','        with open(\'./sjk/sjk.px\', \'rb\') as usr_file:','            nr = pickle.load(usr_file)','    save:','        with open(\'./sjk/sjk.px\', \'wb\') as usr_file:','            pickle.dump(nr, usr_file)','Binary code:',m,'15位数据码:',s]a=['sjk.px:']for x,y in nr.items():a.append('  \''+x+'\':'+str(y))a+=ha='\n'.join(a)print(a)file = open('./sjk/hc.txt', 'w')file.write(a)current_path = os.path.abspath(__file__)father_path = os.path.abspath(os.path.dirname(current_path) + os.path.sep +'.')+ './sjk/hc.txt'win32api.ShellExecute(0, "print", father_path, '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0)return a

jifen.py

引入库

import tkinter as tk
import pickle

积分商城函数

###这是旧版
'''
def jfsc():with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(0, usr_file)window1 = tk.Toplevel()window1.title('种田-金币商城')window1.geometry('300x200')window1.iconbitmap('.\\m.ico')global z,jbz=0jb=0def a():z=1with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)window1.quit()def b():z=2with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)window1.quit()def c():z=3with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)window1.quit()def d():z=4with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)window1.quit()bt_login = tk.Button(window1, text='赚金币速度x10\n50金币', command=a)bt_login.place(x=10, y=10)bt_logquit = tk.Button(window1, text='收获翻倍一次\n50金币', command=b)bt_logquit.place(x=110, y=10)bt_logquit = tk.Button(window1, text='快速种成\n50金币', command=c)bt_logquit.place(x=10, y=65)bt_logquit = tk.Button(window1, text='epnswe劵\n5金币', command=d)bt_logquit.place(x=80, y=65)window1.mainloop()
'''
###这是新版
# -*- coding: utf-8 -*-
import tkinter as tk
import pickle
s=0
def jfsc():global ss=0with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(0, usr_file)window1 = tk.Toplevel()window1.title('种田-金币商城')window1.geometry('300x200')window1.iconbitmap('.\\m.ico')global z,jbz=0jb=0def a():z=1with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def b():z=2with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def c():z=3with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def d():z=4with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1bt_login = tk.Button(window1, text='赚金币速度x10\n50金币', command=a)bt_login.place(x=10, y=10)bt_logquit = tk.Button(window1, text='收获翻倍一次\n50金币', command=b)bt_logquit.place(x=110, y=10)bt_logquit = tk.Button(window1, text='快速种成\n50金币', command=c)bt_logquit.place(x=10, y=65)bt_logquit = tk.Button(window1, text='epnswe劵\n5金币', command=d)bt_logquit.place(x=80, y=65)while 1:window1.update()if s==1:window1.destroy()break

完整 jifen.py代码

# -*- coding: utf-8 -*-
import tkinter as tk
import pickle
s=0
def jfsc():global ss=0with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(0, usr_file)window1 = tk.Toplevel()window1.title('种田-金币商城')window1.geometry('300x200')window1.iconbitmap('.\\m.ico')global z,jbz=0jb=0def a():z=1with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def b():z=2with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def c():z=3with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1def d():z=4with open('./sjk/sjkjfsc.px', 'wb') as usr_file:pickle.dump(z, usr_file)global ss=1bt_login = tk.Button(window1, text='赚金币速度x10\n50金币', command=a)bt_login.place(x=10, y=10)bt_logquit = tk.Button(window1, text='收获翻倍一次\n50金币', command=b)bt_logquit.place(x=110, y=10)bt_logquit = tk.Button(window1, text='快速种成\n50金币', command=c)bt_logquit.place(x=10, y=65)bt_logquit = tk.Button(window1, text='epnswe劵\n5金币', command=d)bt_logquit.place(x=80, y=65)while 1:window1.update()if s==1:window1.destroy()break

tp.py

小麦图

def xmt(zp,bc):from PIL import Imageimg = Image.new("RGBA", (780, 1190), (255, 255, 255))x=[30,180,330,480,630]y=[30,320,610,900]img1 = Image.open(zp)for i in x:for j in y:img.paste(img1, (i, j))img.save(bc, "PNG")

水稻图

def sdt(zp,bc):from PIL import Imageimg = Image.new("RGBA", (680, 660), (255, 255, 255))x=[30,160,290,420,530]y=[30,160,290,420]img1 = Image.open(zp)for i in x:for j in y:img.paste(img1, (i, j))img=img.resize((780, 1190), Image.ANTIALIAS)img.save(bc, "PNG")

空白

def kj(bc):from PIL import Imageimg = Image.new("RGBA", (780, 1190), (255, 255, 255))img.save(bc, "PNG")

完整tp.py代码

def xmt(zp,bc):from PIL import Imageimg = Image.new("RGBA", (780, 1190), (255, 255, 255))x=[30,180,330,480,630]y=[30,320,610,900]img1 = Image.open(zp)for i in x:for j in y:img.paste(img1, (i, j))img.save(bc, "PNG")
def sdt(zp,bc):from PIL import Imageimg = Image.new("RGBA", (680, 660), (255, 255, 255))x=[30,160,290,420,530]y=[30,160,290,420]img1 = Image.open(zp)for i in x:for j in y:img.paste(img1, (i, j))img=img.resize((780, 1190), Image.ANTIALIAS)img.save(bc, "PNG")
def kj(bc):from PIL import Imageimg = Image.new("RGBA", (780, 1190), (255, 255, 255))img.save(bc, "PNG")

扩展-种田十五位数据码验证

yz.py

import tkinter
from tkinter import ttk
from tkinter import *
import os
import picklewin = tkinter.Tk()
win.title('种田15位数据码')
win.geometry('400x190')
win.iconbitmap('.\\m.ico')
tkinter.Label(win,text='输入:').place(x=100, y=45)
zt = StringVar()
zt1=tkinter.Label(win, textvariable=zt,text='')
zt1.place(x=5, y=165)
db=tkinter.Entry(win, width=20)
db.place(x=100,y=65,height=23)
comvalue = tkinter.StringVar()
comboxlist = ttk.Combobox(win, textvariable=comvalue,width=3)
comboxlist["values"] = ('A','B','C','D','E','F','G','H','I','J')
comboxlist.current(0)
comboxlist.place(x=250, y=65)
def lr(): s=db.get()z=comboxlist.get()  try:if(len(s)==14):db.delete(0, "end")sum = 0for i in s:sum += int(i)j = chr(sum % 10 + ord('A'))if z==j:wj=[]if os.path.exists('./sjk/b.px'):with open('./sjk/b.px', 'rb') as usr_file:wj = pickle.load(usr_file)wj.append(s+z)with open('./sjk/b.px', 'wb') as usr_file:pickle.dump(wj, usr_file)zt.set('录入成功!')else:zt.set('录入失败!')else:zt.set('录入失败!')except:zt.set('录入失败!')
def sjk():window1 = tkinter.Tk()window1.title('数据库')window1.geometry('450x320')window1.iconbitmap('.\\m.ico')bz = tkinter.Text(window1)bz.place(x=10, y=10, width=430, height=275)s = tkinter.Entry(window1, width=30)s.place(x=50, y=290, height=23)def sx():wj = []if os.path.exists('./sjk/b.px'):with open('./sjk/b.px', 'rb') as usr_file:wj = pickle.load(usr_file)for i in range(len(wj)):wj[i] = str(i + 1) + ' ' + wj[i]bz.delete(1.0, "end")bz.insert('end', '\n'.join(wj))sx()def qk():with open('./sjk/b.px', 'wb') as usr_file:pickle.dump([], usr_file)sx()def sc():sz=s.get()sz=int(sz)if sz<0:with open('./sjk/b.px', 'rb') as usr_file:wj = pickle.load(usr_file)del wj[sz]with open('./sjk/b.px', 'wb') as usr_file:pickle.dump(wj, usr_file)else:with open('./sjk/b.px', 'rb') as usr_file:wj = pickle.load(usr_file)del wj[sz-1]with open('./sjk/b.px', 'wb') as usr_file:pickle.dump(wj, usr_file)s.delete(0,'end')sx()bt_login = tkinter.Button(window1, text='刷新', command=sx)bt_login.place(x=310, y=285)bt_login = tkinter.Button(window1, text='清空', command=qk)bt_login.place(x=270, y=285)bt_login = tkinter.Button(window1, text='删除', command=sc)bt_login.place(x=10, y=285)window1.mainloop()bt_login = tkinter.Button(win, text='录入', command=lr)
bt_login.place(x=180, y=120)
bt_login = tkinter.Button(win, text='数据库', command=sjk)
bt_login.place(x=345, y=155)
win.mainloop()

文件目录架构

完整代码下载

百度网盘

https://pan.baidu.com/s/1U7Tw8gv4EAh1ouBTJqM3Ng?pwd=esgn

exe版下载

百度网盘

https://pan.baidu.com/s/17JdNWPC4Mv2FPH5okhGiPw?pwd=m2mx

python 小游戏-种田-制作相关推荐

  1. Python小游戏——Pygame制作2048小游戏

    pygame之2048小游戏 初学python,发现看网上的python理论太过枯燥. 哎嘿~~干脆直接弄个小游戏叭,一边学习,一边写代码. 备注: 1.很多地方我尽量注解,方便大家观看. 2.完整代 ...

  2. python编的俄罗斯方块游戏_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

  3. python图形小游戏代码_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

  4. 寓教于乐——PyGame游戏编程,Python小游戏制作实战教学

    Python非常受欢迎的一个原因是它的应用领域非常广泛,其中就包括游戏开发.而是用Python进行游戏开发的首选模块就是PyGame. 1. 初识Pygame PyGame是跨平台Python模块,专 ...

  5. python小游戏代码200行左右,python编程小游戏代码

    大家好,本文将围绕python小游戏代码200行左右展开说明,小游戏程序代码python是一个很多人都想弄明白的事情,想搞清楚python编程小游戏代码需要先了解以下几个事情. 1.python简单小 ...

  6. Python 小游戏—加农炮送特朗普上太阳

    美股熔断历史上只发生过4次,上上次熔断和上一次熔断,还要追溯到2020年3月9日和2020年3月13日,那两天我的记忆很深刻,那感觉,仿佛就在几天前. 话又说回来了,特朗普可是说过狠话的: 这是在20 ...

  7. 边玩边学,30个Python小游戏(含源码)

    大家好,我是小F~ 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天我想跟大家分享30个P ...

  8. python小游戏——兔鼠大战

    python小游戏--兔鼠大战 一.准备环境:更改设置pip 国内镜像 在使用pycharm来制作小游戏写代码的时候需要编译环境,使用pip镜像源,由于pip管理工具安装库文件时,默认使用国外的源文件 ...

  9. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

最新文章

  1. 用Node.js 写web框架(番外)
  2. 《FPGA全程进阶---实战演练》第一章之如何学习FPGA
  3. AI与医学:AI预测结合医学案例应用——当基因编辑转角遇到AI
  4. 【AutoML】优化方法可以进行自动搜索学习吗?
  5. Spring Data JPA 从入门到精通~方法的查询策略的属性表达式
  6. How to Install Snapd and Snap applications on CentOS 7
  7. hadoop在windows上的环境配置及HDFS API编程示范
  8. PCIE原理-002:PCIE地址是如何映射的
  9. vc 星号密码查看方法
  10. [运算放大器]佛朗哥笔记 - 电阻性反馈电路 - 电流泵与电流放大器
  11. 多益网络2015校园招聘面试题目大揭秘
  12. qq邮箱如何在win10邮箱连接到服务器,Win10系统自带Mail应用添加QQ邮箱的方法
  13. 机器人螺栓拆装_一种带电作业机器人专用螺栓拆装固定装置的制作方法
  14. 加边的无向图(并查集)
  15. Android usb学习笔记:Android AOA协议Android端 流程总结
  16. 【CPU中的主要寄存器】
  17. 炼丹系列2: Stochastic Weight Averaging (SWA) Exponential Moving Average(EMA)
  18. UG\NX二次开发 调用NX命令 PostMessage
  19. Python练习实例——判断奇偶数
  20. Axure RP 9 最新版授权码

热门文章

  1. leetcode-994 模拟算法
  2. ArrayList 详解
  3. 普通话测试第四题评分标准_普通话水平测试最新评分标准
  4. dyanmics crm workflow 工作流发送邮件配置
  5. 深圳社保转移(跨省)杭州
  6. CentOS-VIM显示行号
  7. (附源码)springboot某高校绩效考核管理 毕业设计 012208
  8. AR中的Eye Box是什么
  9. 香港攻略 之 首次初次第一次去香港需要注意什么准备什么(仅供参考)
  10. python——字典生成工具