網(wǎng)上有很多關于pos機領取源碼,附多份游戲源碼的知識,也有很多人為大家解答關于pos機領取源碼的問題,今天pos機之家(m.dsth100338.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
1、pos機領取源碼
pos機領取源碼
導語說到童年愛玩的電腦游戲,你會想到什么?
最國民的莫過于金山打字通,接著是掃雷、紅心大戰(zhàn),而紅極一時的單機游戲當屬《大富翁》。
嘻嘻 打字游戲——掃雷這是之前都已經(jīng)給大家寫過的游戲啦~SO 剩下《大富翁》游戲。
今天來給大家大顯身手一波——
作為一款經(jīng)典的強手棋類游戲,“大富翁”系列在長達十幾年的時間內(nèi)長盛不衰,從2代開始走紅,3
代成為了大哥大,4代創(chuàng)造了回合制游戲的顛峰,5代開啟了網(wǎng)絡聯(lián)機對戰(zhàn)……至今,華語大富翁類
游戲怕是沒幾個能超越大富翁系列的高光時刻了。
而擲骰子、開寶箱、跳格子,成了大多數(shù)80、90后的童年記憶,幾個好友擠在一起,等著自己扔骰
子買地建房,孫小美、阿土伯、金貝貝、沙隆巴斯、錢夫人、莎拉公主……這些可愛的游戲人物,
陪著我們度過了一個又一個愉快的時光。好啦,廢話說得有點兒多撒,一時刻剎不住腳了。
來來來 我們正式開始吧!?
正文一、大富翁之旅嘿嘿!元宵啦,有沒有小伙伴兒來長沙浪一浪吖?
今天這款《大富翁》小游戲是基于長沙著名景點所作的撒、可以看到,地圖上鑲嵌進了 8 個長沙的
標志性地點,按 照從上往下、從左往右的順序依次為西站、世界之窗、五一廣場、橘子洲、植物園
園、博物館、岳麓書院、岳麓山。當玩家到達這些 地點時,便會觸發(fā)相應的特殊事件。
二、特殊事件1)觸發(fā)的特殊事件如下:西站:玩家經(jīng)過西站時會停留休息一天,即一 回合不能擲骰子,作為回報,該玩家 GPA 上升 0.2。
世界之窗:玩家經(jīng)過世界之窗時會玩兒一天,即一回合不能進入 擲骰子。
五一廣場:玩家經(jīng)過五一廣場時會體驗一次幫忙充場跑跑業(yè)務, 金錢增加 500,GPA 下降 1.0。
橘子洲:玩家經(jīng)過 橘子洲時會口渴買茶顏跟吃的,金 錢減少 100。
植物園:玩家經(jīng)過植物園時會買票觀看演出,金錢減 少 200。
博物館:玩家經(jīng)過博物館時突然記起來在世界之窗掉東西, 即直接傳送到世界之窗,且是一個回合
不能擲骰子。
岳麓山:玩家經(jīng)過岳麓山時會看到最美風景,身、心收到鼓舞,GPA 上升 0.3。
2)游戲規(guī)則:作為一款大富翁游戲,“長沙之旅”保留了傳統(tǒng)大富翁游 戲的機制,即通過買地建房賺取金錢,某玩
家金錢耗盡即宣 布破產(chǎn),游戲結束。
在此基礎上,為了更多地體現(xiàn)出多種元素 素,游戲中每個角色的實力除了財產(chǎn)之外,還有另一個衡量
量 標準——GPA。當某位玩家的 GPA 達到 4.0 時,游戲結束, 該玩家獲勝;GPA 達到 1.0 時,
游戲結束,該玩家失敗。本游戲可以支持 2~4 人的玩法,為玩家準備的 4 位可愛 的游戲角色哦!
三、代碼演示1)環(huán)境素材2)運行環(huán)境環(huán)境安裝 本文用到的運行環(huán)境:Python3.7、Pycharm社區(qū)版2020、pygame游戲模塊部分自帶模塊直 接導入
不需要安裝。(如果需要安裝軟件、激活碼或者遇到問題的話可以私信我哈?。?/p>
模塊安裝:pip install -i https://pypi.douban.com/simple/ +模塊名
3)主程序import pygameimport sysimport timefrom draw import Button, draw_text, draw_mapstatus, draw_playerfrom game import *from player import Playerpygame.init()screen_size = (1080, 680) # 第一個是寬度,第二個是高度role_size = (60, 60)screen = pygame.display.set_mode(screen_size)pygame.display.set_caption("大富翁——長沙之旅")map_screen = pygame.image.load('image/地圖.bmp')stop_picture = pygame.image.load('image/禁止.jpg')stop_picture = pygame.transform.scale(stop_picture, (20, 20))lose_sound = pygame.mixer.Sound('sound/失敗.wav') # 載入音效win_sound = pygame.mixer.Sound('sound/勝利.wav')up_sound = pygame.mixer.Sound('sound/升級.wav')click_sound = pygame.mixer.Sound('sound/按鍵.wav')chances_sound = pygame.mixer.Sound('sound/事件.wav')picture_dice = []for i in range(6): picture_dice.append(pygame.image.load('image/dice/%d.jpg'%(i+1)))map_screen = pygame.transform.scale(map_screen, screen_size)screen.blit(map_screen, (0, 0))play_button = Button(screen, '開始游戲') # 繪制開始游戲按鈕play_button.draw_button()status = 0 # 控制游戲進程 0:游戲未開始 1:選擇游戲人數(shù) 2:擲骰子 3:玩家行走 4:觸發(fā)事件 5:買地建房 6:游戲結束cur_player = 0 # 當前玩家dice_answer = 1 # 擲骰子結果player = []role = []local_init = [0, 20, 12, 32] # 四位玩家最初的位置map_status = []for i in range(8): map_status.append(Map(i)) # 存儲地產(chǎn)信息,包括所有者、價值、租金等while True: if status == 0: # 游戲未開始 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.MOUSEBUTTONDOWN: (mouse_x, mouse_y) = event.pos #print(mouse_x, mouse_y) if click_button(mouse_x, mouse_y, 0): click_sound.play() num_player_button = Button(screen, '請輸入游戲人數(shù)(2~4)') num_player_button.draw_button() draw_text(screen, (540, 440), '操作指南:按↑擲骰子、購買地產(chǎn)', 50, 'STXINGKA.TTF', pygame.Color('gold')) status = 1 pygame.display.update() elif status == 1: # 選擇游戲人數(shù) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: if 258 <= event.key <= 260 or 50 <= event.key <= 52: #載入相應數(shù)量的角色 click_sound.play() role.append(pygame.image.load('image/role/小e.jpg')) role.append(pygame.image.load('image/role/皮卡丘.jpg')) if event.key == 259 or event.key == 51: role.append(pygame.image.load('image/role/可達鴨.jpg')) elif event.key == 260 or event.key == 52: role.append(pygame.image.load('image/role/可達鴨.jpg')) role.append(pygame.image.load('image/role/小黃雞.jpg')) screen.blit(map_screen, (0, 0)) for i in range(len(role)): #初始化游戲玩家 role[i] = pygame.transform.scale(role[i], role_size) player.append(Player(i)) player[i].local = local_init[i] draw_player(screen, player, role, stop_picture) status = 2 elif status == 2: #擲骰子 for i in range(6): # 繪制骰子動畫 screen.blit(picture_dice[i], (500, 400)) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: if event.key == 273: dice_answer = get_dice() status = 3 pygame.display.update() elif status == 3: #玩家行走 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() for i in range(dice_answer): screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) player[cur_player].local = (player[cur_player].local + 1) % 40 draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) click_sound.play() pygame.display.update() time.sleep(0.5) if Special(player[cur_player].local): #判斷是否觸發(fā)特殊事件 status = 4 else: # 普通地段,判斷需要買地或交租金 local = player[cur_player].local if map_status[local2order(local)].owner == -1: chances_sound.play() draw_text(screen, (800, 340), '是否買下這塊地?(¥%d)' % map_status[local2order(local)].value1, 30, 'STXINGKA.TTF', pygame.Color('grey')) status = 5 elif map_status[local2order(local)].owner == cur_player and map_status[local2order(local)].level == 1: chances_sound.play() draw_text(screen, (800, 340), '是否要加蓋建筑?(¥%d)' % map_status[local2order(local)].value2, 30, 'STXINGKA.TTF', pygame.Color('grey')) status = 5 elif map_status[local2order(local)].owner == cur_player and map_status[local2order(local)].level == 2: cur_player = (cur_player + 1) % len(player) # 下一個玩家擲骰子 while player[cur_player].stop == 1: player[cur_player].stop = 0 cur_player = (cur_player + 1) % len(player) status = 2 else: if map_status[local2order(local)].level == 1: player[cur_player].money -= map_status[local2order(local)].rent1 player[map_status[local2order(local)].owner].money += map_status[local2order(local)].rent1 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '支付租金(¥%d)' % map_status[local2order(local)].rent1, 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif map_status[local2order(local)].level == 2: player[cur_player].money -= map_status[local2order(local)].rent2 player[map_status[local2order(local)].owner].money += map_status[local2order(local)].rent2 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '支付租金(¥%d)' % map_status[local2order(local)].rent2, 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() cur_player = (cur_player + 1) % len(player) # 下一個玩家擲骰子 while player[cur_player].stop == 1: player[cur_player].stop = 0 cur_player = (cur_player + 1) % len(player) if not game_over(player) == 0: if game_over(player) > 0: win_sound.play() else: lose_sound.play() status = 6 else: status = 2 pygame.display.update() elif status == 4: #觸發(fā)特殊事件 if player[cur_player].local == 5: #C樓 player[cur_player].money -= 100 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '去橘子洲購物,金錢-100', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 11: #紫操 player[cur_player].money += 100 if full_somewhere(35, player): player[cur_player].gpa += 0.2 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '西站,績點+0.2', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() else: player[cur_player].local = 35 player[cur_player].stop = 1 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '博物館', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 15: #羅姆樓 if cur_player == 0: player[0].stop = 1 player[0].gpa += 0.2 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (750, 340), '學習一天,績點+0.2', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 19: #主樓 player[cur_player].gpa += 0.3 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (750, 340), '觀看岳麓山風景,績點+0.3', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 25: #新清 player[cur_player].money -= 200 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '去植物園看演出,金錢-200', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 31: #二校門 player[cur_player].money += 500 player[cur_player].gpa -= 1.0 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (750, 340), '五一廣場業(yè)務,金錢+500,績點-1.0', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 35: #校醫(yī)院 player[cur_player].stop = 1 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '世界之窗', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() elif player[cur_player].local == 39: #圖書館 if not cur_player == 2: player[cur_player].stop = 1 player[cur_player].gpa += 0.2 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_mapstatus(screen, player, map_status) draw_player(screen, player, role, stop_picture) draw_text(screen, (800, 340), '泡在西站一天,績點+0.2', 30, 'STXINGKA.TTF', pygame.Color('grey')) chances_sound.play() cur_player = (cur_player + 1) % len(player) #下一個玩家擲骰子 while player[cur_player].stop == 1: player[cur_player].stop = 0 cur_player = (cur_player + 1) % len(player) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() if not game_over(player) == 0: if game_over(player) > 0: win_sound.play() else: lose_sound.play() status = 6 else: status = 2 elif status == 5: #買地建房 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: if event.key == 273: if map_status[local2order(player[cur_player].local)].level == 0: player[cur_player].money -= map_status[local2order(player[cur_player].local)].value1 map_status[local2order(player[cur_player].local)].owner = cur_player map_status[local2order(player[cur_player].local)].level = 1 elif map_status[local2order(player[cur_player].local)].level == 1: player[cur_player].money -= map_status[local2order(player[cur_player].local)].value2 map_status[local2order(player[cur_player].local)].level = 2 cur_player = (cur_player + 1) % len(player) # 下一個玩家擲骰子 while player[cur_player].stop == 1: player[cur_player].stop = 0 cur_player = (cur_player + 1) % len(player) status = 2 screen.blit(map_screen, (0, 0)) screen.blit(picture_dice[dice_answer - 1], (500, 400)) draw_player(screen, player, role, stop_picture) draw_mapstatus(screen, player, map_status) up_sound.play() if not game_over(player) == 0: if game_over(player) > 0: win_sound.play() else: lose_sound.play() status = 6 pygame.display.update() elif status == 6: # 游戲結束 if game_over(player) > 0: draw_text(screen, (540, 340), '游戲結束,%s勝利' % player[game_over(player)-1].name, 50, 'STXINGKA.TTF', pygame.Color('darkgreen')) draw_text(screen, (540, 440), '再來一局', 50, 'STXINGKA.TTF', pygame.Color('darkgreen')) else : draw_text(screen, (540, 340), '游戲結束,%s失敗' % player[- game_over(player) - 1].name, 50, 'STXINGKA.TTF', pygame.Color('darkgreen')) draw_text(screen, (540, 440), '再來一局', 50, 'STXINGKA.TTF', pygame.Color('darkgreen')) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.MOUSEBUTTONDOWN: (mouse_x, mouse_y) = event.pos if click_button(mouse_x, mouse_y, 1): player = [] role = [] map_status = [] for i in range(8): map_status.append(Map(i)) cur_player = 0 click_sound.play() screen.blit(map_screen, (0, 0)) num_player_button = Button(screen, '請輸入游戲人數(shù)(2~4)') num_player_button.draw_button() draw_text(screen, (540, 440), '操作指南:按↑擲骰子、購買地產(chǎn)', 50, 'STXINGKA.TTF', pygame.Color('gold')) status = 1 pygame.display.update()4)玩家角色
class Player: # 玩家類 def __init__(self, order): self.money = 3000 self.gpa = 3.0 self.local = 0 self.stop = 0 if order == 0: self.name = '小E' elif order == 1: self.name = '皮卡丘' elif order == 2: self.name = '可達鴨' elif order == 3: self.name = '小黃雞'
5)省略......
代碼超多的哈:老規(guī)矩找我拿即可都是免費的?。ㄒ娢哪?/p>四、效果展示1)初始界面
鼠標左鍵點擊“開始游戲”即可!
2)選擇游戲人數(shù)界面鍵盤輸入 2~4 的數(shù)字即可!
3)后續(xù)......按鍵盤“↑”鍵擲骰子、按鍵盤“↑”鍵買地(升級地產(chǎn)操作相同、鼠標左鍵點擊“再來一局”重新開始游戲!
總結好啦~一款簡單有趣好玩兒的《長沙之旅大富翁》小游戲正式結束啦。趕緊找我拿素材自己玩一
玩~不要只關注這一個游戲嘛~往期還有更多更多歡迎閱讀啦!
完整的素材、安裝環(huán)境、源碼等看文末即可啦!往期推薦閱讀——目1.0 超級瑪麗
程序員自制游戲:超級瑪麗100%真實版,能把你玩哭了~【附源碼】
項目1.2 紅心紙牌大戰(zhàn)游戲
【Pygame實戰(zhàn)】曾經(jīng)風靡全國的游戲,終于復活了,你小時候玩過嘛?(紙牌紅心大戰(zhàn)游戲)
項目1.1 掃雷
Pygame實戰(zhàn):據(jù)說這是史上最難掃雷游戲,沒有之一,你們感受下......
項目1.2 魂斗羅
Pygame實戰(zhàn):多年后“魂斗羅”像素風歸來 不止是經(jīng)典與情懷@全體成員
文章匯總——項目1.0 Python—2021 |已有文章匯總 | 持續(xù)更新,直接看這篇就夠了
(更多內(nèi)容+源碼都在文章匯總哦??!歡迎閱讀~)
以上就是關于pos機領取源碼,附多份游戲源碼的知識,后面我們會繼續(xù)為大家整理關于pos機領取源碼的知識,希望能夠幫助到大家!
