91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EASY EAI Nano開源套件試用體驗】開發環境之Python2048小游戲

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-10-11 16:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發燒友社區,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2308793_1_1.html


前言
開發板具備Python運行環境,這對于一些輕量開發可以直接在開發板上進行腳本開發,這就十分方便。python --version可以看到版本是2.7.16
[root@EASY-EAI-NANO:/]# python --version
Python 2.7.16

過程
直接SSH或者串口登錄,
導入2048.py或者
直接vi編輯


  1. # -*- coding:UTF-8 -*-
  2. #!/usr/bin/python2
  3. import random
  4. import os, sys
  5. v = [[0, 0, 0, 0],
  6. [0, 0, 0, 0],
  7. [0, 0, 0, 0],
  8. [0, 0, 0, 0]]
  9. def display(v, score):
  10. print ("%4d %4d %4d %4d" % (v[0][0], v[0][1], v[0][2], v[0][3]))
  11. print ("%4d %4d %4d %4d" % (v[1][0], v[1][1], v[1][2], v[1][3]))
  12. print ("%4d %4d %4d %4d" % (v[2][0], v[2][1], v[2][2], v[2][3]))
  13. print ("%4d %4d %4d %4d" % (v[3][0], v[3][1], v[3][2], v[3][3]))
  14. print ("Total score: %d" % score)
  15. def init(v):
  16. for i in range(4):
  17. v[i] = [random.choice([0, 0, 0, 2, 2, 4]) for x in range(4)]
  18. def align(vList, direction):
  19. for i in range(vList.count(0)):
  20. vList.remove(0)
  21. zeros = [0 for x in range(4 - len(vList))]
  22. if direction == 'left':
  23. vList.extend(zeros)
  24. else:
  25. vList[:0] = zeros
  26. def addSame(vList, direction):
  27. score = 0
  28. if direction == 'left':
  29. for i in [0, 1, 2]:
  30. align(vList, direction)
  31. if vList[i] == vList[i+1] != 0:
  32. vList[i] *= 2
  33. vList[i+1] = 0
  34. score += vList[i]
  35. return {'bool':True, 'score':score}
  36. else:
  37. for i in [3, 2, 1]:
  38. align(vList, direction)
  39. if vList[i] == vList[i-1] != 0:
  40. vList[i] *= 2
  41. vList[i-1] = 0
  42. score += vList[i]
  43. return {'bool':True, 'score':score}
  44. return {'bool':False, 'score':score}
  45. def handle(vList, direction):
  46. totalScore = 0
  47. align(vList, direction)
  48. result = addSame(vList, direction)
  49. while result['bool'] == True:
  50. totalScore += result['score']
  51. align(vList, direction)
  52. result = addSame(vList, direction)
  53. return totalScore
  54. def operation(v):
  55. totalScore = 0
  56. gameOver = False
  57. direction = 'left'
  58. op = raw_input ('operator:')
  59. if op in ['a','A']:
  60. direction = 'left'
  61. for row in range(4):
  62. totalScore += handle(v[row], direction)
  63. elif op in ['d','D']:
  64. direction = 'right'
  65. for row in range(4):
  66. totalScore += handle(v[row], direction)
  67. elif op in ['w', 'W']:
  68. direction = 'left'
  69. for col in range(4):
  70. vList = [v[row][col] for row in range(4)]
  71. totalScore += handle(vList, direction)
  72. for row in range(4):
  73. v[row][col] = vList[row]
  74. elif op in ['s', 'S']:
  75. direction = 'right'
  76. for col in range(4):
  77. vList = [v[row][col] for row in range(4)]
  78. totalScore += handle(vList, direction)
  79. for row in range(4):
  80. v[row][col] = vList[row]
  81. else:
  82. print ("Invalid raw_input ,please enter a charactor in [W,S,A,D] or the lower")
  83. gameOver = True
  84. return {'gameOver':gameOver,'score':totalScore}
  85. N = 0
  86. for q in v:
  87. N += q.count(0)
  88. if N == 0:
  89. gameOver = True
  90. return {'gameover':gameOver,'score':totalScore}
  91. num = random.choice([2,2,2,4])
  92. k = random.randrange(1, N+1)
  93. n = 0
  94. for i in range(4):
  95. for j in range(4):
  96. if v[i][j] == 0:
  97. n += 1
  98. if n == k:
  99. v[i][j] = num
  100. break
  101. return {'gameOver':gameOver, 'score':totalScore}
  102. init(v)
  103. score = 0
  104. print ("raw_input :W(Up) S(Down) A(Left) D(Right), press.")
  105. while True:
  106. os.system("clear")
  107. display(v, score)
  108. result = operation(v)
  109. print (result)
  110. if result['gameOver'] == True:
  111. print ("Game Over, You failed!")
  112. print ("Your total score %d" % (score))
  113. sys.exit(1)
  114. else:
  115. score += result['score']
  116. if score >= 2048:
  117. print ("Game Over, You Win!!!")
  118. print ("Your total score: %d" % (score))
  119. sys.exit(0)
