4.6

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineeringClassof2023/homework/13330
这个作业的目标 七天的敏捷冲刺随笔

项目:扫雷

第6天/4.27

会议

我就一个人,似乎无法与自己开会

安排

4.27 降低了任务要求:自定义难度->初级,中级和高级的难度;降低CPU占用
4.28 不知道还做不做,我要先把操作系统的实验先做了,还是改天"冲刺"?剩下任务:UI美化,进度保存,自定义难度,运行优化

4.27遇到的困难
问DeepSeek我才注意到渲染字体时,抗锯齿的设置还开着,把它关了,用手在程序的面板上拖动,由于它要时刻更新,此时占用的CPU最高在11%左右(至少没有18%),不动时占3%;
任务管理器内存以30x16格子为例,内存68MB,我是不知道怎么优化才好了

燃尽图
燃尽图
我有些保守了,高估了剩余时间,同时我明白了自己每天做2-4个小时,没有再多了
到现在花了16.33小时,平均每天2h43min

运行样例
样例
样例

部分代码

一坨东西
        while SettingFlag==True or (mouseLeftClicked and ClickedisSetting(mousex,mousey)):  #设置界面
            mouseLeftClicked=False
            for event in pygame.event.get():    #操作检测
                    if event.type==QUIT:
                        pygame.quit()
                        sys.exit()
                    elif event.type == MOUSEBUTTONDOWN:     
                        if event.button==1:
                            mouseLeftClicked=True
                        mousex, mousey = event.pos
            if mouseLeftClicked and ClickedisSetting(mousex,mousey):    #退出设置
                SettingFlag=False
                NeedChange=True
                SettingScreenNeedChange=True
                mouseLeftClicked=False
                break
            
            SettingFlag=True        #持续while
            if SettingScreenNeedChange:         #更新画面,包括难度选择和记录展示
                TimeRecord=LoadRecord()
                DrawSettingScreen(TimeRecord)
                pygame.display.update()
                SettingScreenNeedChange=False   #别总是刷新
            
            if mouseLeftClicked:                #难度选择
                if ClickedisBeginner(mousex,mousey):
                    RowNumber=9       
                    ColNumber=9
                    BOOMNumber=10
                    RestartFlag=True
                elif ClickedisMediate(mousex,mousey):
                    RowNumber=16      
                    ColNumber=16
                    BOOMNumber=40
                    RestartFlag=True
                elif ClickedisAdvanced(mousex,mousey):
                    RowNumber=30       
                    ColNumber=16
                    BOOMNumber=99
                    RestartFlag=True
                if RestartFlag==True:       #要变更画面的高度和宽度,下面的也得跟着改;而且直接进到下面if里
                    ScreenHeight=OthersHeight+RectHeight*ColNumber+EdgeHeight   #屏幕高度
                    ScreenWidth=EdgeWidth+RectWidth*RowNumber+EdgeWidth
                    SmilePosx=ScreenWidth//2-SmileWidth//2
                    TimePosx=ScreenWidth*2//3           
                    BoomNumberPosx=ScreenWidth//4
                    SettingWidth=ScreenWidth-2*EdgeWidth
                    SettingHeight=ScreenHeight-ButtonHeight-2*EdgeHeight

                    DISPLAYSURF = pygame.display.set_mode((ScreenWidth,ScreenHeight))   #重设分辨率
                    SettingFlag=False
                    SettingScreenNeedChange=True
                    mouseLeftClicked=True
                    break
            FPSCLOCK.tick(ScreenFPS)
另一坨东西
def DrawSettingScreen(record):
    pygame.draw.rect(DISPLAYSURF,BLACK,(Settingposx,Settingposy,SettingWidth,SettingHeight),SettingEdge)
    pygame.draw.rect(DISPLAYSURF,WHITE,(Settingposx+SettingEdge,Settingposy+SettingEdge,SettingWidth-SettingEdge*2,SettingHeight-SettingEdge*2),0)
    DrawWord                                     ("Your Record:",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingEdge*2,OneLetterWidth*13,SettingButtonHeight,SETTING_FONT)
    DrawWord                                    ("1."+"beginner",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight+SettingEdge*2,OneLetterWidth*11,SettingButtonHeight,SETTING_FONT)
    DrawWord("  "+"time:"+str(record["timescore"][0]["最好用时"]),BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*2+SettingEdge*2,OneLetterWidth*7+len(str(record["timescore"][0]["最好用时"]))*8,SettingButtonHeight,SETTING_FONT)        
    DrawWord                                    ("2."+"mediate ",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*3+SettingEdge*2,OneLetterWidth*11,SettingButtonHeight,SETTING_FONT)
    DrawWord("  "+"time:"+str(record["timescore"][1]["最好用时"]),BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*4+SettingEdge*2,OneLetterWidth*7+len(str(record["timescore"][1]["最好用时"]))*8,SettingButtonHeight,SETTING_FONT) 
    DrawWord                                    ("3."+"advanced",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*5+SettingEdge*2,OneLetterWidth*11,SettingButtonHeight,SETTING_FONT)
    DrawWord("  "+"time:"+str(record["timescore"][2]["最好用时"]),BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*6+SettingEdge*2,OneLetterWidth*7+len(str(record["timescore"][2]["最好用时"]))*8,SettingButtonHeight,SETTING_FONT) 

    DrawWord        ("Choose Difficulty:",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*8+SettingEdge,OneLetterWidth*18,SettingButtonHeight,SETTING_FONT)
    pygame.draw.rect(DISPLAYSURF,BLACK,(Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*9.5+SettingEdge,OneLetterWidth*11,SettingButtonHeight),1)
    DrawWord        ("Beginner ",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*9.5+SettingEdge,OneLetterWidth*10,SettingButtonHeight,SETTING_FONT)
    pygame.draw.rect(DISPLAYSURF,BLACK,(Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*11+SettingEdge,OneLetterWidth*11,SettingButtonHeight),1)
    DrawWord        ("Mediate  ",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*11+SettingEdge,OneLetterWidth*10,SettingButtonHeight,SETTING_FONT)
    pygame.draw.rect(DISPLAYSURF,BLACK,(Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*12.5+SettingEdge,OneLetterWidth*11,SettingButtonHeight),1)
    DrawWord        ("Advanced",BLACK,Settingposx+SettingEdge*2,Settingposy+SettingButtonHeight*12.5+SettingEdge,OneLetterWidth*10,SettingButtonHeight,SETTING_FONT)

部分签入链接&签入记录

签入

总结&感想

打开微软Win10的扫雷,与我的程序对比,仅从界面,运行效率和占用来看,我绷不住了
看到我自己写的代码,我也绷不住了
我今天第一次稍微瞅了些别人写的扫雷,再看我的代码,我是真的更加觉得我的代码怎么写得这么长呢?

posted @ 2025-05-02 10:02  witch250  阅读(6)  评论(0)    收藏  举报