• python制作小游戏之二2048第一部分


    最近闲来无事,做了一个2048类似的小游戏。其中的算法思想,如果有的话,都是本人花了一点点时间想出来的,完全没有参考任何教程,所以可能(其实是肯定)使用的方法比较傻一些,算是抛砖引玉了。

    为了制作这个游戏,我先下载了一个2048小游戏来玩,以便学习规则。根据20分钟的游玩体验,我总结的规则大致如下:

    1. 4*4方格。
    2. 游戏开始时出现2个2。
    3. 然后每移动一次出现新的2,如果某个方向无法移动,则不会增加新的2。
    4. 只有相同的数字才能够相加。
    5. 新增的只会出现2
    6. 相加时,只会加一次,不会累加。不知道为啥。
    7. 游戏结束检查没有空位且任意数字周围都没有相同数字,如果都没有,则游戏结束。
    8. 敏感的察觉到不需要外部图片素材,只需要画框还有画数字即可。
    9. 动画过程应该最麻烦,pygame画动画我是没什么信心。

    因为之前做了好多这种类似的棋盘类型的游戏,比如扫雷,五子连珠(有机会一并写出来),所以画2048的棋盘部分格外容易,难点在配色,好在我是不在乎颜色好看与否,所以直接开始弄。

    首先依然是基础的pygame配置代码,涉及到各种初始化配置,颜色代码等等,边距一大堆,基本基本上棋盘游戏我都是通用的,修改一下就可以用了。

    import pygame
    import sys
    import random
    from pygame.locals import *
    board_width = 4
    board_height = 4
    tile_size = 80
    screen_width = 640
    screen_height = 480
    fps = 30
    
    
    white = (255, 255, 255)
    bright_blue = 'sky blue'
    dark_turquoise = (250, 234, 211)
    green = 'green'
    
    bg_color = (107, 81, 82)
    tile_color = bright_blue
    text_color = (144, 59, 28)
    border_color = bright_blue
    basic_font_size = 30
    message_color = white
    x_margin = int((screen_width-(t
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
  • 相关阅读:
    Maven(8) 实战总结
    【探索AI】二十二 深度学习之第5周:生成对抗网络(GAN)
    网络热的查询易语言代码
    【Azure APIM】列举几种在APIM 策略中的主动生产的错误语句
    JS原型对象
    SpringBoot中使用@Retryable注解进行重试
    网络安全(黑客技术)自学规划
    微软用它取代了`Nginx`吞吐量提升了百分之八十!
    系统架构师--数据库系统
    Python LeetCode:50 个算法编程面试题
  • 原文地址:https://blog.csdn.net/jackwsd/article/details/126429853