復制代碼


添加可執行權限
chmod +x 2048.py
運行

python 2048.py
分別用wsad控制上下左右移動
pYYBAGM-5QqAUjlKAABhWaa--6o016.png
總結
開發板提供了Python環境,直接開發板上進行Python開發十分便捷,這對一些輕量開發場景時非常方便。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5661

    瀏覽量

    104458
  • 靈眸
    +關注

    關注

    0

    文章

    20

    瀏覽量

    3308
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EASY EAI Orin Nano開發試用體驗】人臉識別提升

    【前言】【新提醒】【EASY EAI Orin Nano開發試用體驗】人臉識別體驗 - EASY
    發表于 07-05 15:21

    EASY EAI Orin Nano開發試用體驗】EASY-EAI-Toolkit通用組件體驗

    環境準備 閱讀EASY EAI Orin Nano開發板說明書,板子預留了UART4、UART8和UART10三個串口。 UART8靠上面
    發表于 07-04 23:38

    EASY EAI Orin Nano開發試用體驗】--WiFi連接與nfs共享

    掛載 上一篇搭建環境開發板插網線共享NFS服務器,總覺得插根網線影響移動板子靈活性,想到上面WIFI無線已經連接上了,就使用WIFI去掛載,嘗試也是成功的。 1.ping nfs服務器ip,如下是連通
    發表于 06-29 21:56

    EASY EAI Orin Nano開發試用體驗】EASY-EAI-Toolkit初體驗

    本次EASY EAI Orin Nano開發試用體驗主要是超級想體驗靈眸的EASY-EAI-T
    發表于 06-28 21:21

    EASY EAI Orin Nano開發試用體驗】--開發環境準備與點燈

    環境adb shell (2)在開發板/home/orin-nano/Desktop/路徑創建目錄nfscd /home/orin-nano/Desktop/mkdir nfs (3)
    發表于 06-28 15:45

    EASY EAI Orin Nano開發試用體驗】開箱和固件燒錄更新體驗

    首先感謝靈眸科技和發燒友組織的開發板大賽! 一、硬件介紹 靈眸科技EASY EAI Orin-Nano基于瑞芯微的RK3576處理器設計,集成了4個Cortex-A72和4個Corte
    發表于 06-26 23:41

    EASY EAI Orin Nano開發試用體驗】人臉識別體驗

    | 10.92 MiB/s, 完成. 處理 delta 中: 100% (77/77), 完成. 2、adb登錄開發板,并加載nfs developer@EASY-EAI-Develop:~/nfsroot
    發表于 06-26 06:54

    EASY EAI Orin Nano開發試用體驗】--開發板開箱了解

    感謝靈眸科技與論壇提供的開發板與平臺。EASY EAI Orin-Nano開發板實物如下: EASY
    發表于 06-25 23:32

    EASY EAI Orin Nano開發試用體驗】01-開箱報告及開發環境準備

    前言 首先要特別感謝發燒友論壇和廣州靈眸科技給我們提供的本次EASY EAI Orin Nano開發試用機會, 在申請通過后很快就收到順豐
    發表于 06-24 19:04

    EASY EAI Orin Nano開發試用體驗】安裝nfs服務器

    /developer/nfsroot * developer@EASY-EAI-Develop:~$ 測試: 使用typec連上開發板后,執行adb shell登錄開發板。 在Desktop中創建nfs 然后
    發表于 06-22 17:32

    EASY EAI Orin Nano開發試用體驗】開發環境準備

    【前言】 首先感謝電子發燒友論壇以及靈眸科技給示了我這次非常難得的【EASY EAI Orin Nano開發試用體驗】的機會,在進行評測之
    發表于 06-22 16:42

    基于RK3576處理器,EASY EAI Orin Nano開發板免費試用

    EASY EAI Orin Nano是廣州靈眸科技有限公司的旗艦級硬件產品。基于瑞芯微的RK3576處理器設計,集成了4個Cortex-A72和4個Cortex-A53及支持NEON指令集,支持
    的頭像 發表于 06-09 15:01 ?441次閱讀
    基于RK3576處理器,<b class='flag-5'>EASY</b> <b class='flag-5'>EAI</b> Orin <b class='flag-5'>Nano</b><b class='flag-5'>開發</b>板免費<b class='flag-5'>試用</b>

    基于RK3576開發板的遠程桌面調試方法

    EASY EAI Orin-Nano可以基于MobaXterm的ssh遠程桌面登錄調試
    的頭像 發表于 05-06 09:58 ?246次閱讀
    基于RK3576<b class='flag-5'>開發</b>板的遠程桌面調試方法

    基于RV1126開發板的rknn-toolkit-lite使用方法

    rknn-toolkit-lite是用于python算法的推理的組件,當前已經在EASY-EAI-Nano完成適配,用戶可以用它進行深度學習算法的純python開發。而且同時支持已經進
    的頭像 發表于 04-15 17:33 ?418次閱讀
    基于RV1126<b class='flag-5'>開發</b>板的rknn-toolkit-lite使用方法

    FPGA打磚塊小游戲設計思路

    HDL,?Vivado 平臺上開發打磚塊小游戲并使用 PS2 與 VGA 的基本思路: 一、整體架構設計 1. 輸入模塊: ? PS2 接口模塊:負責與 PS2 設備(如游戲手柄)進行通信,接收手柄
    的頭像 發表于 12-09 16:57 ?957次閱讀
    主站蜘蛛池模板: 人人插人人艹 | 色综合久久天天综合观看 | 欧美三级久久 | 性叉叉 | 亚洲欧美视频在线 | 国产乱理论片在线观看理论 | 亚洲色图.com| 国产欧美日韩电影 | 国内精品哆啪啪 | 狠狠亚洲狠狠欧洲2019 | 亚洲第一区精品日韩在线播放 | 日韩毛片免费线上观看 | 老汉色视频 | 国产成人在线网址 | 色天天躁夜夜躁天干天干 | 色综合天天色 | 午夜伦理片免费观看在线 | 五月婷婷在线观看 | 国产视频三区 | 7m凹凸精品分类大全免费 | 一级毛片在线看在线播放 | 亚州人成网在线播放 | 久久久久女人精品毛片 | 99视频在线永久免费观看 | 毛片.com| 97夜夜澡人人爽人人喊一欧美 | 欧美成人精品一级高清片 | 老色批午夜免费视频网站 | 天堂中文www在线 | 亚洲精品国产成人 | 成人在线色视频 | 久久久久久91精品色婷婷 | 特级深夜a级毛片免费观看 特级生活片 | 五月天婷婷伊人 | 丁香六月婷婷精品免费观看 | 黄色的视频在线免费观看 | 精品久久成人 | 天天色综合三 | 免费高清视频免费观看 | 李老汉的性生生活1全部 | 欧美刺激午夜性久久久久久久 |