題目:用walli在螢幕上寫出指定的文字
思路:利用地圖,指引walli寫出文字。walli要有筆運動的軌跡。
方法:利用mapmake.py完成地圖製作,其中右鍵建立筆運動軌跡,左建為字的筆劃。執行walli.py,點選左鍵後walli會自動寫字。因為walli是按運動軌跡運動,所以在製作地圖時,要注意下筆順序。
具體**:
製作地圖:mapmake.py
#walli寫字:walli.py-*- coding: cp936 -*-
#@小五義
#右鍵畫出綠色的點,表示walli的運動軌跡,左鍵畫出紅色的點,表示字的筆劃。
import
pygame,sys,os
import
time
from pygame.locals import *pygame.init()
screencaption=pygame.display.set_caption('
hello world')
screen=pygame.display.set_mode((800, 600),fullscreen)
screen.fill([255,255,255])
width=10#
記錄每個格的寬度
height=10#
記錄每個格的高度
left=0
top=0
oldx=0
oldy=0
#判斷地**件是否存在
if os.path.isfile('
map.dat'):
os.remove(
'map.dat')
#畫出**
while top<601:
for i in range(800/10):
pygame.draw.rect(screen,[0,0,0],[left+i*10,top,width,height],1)
top+=10pygame.display.flip()
while
true:
for event in
pygame.event.get():
if (event.type==pygame.quit or (event.type==pygame.keydown and event.key==pygame.k_escape)):
sys.exit()
#這裡獲取滑鼠的按鍵情況
pressed_mouse =pygame.mouse.get_pressed()
if pressed_mouse[0]:#
按下左鍵
x, y =pygame.mouse.get_pos()
f=open('
map.dat
','a')
if ((x/10)*10)!=oldx or ((y/10)*10)!=oldy:
f.write(str((x/10)*10)+'
,'+str((y/10)*10)+'
,1\n')
oldx=((x/10)*10)
oldy=((y/10)*10)
f.close()
pygame.draw.rect(screen,[255,0,0],[(x/10)*10,(y/10)*10,width,height],0)
if pressed_mouse[2]:#
按下右鍵
x, y =pygame.mouse.get_pos()
f=open('
map.dat
','a')
if ((x/10)*10)!=oldx or ((y/10)*10)!=oldy:
f.write(str((x/10)*10)+'
,'+str((y/10)*10)+'
,0\n')
oldx=((x/10)*10)
oldy=((y/10)*10)
f.close()
pygame.draw.rect(screen,[0,255,0],[(x/10)*10,(y/10)*10,width,height],0)
pygame.display.update()
#兩張效果圖:-*- coding: cp936 -*-
#@小五義
#按照地圖畫出軌跡
記錄要畫的點
pygame.display.update()
while
true:
for event in
pygame.event.get():
if (event.type==pygame.quit or (event.type==pygame.keydown and event.key==pygame.k_escape)):
sys.exit()
pressed_mouse =pygame.mouse.get_pressed()
ifpressed_mouse[0]:
f=open('
map.dat
','r')
lines=f.readlines()
for i in
lines:##如果這句改為for i in lines[::-1]:會發現walli在倒著寫字
locationxy=i.split(','
) oldxy=[oldx,oldy]
screen.blit(my_zheban,oldxy)
if'1'
in locationxy[2]:
xy=[int(locationxy[0]),int(locationxy[1])]
time.sleep(0.051)
screen.blit(my_pic,xy)
for j in
goldxy:
screen.blit(my_yan,j)
pygame.display.update()
oldx=int(locationxy[0])
oldy=int(locationxy[1])
f.close()
電腦時代 你會不會寫字
南方 電腦時代 你會不會寫字 電腦時代,很多人習慣用鍵盤碼字,而不是用筆寫字,於是中華民族又到了危險的時刻,有教育家們擔心,我們下一代不會用筆,燦爛書法文化即將斷送在我等手 中,教育部既能傾聽民意,又擁有龐大資源,決定制定漢字書寫標準,像英語考級一樣,再來乙個漢字考級,呵呵,這不是搞笑,這確實是人家...
用電腦這麼久,你還會寫字麼?
阿拉伯數字 1 2 3 4 5 6 7 8 9 10 100 1000 10000 中文 一 二 三 四 五 六 七 八 九 十 百 千 萬 億 中文大寫 壹 貳 叄 肆 伍 陸 柒 捌 玖 拾 佰 仟 萬 億 元 圓 角 分 零 整 不 管是阿拉伯數字 1 2 3 還是所謂漢字小寫數碼 一 二 三...
總要學會寫的
逛了那麼多年csdn,卻沒試著寫什麼文章!今天若有所思,總要學會寫的。以前有計畫,然後按計畫一步一步做,這個習慣還算行吧!但是很容易忘記。是的,總結不夠。總結,自我反省也好,自我鼓勵也罷!總歸是在正視自己,了解很多人,很多事,但是卻不甚了解自己!現在發現其實清楚知道自己才最重要的,有人會說,連自己都...