條的大佬們,我又來了,今天做個小東西,用CSS3做一個骰子玩一玩,具體的代碼我全貼出來了,你們自己也試試。
這里還是要說一下我自己建的前端javascript學習群:204436223,不說別的,能進我群的沒兩把刷子怎么可能呢,當然小白我也挺歡迎,畢竟整天有人大神大神的叫,哈哈,也挺爽,不定期分享干貨。想學到東西的都可以來,歡迎初學和進階中的小伙伴
抽獎或游戲之類的動畫很多時候用到擲骰子,一般采用gif圖片格式實現動畫效果。gif圖片占內存較大,用戶體驗不好,下面用css3實現的擲骰子效果,骰子點數、面和轉動效果都是有css,css3完成的。
效果圖如下
制作過程如下:
一、制作六個面,如下圖:
完全用css寫出來,為了使其更加真實,可以讓點數的圓圈加一些陰影,這一步比較簡單。
二、將六個面拼成一個骰子
這一步需要用到css3的transform中rotate和translate。下面的css代碼會纖細講到。
三、讓骰子動起來
這一步需要用到css3的animation。詳細看下面css代碼。
1.模板如下:
2.css
最后,我還要說一個問題,最近老有初學者問我,學前端要會英語嗎??要數學很好嗎?如果是的我不學了,在這里我可以告訴大家,英語和數學只能決定你的高度,和學習的能力,并不是說你英語和數學不好,前端就學不好。
ython是一種通用的編程語言,可以用于創建桌面應用程序、3D圖形、視頻游戲,甚至是網站。它是一種很棒的第一編程語言,因為它很容易學習,而且比復雜的語言(如C、C++或Java)更簡單。Python的強大和健壯足以創建高級應用程序,而且幾乎在所有使用計算機的行業中都在使用它。這使得Python成為老少皆宜的語言,無論您是否有編程經驗。
安裝Python
在學習Python之前,您可能需要安裝它。
1)Linux:如果您使用Linux,則已經包含Python,但是請確保您具有Python 3。要檢查安裝的版本,請打開一個終端窗口,然后鍵入:
python3 -V
如果找不到該命令,則需要從程序包管理器中安裝Python 3。
2)MacOS:如果你使用的是Mac,按照上面的Linux操作系統說明來看看你是否安裝了Python 3。MacOS沒有內置的包管理器,所以如果沒有找到python3,就從python.org/downloads/mac-osx安裝它。雖然macOS已經安裝了python2,但是您應該學習python3。
3)Windows:微軟Windows目前不支持Python。從python.org/downloads/windows安裝它。確保在安裝向導中選擇Add Python to PATH。
運行IDE
要使用Python編寫程序,您真正需要的只是一個文本編輯器,但是擁有集成開發環境(IDE)會很方便。IDE將文本編輯器與一些友好且有用的Python功能集成在一起。IDLE 3和NINJA-IDE是要考慮的兩個選項。
IDLE 3
Python帶有一個稱為IDLE的基本IDE。
它具有關鍵字突出顯示以幫助檢測輸入錯誤,并具有“運行”按鈕以快速,輕松地測試代碼。要使用它:
在Linux或macOS上,啟動終端窗口并鍵入idle3。
在Windows上,從“開始”菜單啟動Python 3。
1)如果在“開始”菜單中沒有看到Python,請在“開始”菜單中鍵入cmd來啟動Windows命令提示符,然后鍵入C:\Windows\py.exe。
2)如果這樣不起作用,請嘗試重新安裝Python。確保在安裝向導中選擇“將Python添加到PATH”。請參閱docs.python.org/3/using/windows.html以獲得詳細說明。
3)如果還是不行,那就使用Linux。它是免費的,只要你把你的Python文件保存到u盤,你甚至不需要安裝它來使用它。
Ninja-IDE
Ninja-IDE是出色的Python IDE。它具有關鍵字突出顯示功能,可幫助檢測拼寫錯誤,引號和括號是否完整,從而避免語法錯誤,行號(調試時很有用),縮進標記以及“運行”按鈕來快速輕松地測試代碼。
要使用它:
1)安裝Ninja-IDE。如果您使用的是Linux,最簡單的方法就是使用軟件包管理器;否則,請從NINJA-IDE的網站下載正確的安裝程序版本。
2)啟動Ninja-IDE。
3)轉到“Edit”菜單,然后選擇“Preferences”。
4)在“Preferences”窗口中,單擊“Execution”選項卡。
5)在“ Execution”選項卡中,將python更改為python3。
告訴Python要做什么
關鍵字(Keywords)告訴Python您想要它做什么。在“IDLE”或“Ninja”中,轉到“File”菜單并創建一個新文件。Ninja用戶:不要創建新項目,而要創建一個新文件。
在新的空文件中,將其鍵入IDLE或Ninja:
print("Hello world.")
1)如果使用的是IDLE,請轉到“Run”菜單,然后選擇“Run module”選項。
2)如果使用的是Ninja,請單擊左側按鈕欄中的“Run File”按鈕。
關鍵字print告訴Python打印出您在括號和引號中輸入的所有文本。
但這并不令人興奮。在其核心,Python只能訪問基本的關鍵字,如print、help、基本數學函數等。
使用import關鍵字可以加載更多關鍵字。在IDLE或Ninja中啟動一個新文件,并將其命名為pen.py。
警告:請勿調用文件turtle.py,因為turtle.py是包含您要控制的turtle程序的文件的名稱。命名文件turtle.py會使Python感到困惑,因為它會認為您想導入自己的文件。
將此代碼鍵入您的文件,然后運行它:
import turtle
Turtle是一個有趣的模塊。將此添加到您的文件:
turtle.begin_fill()
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.end_fill()
看看您可以使用turtle模塊繪制哪些形狀。
要清除烏龜繪圖區域,請使用turtle.clear()關鍵字。您認為關鍵字turtle.color("blue")有什么用?
嘗試更復雜的代碼:
import turtle as t
import time
t.color("blue")
t.begin_fill()
counter=0
while counter < 4:
t.forward(100)
t.left(90)
counter=counter+1
t.end_fill()
time.sleep(2)
一旦您運行了您的腳本,就到了探索更好的模塊的時候了。
通過制作游戲學習Python
要了解更多關于Python如何工作的知識,并為使用圖形進行更高級的編程做準備,讓我們將重點放在游戲邏輯上。在本教程中,我們還將了解一些關于計算機程序是如何通過創建一個基于文本的游戲來構建的,在這個游戲中,計算機和玩家擲一個虛擬骰子,擲得最高的一方獲勝。
規劃游戲
在編寫代碼之前,重要的是要考慮要編寫什么。許多程序員在開始編寫代碼之前編寫簡單的文檔,因此他們有一個編程目標。如果您隨游戲一起提供了文檔,則骰子程序的外觀如下:
1)開始擲骰子游戲,按Return或Enter鍵開始擲骰子。
2)結果將顯示在屏幕上。
3)系統將提示您再次擲骰子或退出。
這是一個簡單的游戲,但是文檔向您介紹了許多您需要做的事情。例如,它告訴您需要以下組件來編寫此游戲:
1)玩家:你需要一個人來玩這個游戲。
2)AI:計算機也必須擲骰子,否則玩家無人贏或輸。
3)隨機數:常見的六面骰子呈現1到6之間的隨機數。
4)運算符:簡單的數學運算可以比較一個數字和另一個數字,看哪個數字高。
5)輸贏信息。
6)提示重新玩或退出。
制作骰子游戲alpha
很少有程序一開始就具備所有的功能,所以第一個版本只實現了基本的功能。首先是幾個定義:
變量是可以更改的值,在Python中經常使用它們。每當您需要程序記住某些內容時,就使用變量。實際上,幾乎所有與代碼一起使用的信息都存儲在變量中。例如,在數學方程x + 5=20中,變量是x,因為字母x是值的占位符。
integer是數字;它可以是正數或負數。例如,1和-1都是整數。14、21甚至10947也是如此。
Python中的變量易于創建且易于使用。骰子游戲的初始版本使用兩個變量:player和ai。
在名為dice_alpha.py的新文本文件中鍵入以下代碼:
import random
player=random.randint(1,6)
ai=random.randint(1,6)
if player > ai :
print("You win") # notice indentation
else:
print("You lose")
啟動游戲以確保其正常運行。
這個基本版的骰子游戲運行得很好。它完成了游戲的基本目標,但感覺并不像游戲。玩家永遠不知道他們擲出了什么,也不知道電腦擲出了什么,即使玩家想再玩一次,游戲也會結束。
這在軟件的第一個版本(稱為alpha版本)中很常見。既然您對完成主要部分(滾動骰子)很有信心,現在就可以將其添加到程序中了。
改進游戲
在游戲的第二個版本(稱為Beta版)中,進行了一些改進,使其看起來更像游戲。
1)描述結果
比起僅僅告訴玩家他們贏了還是沒贏,如果他們知道自己贏了什么就更有趣了。試著對你的代碼做如下修改:
player=random.randint(1,6)
print("You rolled " + player)
ai=random.randint(1,6)
print("The computer rolled " + ai)
如果您現在運行游戲,它將崩潰,因為Python認為認為您正在嘗試添加字母“ You roll”以及當前在player變量中存儲的任何數字。
您必須告訴Python將player和ai變量中的數字視為句子中的單詞(字符串),而不是數學方程式中的數字(整數)。
對您的代碼進行以下更改:
player=random.randint(1,6)
print("You rolled " + str(player) )
ai=random.randint(1,6)
print("The computer rolled " + str(ai) )
立即運行游戲以查看結果。
2)放慢速度
電腦很快,人類有時也會很快,但在游戲中,制造懸念往往更好。您可以使用Python的time函數在懸念部分降低游戲速度。
import random
import time
player=random.randint(1,6)
print("You rolled " + str(player) )
ai=random.randint(1,6)
print("The computer rolls...." )
time.sleep(2)
print("The computer has rolled a " + str(player) )
if player > ai :
print("You win") # notice indentation
else:
print("You lose")
啟動您的游戲以測試您的更改。
3)檢測平局
如果您玩夠了游戲,您會發現,即使您的游戲看似正常運行,它實際上也存在一個錯誤:當玩家和計算機擲相同的數字時,它不知道該怎么辦。
要檢查一個值是否等于另一個值,Python使用==。這是兩個等號,而不是一個。如果您只使用一個=,Python會認為您在嘗試創建一個新變量,但實際上您是在嘗試進行數學運算。
當你想要有多于兩個選擇的時候,你可以使用Python的關鍵字elif,它的意思是else if。這允許您的代碼檢查某些結果是否為真,而不只是檢查一件事是否為真。
像這樣修改您的代碼:
if player > ai :
print("You win") # notice indentation
elif player==ai:
print("Tie game.")
else:
print("You lose")
啟動你的游戲幾次,看看你是否可以和電腦平局。
編寫最終版本的程序
骰子游戲的beta版本具有功能性,與alpha版本相比,它更像是一款游戲。
函數是可以作為獨立單元調用的代碼集合。函數很重要,因為大多數應用程序都有很多代碼,但并不是所有代碼都必須同時運行。函數使啟動應用程序和控制什么時候發生什么成為可能。
將您的代碼更改為此:
import random
import time
def dice():
player=random.randint(1,6)
print("You rolled " + str(player) )
ai=random.randint(1,6)
print("The computer rolls...." )
time.sleep(2)
print("The computer has rolled a " + str(ai) )
if player > ai :
print("You win") # notice indentation
else:
print("You lose")
print("Quit? Y/N")
cont=input()
if cont=="Y" or cont=="y":
exit()
elif cont=="N" or cont=="n":
pass
else:
print("I did not understand that. Playing again.")
此版本的游戲詢問玩家是否希望在玩完游戲后退出游戲。如果他們以Y或y響應,則會調用Python的exit函數,然后退出游戲。
更重要的是,您已經創建了自己的名為dice的函數。骰子功能不會立即運行。實際上,如果您在此階段嘗試游戲,它不會崩潰,但也不能完全運行。為了使dice函數真正起作用,您必須在代碼中調用它。
將此循環添加到現有代碼的底部。前兩行僅用于上下文,強調縮進和不縮進的內容。密切注意縮進。
else:
print("I did not understand that. Playing again.")
# main loop
while True:
print("Press return to roll your die.")
roll=input()
dice()
While True代碼塊首先運行。因為從定義上講True始終為true,所以此代碼塊始終運行,直到Python告訴它退出為止。
而True代碼塊是一個循環。它首先提示用戶開始游戲,然后調用您的骰子功能。 游戲就是這樣開始的。當骰子功能結束時,循環將再次運行或退出,具體取決于玩家如何回答提示。
使用循環運行程序是編寫應用程序最常見的方法。該循環確保應用程序保持打開狀態足夠長的時間,以使計算機用戶可以使用應用程序中的功能。
天習題任務
一、Python 平方根
教程網址https://www.runoob.com/python3/python3-square-root.html
def sq(a):
c=a**0.5
return c
a=float(input('請輸入:',))
print('數字 {0} 的平方根: {1}'.format(a, sq(a)))
二、Python 隨機丟色子,看看數據如何
import random
for i in range(1,21):
a=random.randint(1,6)
print('隨機數為',a)
我們使用了 random 模塊的 randint() 函數來生成隨機數,randint函數包含括號內兩邊的數.
又將程序完善了下,加了序列,特別需要提醒的是,i 需要指定是不是字符串,用str(i)定義好
import random
for i in range(1,21):
a=random.randint(1,6)
print(str(i)+'.隨機數為',a)
三、Python 建個文本文件,讀取文本文件
*請認真填寫需求信息,我們會在24小時內與您取得聯系。