導航:首頁 > 編程語言 > python游戲代碼20行

python游戲代碼20行

發布時間:2022-11-26 04:21:22

A. 有誰能幫我用python解一個題或者做個小游戲,題目自行設計,大概50行,

代碼如下:
>>> import commands

>>> dir(commands)
['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']
>>> commands.getoutput("date")
'Wed Jun 10 19:39:57 CST 2009'
>>>
>>> commands.getstatusoutput("date")
(0, 'Wed Jun 10 19:40:41 CST 2009')
注意: 當執行命令的參數或者返回中包含了中文文字,那麼建議使用subprocess,如果使用os.popen則會出現下面的錯誤:
代碼如下:
Traceback (most recent call last):

File "./test1.py", line 56, inmain()
File "./test1.py", line 45, in main
fax.sendFax()
File "./mailfax/Fax.py", line 13, in sendFax
os.popen(cmd)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 46-52: ordinal not inrange(128)

B. 20行python代碼秒取全套王者皮膚壁紙

前言

相信大家都玩過王者榮耀吧,資深玩家絕對買過皮膚,不得不誇wangzhe上實在是做得非常精美,深受廣大玩家的喜愛,特別是妹子就喜歡妲己、貂蟬這種非常好看的英雄,往往都會買皮膚,下面為大家介紹一個爬取王者榮耀所有英雄的皮膚壁紙吧,絕對是王者迷的最愛

下面就來看看實現的過程

導入基本庫

請求鏈接

獲取英雄皮膚列表

學習從來不是一個人的事情,要有個相互監督的夥伴,工作需要學習python或者有興趣學習python的夥伴可以私信回復我「學習」 獲取資料,一起學習

保存圖片

運行結果

C. 求Python大神給個200行左右的代碼,多點注釋,做期末大作業

#-*-coding:utf-8-*-

importcurses#引入curses模塊,curses是一個在Linux/Unix下廣泛應用的圖形函數庫.,作用是可以繪制在DOS下的用戶界面和漂亮的圖形。
fromrandomimportrandrange,choice#從random模塊引入randrange,choice這兩個類
#從collections引入defaultdict這個類

letter_codes=[ord(ch)forchin'WASDRQwasdrq']#ord函數是把字元轉換成對應的數字
actions=['Up','Left','Down','Right','Restart','Exit']#上,左,下,右,重啟,退出
actions_dict=dict(zip(letter_codes,actions*2))#把字母與動作對應起來。zip是把元組中的值對應起來。

#############################
WUp
ALeft
SDown
DRight
RRestart
QExit

wUp
aLeft
sDown
dRight
rRestart
QExit
##############################################
defget_user_action(keyboard):
char="N"#char的初始值為Nwhilecharnotinactions_dict:
char=keyboard.getch()returnactions_dict[char]#阻塞+循環,直到獲得用戶有效輸入才返回對應行為deftranspose(field):return[list(row)forrowinzip(*field)]#zip函數里邊加*號,是把行變列,列變行。所以這句代碼是行列轉置definvert(field):return[row[::-1]forrowinfield]#這句代碼是把列表前後顛倒classGameField(object):#創建一個叫做GameField的類,用來創建棋盤def__init__(self,height=4,width=4,win=2048):這個類三個參數self.height=height#高self.width=width#寬self.win_value=win#過關分數self.score=0#當前分數self.highscore=0#最高分self.reset()#重置棋盤defreset(self):#定義一個reset函數ifself.score>self.highscore:#如果當前分數大於最高分,那麼把當前分數賦值給最高分self.highscore=self.scoreself.score=0#當前分數恢復到0分self.field=[[0foriinrange(self.width)]forjinrange(self.height)]#橫縱坐標恢復到(0,0)self.spawn()#調用spawn這個函數self.spawn()defmove(self,direction):#定義move函數defmove_row_left(row):#向左移deftighten(row):#squeesenon-zeroelementstogether把零散的非零單元擠到一塊
new_row=[iforiinrowifi!=0]#如果i不等於零,把他們賦值到new_row這個元組中
new_row+=[0foriinrange(len(row)-len(new_row))]#其餘位置用0補充returnnew_row#返回這個元組defmerge(row):#定義merge函數,用來合並單元
pair=False#pair初始值為假
new_row=[]#new_row初始值為空foriinrange(len(row)):#讓i在格子里循環ifpair:如果pair為真
new_row.append(2*row[i])#那麼把把row【i】的值乘以2,追加到new_row後邊self.score+=2*row[i]#並且得分為row【i】的值乘以2
pair=False#pair重新賦值為假else:如果pair為真ifi+1<len(row)androw[i]==row[i+1]:#如果i+1還沒到邊界,並且此時的row【i】=row【i+1】
pair=True#那麼pair為真
new_row.append(0)#new_row後追加零else:
new_row.append(row[i])#否則追加row【i】
assertlen(new_row)==len(row)#提醒兩者長度一致returnnew_rowreturntighten(merge(tighten(row)))#反復合並,知道不能合並為止

