要靠玩家自己写代码才能玩的游戏,程序员私藏的童年游戏
你的童年,我的童年好像都一样,谁的童年又没玩过游戏呢,这些小游戏应该只有玩过才会懂吧
虽然程序员敲代码多年,但童心还是一直都在的,今天就分享一些私藏的童年游戏,十几行代码就能进入使用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):
私信就领取游戏源代码哟~
- 05-10参加英语演讲比赛需要注意什么?6岁孩子初次参加英语演讲比赛
- 05-04洗手台不装镜子好吗?洗手台装镜子80以上会后悔
- 04-02描写冬天的短句80个:写,寒冬的20个优美文段
- 10-18长春恢复62条公交线路,长春市,公交专线全部恢复
- 10-16被翻拍毁掉的经典片:这部国产烂俗翻拍片竟成元旦最大惊喜
- 11-15八年级物理上册光现象知识框架,人教版物理总复习第四章
- 01-28昆明市2023年7月份普通话报名时间,云南省昆明市2023年8月份普通话考试报名时间公布
- 04-28猫和老鼠模拟器键位怎么设置?猫和老鼠手游模拟器哪个好
- 10-24miui优化关闭和不关闭的对比测试:MIUI大更新,多处细节改动防误触也得到实质性优化
- 04-02阆中市2024重点项目清单 阆中高质高效推进10件大事
- 02-22华为畅享10e的参数总体来说怎么样?华为畅享10e轻体验5000mAh大电池超长续航
- 02-20天文历法周期表:和初学者谈,天
- 11-02得了脂溢性皮炎应该怎么护肤?美肤必读手册脂溢性皮炎知多少
- 04-1719款哈雷软尾路威:经典美式巡航哈雷发布2022款路威ST
- 04-263.8妇女节手抄报简单漂亮:手抄报,3.8妇女节
- 05-01订婚宴现场布置省钱攻略 订婚宴布置订婚好物分享
热门
推荐
- 1熬夜长痘痘怎么调理5妙招祛痘效果快186
- 2关于赞美泉水叮咚的诗句315
- 3如何与老人交谈370
- 4爱慕的文章325
- 5如何扔铁饼427
- 6初中科普说明文的特点247
- 7如何学习高中地理的实用方法297
- 8教体部门档案管理员先进事迹102