龙空技术网

程序员私藏的童年游戏,十几行代码就能玩游戏

小码哥教育 202

前言:

现时你们对“boxcounting算法流程”都比较重视,姐妹们都需要知道一些“boxcounting算法流程”的相关文章。那么小编也在网络上搜集了一些有关“boxcounting算法流程””的相关内容,希望小伙伴们能喜欢,你们一起来学习一下吧!

你的童年,我的童年好像都一样,谁的童年又没玩过游戏呢,这些小游戏应该只有玩过才会懂吧

虽然程序员敲代码多年,但童心还是一直都在的,今天就分享一些私藏的童年游戏,十几行代码就能进入使用Python开发的小游戏快乐玩耍!

1. 五子棋

童年游戏不可缺少的五子棋,你攻我守,守中进攻,五子棋一玩就可以玩一下午。

'''游戏开始界面'''class gameStartUI(QWidget):    def __init__(self, parent=None, **kwargs):        super(gameStartUI, self).__init__(parent)        self.setFixedSize(760, 650)        self.setWindowTitle('五子棋 —— 九歌')        self.setWindowIcon(QIcon(cfg.ICON_FILEPATH))        # 背景图片        palette = QPalette()        palette.setBrush(self.backgroundRole(), QBrush(QPixmap(cfg.BACKGROUND_IMAGEPATHS.get('bg_start'))))        self.setPalette(palette)        # 按钮        # --人机对战        self.ai_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('ai'), self)        self.ai_button.move(250, 200)        self.ai_button.show()        self.ai_button.click_signal.connect(self.playWithAI)        # --联机对战        self.online_button = PushButton(cfg.BUTTON_IMAGEPATHS.get('online'), self)        self.online_button.move(250, 350)        self.online_button.show()        self.online_button.click_signal.connect(self.playOnline)    '''人机对战'''    def playWithAI(self):        self.close()        self.gaming_ui = playWithAIUI(cfg)        self.gaming_ui.exit_signal.connect(lambda: sys.exit())        self.gaming_ui.back_signal.connect(self.show)        self.gaming_ui.show()

2.炸弹人

如果你是一个80后,那么炸弹人绝度是你童年的欢乐之一,虽然简单而粗糙的画面,却依旧抵挡不了它在FC上的经典。

'''游戏主程序'''def main(cfg):    # 初始化    pygame.init()    pygame.mixer.init()    pygame.mixer.music.load(cfg.BGMPATH)    pygame.mixer.music.play(-1, 0.0)    screen = pygame.display.set_mode(cfg.SCREENSIZE)    pygame.display.set_caption('Bomber Man —— 九歌')    # 开始界面    Interface(screen, cfg, mode='game_start')    # 游戏主循环    font = pygame.font.SysFont('Consolas', 15)    for gamemap_path in cfg.GAMEMAPPATHS:        # -地图        map_parser = mapParser(gamemap_path, bg_paths=cfg.BACKGROUNDPATHS, wall_paths=cfg.WALLPATHS, blocksize=cfg.BLOCKSIZE)        # -水果        fruit_sprite_group = pygame.sprite.Group()        used_spaces = []        for i in range(5):            coordinate = map_parser.randomGetSpace(used_spaces)            used_spaces.append(coordinate)

3.推箱子

不禁回味起了童年,推箱子顾名思义就是推箱子。用键盘上的上、下、左、右键移动小人,把箱子全部推到指定的位置即可过关。箱子只能推,不能拉,并且小人一次只能推动一个箱子。

'''开始游戏'''def startGame(screen):    clock = pygame.time.Clock()    # 加载字体    font = pygame.font.SysFont('arial', 18)    if not os.path.isfile('score'):        f = open('score', 'w')        f.write('0')        f.close()    with open('score', 'r') as f:        highest_score = int(f.read().strip())    # 敌方    enemies_group = pygame.sprite.Group()    for i in range(55):        if i < 11:            enemy = enemySprite('small', i, cfg.WHITE, cfg.WHITE)        elif i < 33:            enemy = enemySprite('medium', i, cfg.WHITE, cfg.WHITE)        else:            enemy = enemySprite('large', i, cfg.WHITE, cfg.WHITE)        enemy.rect.x = 85 + (i % 11) * 50        enemy.rect.y = 120 + (i // 11) * 45        enemies_group.add(enemy)    boomed_enemies_group = pygame.sprite.Group()    en_bullets_group = pygame.sprite.Group()    ufo = ufoSprite(color=cfg.RED)

4.俄罗斯方块

回味一下属于我们的童年~俄罗斯方块,如果要说到游戏圈里的资历,俄罗斯方块应该是当之无愧的老大哥了

import osimport sysimport randomfrom modules import *from PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtWidgets import *  '''定义俄罗斯方块游戏类'''class TetrisGame(QMainWindow):    def __init__(self, parent=None):        super(TetrisGame, self).__init__(parent)        # 是否暂停ing        self.is_paused = False        # 是否开始ing        self.is_started = False        self.initUI()    '''界面初始化'''    def initUI(self):

5.贪吃蛇

还记得当初在黑白掌机上玩的贪吃蛇吗?想重温当时的快乐,当时的回忆吗

import cfgimport sysimport pygamefrom modules import *  '''主函数'''def main(cfg):    # 游戏初始化    pygame.init()    screen = pygame.display.set_mode(cfg.SCREENSIZE)    pygame.display.set_caption('Greedy Snake —— 九歌')    clock = pygame.time.Clock()    # 播放背景音乐    pygame.mixer.music.load(cfg.BGMPATH)    pygame.mixer.music.play(-1)    # 游戏主循环    snake = Snake(cfg)    apple = Apple(cfg, snake.coords)    score = 0    while True:

6.井字棋

打赌大家在课堂上肯定玩过这个,想想当年和同桌玩这个废了好几本本子

from tkinter import *import tkinter.messagebox as msg root = Tk()root.title('TIC-TAC-TOE---Project Gurukul')# labelsLabel(root, text="player1 : X", font="times 15").grid(row=0, column=1)Label(root, text="player2 : O", font="times 15").grid(row=0, column=2) digits = [1, 2, 3, 4, 5, 6, 7, 8, 9] # for player1 sign = X and for player2 sign= Ymark = '' # counting the no. of clickcount = 0 panels = ["panel"] * 10  def win(panels, sign):

私信就领取游戏源代码哟~

标签: #boxcounting算法流程