moves={}
moves['Left']=lambdafield:
[move_row_left(row)forrowinfield]#做移動
moves['Right']=lambdafield:
invert(moves['Left'](invert(field)))#invert是逆轉
moves['Up']=lambdafield:
transpose(moves['Left'](transpose(field)))#transpose是轉置
moves['Down']=lambdafield:
transpose(moves['Right'](transpose(field)))ifdirectioninmoves:ifself.move_is_possible(direction):#如果移動方向在四個方向上,self.field=moves[direction](self.field)那麼調用moves函數self.spawn()#產生隨機數returnTrueelse:returnFalsedefis_win(self):returnany(any(i>=self.win_valueforiinrow)forrowinself.field)defis_gameover(self):returnnotany(self.move_is_possible(move)formoveinactions)defdraw(self,screen):
help_string1='(W)Up(S)Down(A)Left(D)Right'
help_string2='(R)Restart(Q)Exit'
gameover_string='GAMEOVER'
win_string='YOUWIN!'defcast(string):
screen.addstr(string+' ')defdraw_hor_separator():
line='+'+('+------'*self.width+'+')[1:]
separator=defaultdict(lambda:line)ifnothasattr(draw_hor_separator,"counter"):
draw_hor_separator.counter=0
cast(separator[draw_hor_separator.counter])
draw_hor_separator.counter+=1defdraw_row(row):
cast(''.join('|{:^5}'.format(num)ifnum>0else'|'fornuminrow)+'|')

screen.clear()
cast('SCORE:'+str(self.score))if0!=self.highscore:
cast('HGHSCORE:'+str(self.highscore))forrowinself.field:
draw_hor_separator()
draw_row(row)
draw_hor_separator()ifself.is_win():
cast(win_string)else:ifself.is_gameover():
cast(gameover_string)else:
cast(help_string1)
cast(help_string2)defspawn(self):
new_element=4ifrandrange(100)>89else2
(i,j)=choice([(i,j)foriinrange(self.width)forjinrange(self.height)ifself.field[i][j]==0])self.field[i][j]=new_elementdefmove_is_possible(self,direction):defrow_is_left_movable(row):
defchange(i):#trueifthere'llbechangeini-thtileifrow[i]==0androw[i+1]!=0:#MovereturnTrueifrow[i]!=0androw[i+1]==row[i]:#(change(i)foriinrange(len(row)-1))

check={}
check['Left']=lambdafield:
any(row_is_left_movable(row)forrowinfield)

check['Right']=lambdafield:
check['Left'](invert(field))

check['Up']=lambdafield:
check['Left'](transpose(field))

check['Down']=lambdafield:
check['Right'](transpose(field))ifdirectionincheck:returncheck[direction](self.field)else:returnFalsedefmain(stdscr):definit():#重置游戲棋盤
game_field.reset()return'Game'defnot_game(state):#畫出GameOver或者Win的界面
game_field.draw(stdscr)#讀取用戶輸入得到action,判斷是重啟游戲還是結束游戲
action=get_user_action(stdscr)
responses=defaultdict(lambda:state)#默認是當前狀態,沒有行為就會一直在當前界面循環
responses['Restart'],responses['Exit']='Init','Exit'#對應不同的行為轉換到不同的狀態returnresponses[action]defgame():#畫出當前棋盤狀態
game_field.draw(stdscr)#讀取用戶輸入得到action
action=get_user_action(stdscr)ifaction=='Restart':return'Init'ifaction=='Exit':return'Exit'ifgame_field.move(action):#movesuccessfulifgame_field.is_win():return'Win'ifgame_field.is_gameover():return'Gameover'return'Game'


state_actions={'Init':init,'Win':lambda:not_game('Win'),'Gameover':lambda:not_game('Gameover'),'Game':game
}

curses.use_default_colors()
game_field=GameField(win=32)


state='Init'#狀態機開始循環whilestate!='Exit':
state=state_actions[state]()

curses.wrapper(main)

D. 拜託誰給我發一個python 代碼, 是關於數學類的小游戲,拜託了!

Ubuntu下的,不知和powershell有區別沒

#!/usr/bin/python
# Filename: guessTheNumber.py
import random

target = random.randint(1,100)

while True:
guess = int(raw_input('Enter an integer:'))
if(guess==target):
print 'You caught the target.'
break
elif guess < target:
print 'a little higher than that.'
else:
print 'a little lower than that'

