桌游《暗夜之光》pc移植日志(二)


今天是做了游戏开始的界面样子,由于本来就是一个单机游戏,开启游戏就会直接进入模式选择界面:标准对局和遭遇战。玩家可以根据自己的需求自由选择模式。



界面简单,程序也非常简短。
我大部分时间都在考虑如何进行后续的开发,能够保证游戏的开发不会过于复杂,同时程序也能给相对完整。不过还没想出来就是了。
唔,我实在太菜了。
后续大概会先开发游戏选择界面,模式方面会先开发标准对局。
最后附上稀饭至极的测试代码。
附:

#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()

声明:一代明君的小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 桌游《暗夜之光》pc移植日志(二)


欢迎来到我的小屋