桌游《暗夜之光》pc移植日志(二) 最后更新时间:2021年03月04日 今天是做了游戏开始的界面样子,由于本来就是一个单机游戏,开启游戏就会直接进入模式选择界面:标准对局和遭遇战。玩家可以根据自己的需求自由选择模式。 ![](https://www.yidaimingjvn.xyz/img/4SOJE9KES`_Q]TGCWMV5KEK.png) 界面简单,程序也非常简短。 我大部分时间都在考虑如何进行后续的开发,能够保证游戏的开发不会过于复杂,同时程序也能给相对完整。不过还没想出来就是了。 唔,我实在太菜了。 后续大概会先开发游戏选择界面,模式方面会先开发标准对局。 最后附上稀饭至极的测试代码。 附: ```python #coding:utf-8 import pygame import sys class Map: # 地图块类: # 属性: # 地图块编号(id) # 地形名(map_name):即地图类型 # 大小(size) # 移动力消耗(SPE) # 战斗掷骰数(ran) # 方法: # 地形信息反馈 def __init__(self, id, map_name, size, SPE,ran): self.id = id self.map_name = map_name self.size = size self.SPE = SPE self.ran = ran self.地图数组 = list() def 地图元组(self,横坐标起始,横坐标结束,纵坐标起始,纵坐标结束): for 横坐标 in range(横坐标起始, 横坐标结束+1): for 纵坐标 in range(纵坐标起始,纵坐标结束+1): self.地图数组.append((横坐标, 纵坐标)) def 鼠标判断(self,鼠标坐标): if 鼠标坐标 in self.地图数组: print("当前鼠标坐标:{}, 当前地形:{}, 地形ID:{}".format(鼠标坐标, self.map_name, self.id)) def mouseButton1(self,鼠标坐标,鼠标左键): if 鼠标坐标 in self.地图数组: if 鼠标左键 == True: print("开始标准对局!") def mouseButton2(self,鼠标坐标,鼠标左键): if 鼠标坐标 in self.地图数组: if 鼠标左键 == True: print("开始遭遇战!") class ButtonPicture: # button1:标准对局按钮图 # button2:遭遇战按钮图 def module(self): self.img = pygame.image.load("img/module.png") return screen.blit(self.img, (0,0)) def button1(self,pic_name = "Button1"): self.img = pygame.image.load(f"img/{pic_name}.png") return screen.blit(self.img, (105,157)) def button2(self,pic_name = "Button2"): self.img = pygame.image.load(f"img/{pic_name}.png") return screen.blit(self.img,(605,157)) pygame.init() 标准对局 = Map(000, "标准对局按钮", 350, 0, 0) 标准对局.地图元组(157, 485, 105, 540) 遭遇战 = Map(000, "遭遇战按钮", 350, 0, 0) 遭遇战.地图元组(605, 945, 105, 540) button = ButtonPicture() screen = pygame.display.set_mode((1080,720)) pygame.display.set_caption("暗夜之光 ——仅供学习交流使用") def game_run(): while 1: button.button1() button.button2() button.module() 鼠标坐标 = pygame.mouse.get_pos() 鼠标左键 = pygame.mouse.get_pressed()[0] 标准对局.mouseButton1(鼠标坐标, 鼠标左键) 遭遇战.mouseButton2(鼠标坐标, 鼠标左键) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if __name__ == '__main__': game_run() ```
Comments | NOTHING