E. 100行Python代碼,輕松完成貪吃蛇小游戲

你是想讓我們向你提問題?你這個放錯地方了,應該發布到自己的博客或論壇上面才對

F. 這段python 3代碼報出invalid syntax,在第20行報出,找不出原因,求大神指點

invalid syntax意思是語法錯誤,請檢查你的縮進排版,還有標點符號是否為英文半形,或者括弧漏了或者多了,其實幫nirx檢查出來了,是少了個括弧,是定義類時的最後一個print少了個括弧,別忘了採納,謝謝

G. python 編寫一個彩票游戲

按照題目要求編寫的Python程序如下

import random

numlist=random.sample(range(0,10),5)

while numlist[0]==0:

numlist=random.sample(range(0,10),5)

num=int(''.join([str(i) for i in numlist]))

inputnum=int(input("輸入號:"))

bonus=0

count=0

if inputnum==num:

bonus=10000

else:

for i in set(str(inputnum)):

if int(i) in numlist:

count+=1

bonus=1000*count

print("彩票號:%d" % num)

print("獎金:%d元" % bonus)

源代碼(注意源代碼的縮進)

H. 好玩的python代碼示例

import random

while True:
# 出拳
punches = ['石頭','剪刀','布']
computer_choice = random.choice(punches)
user_choice = ''
user_choice = input('請出拳:(石頭、剪刀、布)') # 請用戶輸入選擇
while user_choice not in punches: # 當用戶輸入錯誤,提示錯誤,重新輸入
print('輸入有誤,請重新出拳')
user_choice = input()

# 亮拳
print('————戰斗過程————')
print('電腦出了:%s' % computer_choice)
print('你出了:%s' % user_choice)

# 勝負
print('—————結果—————')
if user_choice == computer_choice: # 使用if進行條件判斷
print('平局!')
# 電腦的選擇有3種,索引位置分別是:0石頭、1剪刀、2布。
# 假設在電腦索引位置上減1,對應:-1布,0石頭,1剪刀,皆勝。
elif user_choice == punches[punches.index(computer_choice)-1]:
print('你贏了!')
else:
print('你輸了!')
a1 = input('要繼續游戲嗎,請輸入n退出,輸入其他繼續:') # 在 while True 循環中設置跳出條件。
if a1 == 'n':
break
else:
print('---------next game------- are you ready???')

I. 求一段python代碼,其功能是刪除記事本的前20行。

可以這樣,用readlines()讀取所有數據,del lists[20:] 刪除前20行數據
在進行覆蓋寫入
如果不做其他操作,可以用二進制讀取寫入,速度會更快一些

J. 寫一個20行以上的python簡單代碼

classPrice:
ticket_d=100
ticket_w=ticket_d*1.2
defrq(self):
self.a=int(input('請輸入是平日還是周末(平日:1/周末:0):'))
ifself.a==0:
self.p=self.ticket_w
ifself.a==1:
self.p=self.ticket_d
defpj(self):
input('請輸入是人數'+' ')
self.ad=int(input('大人數量:'))
self.ch=int(input('兒童數量:'))
self.money=self.p*self.ad+self.p*self.ch/2
print('%f'%self.money)

classTicket():
def__init__(self,weekend=False,child=False):
self.exp=100
ifweekend:
self.inc=1.2
else:
self.inc=1
ifchild:
self.discount=0.5
else:
self.discount=1
defcalcPrice(self,num):
returnself.exp*self.inc*self.discount*num

alt=Ticket()
child=Ticket(child=True)
print("2個成人+1個小孩平日票價為:%.2f"%(alt.calcPrice(2)+child.calcPrice(1)))

閱讀全文

與python游戲代碼20行相關的資料

熱點內容
安卓諾基亞質量怎麼樣 瀏覽:67
有沒有不懂英文的程序員 瀏覽:985
hhkb鍵盤適用程序員嗎 瀏覽:871
室內設計pdf下載 瀏覽:3
同步助手app文件夾 瀏覽:966
pythontofile 瀏覽:279
我的世界中國版創造伺服器地址 瀏覽:671
rs232與單片機連接 瀏覽:563
程序員培訓機構感覺很坑 瀏覽:160
編譯器腳本意思 瀏覽:326
apachelinux配置代理 瀏覽:294
程序員的命運會怎樣 瀏覽:663
看逗逗App怎麼樣 瀏覽:445
新英朗壓縮比 瀏覽:297
代購幫app的錢怎麼提現 瀏覽:338
android藍牙可見 瀏覽:360
python游戲編程入門pdf 瀏覽:701
深金融app是干什麼的 瀏覽:611
程序員公園倒立 瀏覽:384
工作應酬吃辣片緩解壓力嗎 瀏覽:427