贪吃蛇代码

Python贪吃蛇简单的代码 在自学Python的过程中在网上查询资料时发现了一些好玩的东西,python的游戏库模块,它可以自己弄一个小游戏来玩玩,然后我在网上找了一些游戏的代码,,自己改了一些,弄出了一个简单贪吃蛇,代码也是照着敲的只是稍微的改了一下 import pygame, sys, random, time from pygame.locals import * # 从pygame模块导入常用的函数和常量 #定义... 阅读详情

代码

from Tkinter import *
import random
from tkMessageBox import askquestion
 
#尚需改进,有待提高
 
#各种方块的表示,与参考方块的相对位置
shapedic={1:((0,0),(1,0),(0,-1),(1,-1)),#正方形
          2:((0,0),(0,-1),(0,-2),(0,1)),#长条
          3:((0,0),(0,-1),(1,0),(1,1)),#之字型
          4:((0,0),(0,-1),(-1,0),(-1,1)),#反之字型
          5:((0,0),(1,0),(-1,0),(-1,-1)),#L型
          6:((0,0),(1,0),(-1,0),(1,-1)),#反L型
          7:((0,0),(1,0),(-1,0),(0,-1))#T型
          }
 
#旋转函数,顺时针旋转90度,相对于参考方块
change_dic={(0,0):(0,0),(0,1):(-1,0),(-1,0):(0,-1),(0,-1):(1,0),(1,0):(0,1),
           (1,-1):(1,1),(1,1):(-1,1),(-1,1):(-1,-1),(-1,-1):(1,-1),
            (2,0):(0,2),(0,2):(-2,0),(-2,0):(0,-2),(0,-2):(2,0)}
             
#随机颜色
colorDict = {
        0 :'#CCC0B4',
        1 :'#EEE4DA',
        2 : '#EDE0C8',
        3 : '#F2B179',
        4 : '#EC8D54',
        5 : '#F67C5F', 
        6 : '#EA5937',
        7 : '#804000', 
        8 : '#F1D04B',
        9 : '#E4C02A',
        10 : '#EE7600',
        11 : '#D5A500',
        12 : '#E4C02A',
        13 : '#804000',
        14 : '#EA5937',
        15 : '#EE7600',
        16 : '#776E65',
        17 : '#776E65',
        18 : '#FFFFFF',
        19 : 'yellow',
        20 : 'blue',
        21 : 'lightblue',
        22 : 'red'
        }
 
#俄罗斯方块
class Game_Russia:
     
    def __init__(self):
         
        #每个方块的大小
        self.width=20
         
        #方块数目,长和宽
        self.row=28
        self.column=19
         
         
        #初始化
#        self.scores=0
#        self.all_square={}#坐标系网格中个位置方块的存在性
#        self.head_square=[]#参考方块绝对位置
#        self.new_square=[]#移动方块相对位置
#        self.direction=-1#方块初始方向
#        #规定界限
#        #i表示第i列,0在左边
#        #j表示第j行,零在上面
#        for j in range(-4,self.row):
#            for i in range(self.column):
#                self.all_square[i,j]=0
#        #划界,开口向上
#        for j in range(self.row+1):
#            self.all_square[19,j]=1
#            self.all_square[-1,j]=1
#        for i in range(-1,self.column+1):
#            self.all_square[i,28]=1
          
        """
        用来debug
        for j in range(self.row+1):
            for i in range(-1,self.column+1):
                print self.all_square[i,j],
            print
        """
 
        self.window = Tk()
        self.window.geometry()
        self.window.maxsize(400,610)
        self.window.minsize(400,610)
        self.window.title("俄罗斯方块")
         
        self.frame1=Frame(self.window,bg="white",relief=GROOVE,borderwidth=5)
        self.frame2=Frame(self.window,bg="white",relief=RAISED,borderwidth=2,height=40,
                          width=570)
        self.canvas=Canvas(self.frame1,bg='purple',width=400,height=570)
        self.score_label=Label(self.frame2,text="Score: 0")
         
        self.frame1.pack()
        self.frame2.pack(fill=BOTH)
        self.score_label.pack(side=LEFT)
        self.canvas.pack(fill=BOTH)
         
        self.draw_wall()
         
        self.initial()
         
        self.get_new_square()
         
        self.draw_new_square()
         
        self.play()
         
        self.window.mainloop()
         
         
         
    "=== View Part ==="
    #边界
    def draw_wall(self):
        self.canvas.create_line(5,5,385,5,fill='blue',width=1)
        self.canvas.create_line(385,5,385,565,fill='blue',width=1)
        self.canvas.create_line(5,5,5,565,fill='blue',width=1)
        self.canvas.create_line(5,565,385,565,fill='blue',width=1)
     
    #得分
    def draw_score(self):
        self.get_score()
        self.score_label.config(self.score_label,text="Score: "+str(self.scores))
 
    #画下面所有不动的方块
    def draw_square(self):
        color=colorDict[random.randint(0,len(colorDict)-1)]
        for j in range(self.row):
            self.canvas.delete("line"+str(j))
            for i in range(self.column):
                if self.all_square[i,j]:
                    self.canvas.create_rectangle(5+i*self.width,
                    5+j*self.width,5+(i+1)*self.width,
                    5+(j+1)*self.width,fill=color,tags="line"+str(j))
    #画移动的方块
    def draw_new_square(self):
        self.canvas.delete("new")
        self.head_square[1]+=1
        color=colorDict[random.randint(0,len(colorDict)-1)]
        for i in range(4):
            self.canvas.create_rectangle(5+(self.head_square[0]+self.new_square[i][0])*self.width,
                5+(self.head_square[1]+self.new_square[i][1])*self.width,
                5+(self.head_square[0]+self.new_square[i][0]+1)*self.width,
                5+(self.head_square[1]+1+self.new_square[i][1])*self.width,fill=color,tags="new")
 
     
    "=== Model Part ==="
    def initial(self):
        #初始化
        self.scores=0
        self.all_square={}#坐标系网格中个位置方块的存在性
        self.head_square=[]#参考方块绝对位置
        self.new_square=[]#移动方块相对位置
        self.direction=-1#方块初始方向
        #规定界限
        #i表示第i列,0在左边
        #j表示第j行,零在上面
        for j in range(-4,self.row):
            for i in range(self.column):
                self.all_square[i,j]=0
        #划界,开口向上
        for j in range(self.row+1):
            self.all_square[19,j]=1
            self.all_square[-1,j]=1
        for i in range(-1,self.column+1):
            self.all_square[i,28]=1
         
    def is_dead(self):
        #判断死亡与否,最上方中间四个方块
        for i in {8,9,10,11}:
            if self.all_square[i,0]:
                return True
        else:
            return False
             
     
    def get_new_square(self):
        #获得新的方块,初始位置均为(9,-2)
        self.new=random.randrange(1,8)#随机方块
        #主方块(参考方块)的位置
        self.direction=random.randrange(4)
        self.head_square=[9,-2]
        self.new_square=list(shapedic[self.new])
        for i in range(self.direction):
            self.change()
         
         
    def delete_one_line(self,j):
        #得分后删除整行
        for t in range(j,2,-1):
            for i in range(self.column):
                self.all_square[i,t]=self.all_square[i,t-1]
        for i in range(self.column):
            self.all_square[i,0]=0
         
     
    def get_score(self):
        for j in range(self.row):
            for i in range(self.column):
                #判断某行是否全满
                if not self.all_square[i,j]:
                    break
            else:
                self.scores+=10
                self.delete_one_line(j)
                 
    #移动方块停止
    def get_seated(self):
        self.all_square[tuple(self.head_square)]=1
        for i in range(4):
            self.all_square[self.head_square[0]+self.new_square[i][0],
            self.head_square[1]+self.new_square[i][1]]=1
             
    #方块是否到了最底端   
    def is_seated(self):
        for i in range(4):
            if self.all_square[self.head_square[0]+self.new_square[i][0],
                               self.head_square[1]+self.new_square[i][1]+1]:
                return True
        return False
             
      
         
    "=== Control Part ==="
    #改变方块朝向
    #通过旋转改变,主方块不动
    def change(self):
        if self.new>1:
            for i in range(4):
                if self.all_square[self.head_square[0]+change_dic[self.new_square[i]][0],self.head_square[1]+change_dic[self.new_square[i]][1]]:
                    return
            else:
                for i in range(4):
                    self.new_square[i]=change_dic[self.new_square[i]]
        else:
            return
    #右移
    def right_move(self):
        #先判断是否可以移动
        for i in range(4):
            if self.all_square[self.head_square[0]+self.new_square[i][0]-1,
                self.head_square[1]+self.new_square[i][1]]:
                return True
        self.head_square[0]-=1
     
    #左移
    def left_move(self):
        for i in range(4):
            if self.all_square[self.head_square[0]+self.new_square[i][0]+1,
                self.head_square[1]+self.new_square[i][1]]:
                return True
        self.head_square[0]+=1
     
    #向下加速
    def down_quicker(self):
        while (not self.is_seated()):
            self.draw_new_square()
             
            self.canvas.after(50)
            self.canvas.update()
             
    #方向键控制
    def move(self,event):
        if event.keycode == 39:
            self.left_move()  
        elif event.keycode == 38:
            self.change()
        elif event.keycode == 37:
            self.right_move()
        elif event.keycode == 40:
            self.down_quicker()
        else:
            pass
    #开始游戏
    def play(self):
        self.canvas.bind('<Key>',self.move)
        self.canvas.focus_set()
         
        while True:
            if self.is_dead():
                self.gameover()
                break
             
            if self.is_seated():
                 
                self.get_seated()
                self.get_new_square()
                 
                self.draw_score()
                self.draw_square()
                self.draw_new_square()
                 
                 
            else:
                self.draw_new_square()
                 
                self.canvas.after(500)
                self.canvas.update()
             
 
    #游戏结束
    def gameover(self):
        if askquestion("LOSE",u"你输了!\n重新开始吗?") == 'yes':
            return self.restart()
        else:
            return self.window.destroy()
     
    #重新开始   
    def restart(self):
        self.initial()
         
        self.draw_square()
         
        self.get_new_square()
         
        self.draw_new_square()
         
        self.play()
      
#主程序
if __name__ == "__main__":
    Game_Russia()
python贪吃蛇代码 1、我们先看一下这个游戏的代码结构,我们可以看到,这是一个循环结构,每一次循环都会重新计算一次蛇的长度和方向,并且每一次循环都会获得一定的分数。先来看一下代码的逻辑: 通过代码我们可以看到,这款游戏是一种循环的模式,当你吃到一个东西后,你会继续往前走,直到吃到下一个东西。这款游戏的代码是非常简单的,不需要任何技术含量。通过上面的代码,我们了解到贪吃蛇的基本规则,如果我们掌握了这些规则,就可以按照它的规则来玩。最后,我想说的是,不管是玩贪吃蛇还是玩其他游戏,只要你有一个好心情,你就能在游戏中体验到很多乐趣。 阅读详情

相关推荐

贪吃蛇大作战:C语言代码

代码: 代码有点长, #include<stdio.h> #include<Windows.h> #include<time.h> #include<stdlib.h> #include<conio.h> #define U 1 #define D 2 #define L 3 #define R 4 struct snake { i...

WeChat:A15047825994 5212

C语言贪吃蛇小游戏,贪吃蛇C语言代码实现大全

设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言。贪吃蛇是非常经典的一款游戏,本次我们模拟在控制台实现贪吃蛇游戏,也就是实现贪吃蛇的基本功能,比如在地图中,用“↑↓←→”控制移动蛇的方向,吃掉食物之后,蛇身体会变长等等。。。。首先我们得分析,游戏中我们会碰见的一些情况。

chengxuyuanlaow的博客 3万+

CST中PEC结构涂覆吸波材料的RCS仿真与优化

本文详细介绍了在CST Studio Suite中对PEC结构涂覆吸波材料进行RCS仿真的完整流程与优化策略。通过精确的材料参数设置、涂层厚度优化和仿真技巧,有效降低目标的雷达散射截面,提升隐身性能。文章结合实战案例,为工程师提供了一套高效的RCS仿真与优化解决方案。

c2d3e4f的博客 692

python贪吃蛇游戏代码详解,python代码贪吃蛇小游戏

返回的是一个surface对象(surface对象是用于表示图像的图像,只要指定尺寸,就可以利用),resolution可以控制生成windows窗口的大小,flags代表的是扩展选项,depath不推荐设置。这是每秒内循环要运行的次数,所以这个循环应当每秒运行60次,在这里我只是说应当运行,因为循环只能按计算机能够保证的速度运行,每秒60个循环(或帧)时,每个循环需要1000/60=16.66ms(大约17ms)如果循环中的代码运行时间超过17ms,在clock指出下一次循环时当前循环将无法完成。

Leospanb的博客 2573

RTC温度补偿:如何让时间分秒不差?

RTC(实时时钟)温度补偿技术通过"检测温度→计算误差→动态调整频率"的闭环机制,解决振荡器频率随温度变化导致的时间误差问题。核心步骤包括:1)高精度温度检测;2)基于温度-频率误差模型计算偏差;3)通过硬件(可编程电容/DAC)或软件方式调整振荡频率。该技术需突破温度检测精度、误差模型拟合、频率调整分辨率等关键点,根据不同应用场景(消费电子±5ppm至军工±0.1ppm)选择匹配方案。典型实现如STM32的分段线性补偿算法,可将工业级RTC精度提升至±2ppm以内。

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1229

Obsidian与GPT协作:数学公式从KaTeX到MathJax的无缝转换实践

本文针对Obsidian用户从GPT等AI助手复制数学公式时遇到的KaTeX与MathJax格式不兼容问题,提供了高效的解决方案。重点介绍了KaTeX to MathJax插件的核心作用,它能自动将AI生成的KaTeX格式公式(如\(...\))无缝转换为Obsidian默认支持的MathJax格式($...$),实现复制粘贴后公式即时渲染,极大提升了数学笔记与AI协作的效率和流畅度。

weixin_29209825的博客 137

python贪吃蛇游戏代码详解,python贪吃蛇最简单代码

大家好,给大家分享一下python贪吃蛇游戏代码详解外加中文,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

weixin_61088415的博客 2263

快速了解Spyder

一 面板介绍菜单栏:放置所有功能工具栏:放置快捷菜单,可以通过菜单栏中的View的Toolbars的复选框来勾选工作区:写代码的地方属性页的标题栏:可以显示当前代码的名字和位置查看栏:查看文件、调试时的对象及变量输出栏:查看程序的输出信息,也可以作为shell终端来输入Python语句状态栏:用来显示当前文件权限、编码,光标指向位置和系统内存二 注释功能注释功能为编写代码很常用功能,下面介绍Spy...

实践求真知 1万+

C语言贪吃蛇游戏代码,贪吃蛇C语言代码实现大全

设计贪吃蛇游戏的主要目的是让大家夯实C语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的C语言。贪吃蛇是非常经典的一款游戏,本次我们模拟在控制台实现贪吃蛇游戏,也就是实现贪吃蛇的基本功能,比如在地图中,用“↑↓←→”控制移动蛇的方向,吃掉食物之后,蛇身体会变长等等。。。。首先我们得分析,游戏中我们会碰见的一些情况。

xiaocai 3086

帆软报表开发-快速入门

数据可视化展示功能特点如下:选择权限管理 > 用户最终权限 > 汤姆(Tom) > 选择图表设计入门 > 打开查看权限。

郭宝的博客 5970

4-20mA电流信号转电压

该电路实现4-20mA电流信号转电压(0.44-2.2V)调理功能,采用两级运放设计:第一级LMH6642MFX进行11倍放大,第二级配置为缓冲器加二阶低通滤波。电路包含10Ω采样电阻、多级RC滤波和ESD防护,具有抗干扰强、功耗低(4mW)等特点,适配3.3V系统ADC采集。通过使能控制MOS管可实现节能模式,适用于工业自动化、环境监测等场景。设计合理平衡了信号精度与功耗,输出电压范围留有充足余量避免饱和。

qq_37999850的博客 303

贪吃蛇源代码分析

今天已经是农历12月16号了,用这一篇博文给今年的博客画上一个句号吧。 首先,下载一个贪吃蛇的源代码,结构如下:(网上资源很大,我这里就不给出了) 打开AndroidManifest.xml找到应用入口 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xmob

水寒 6361

RK3568 OpenHarmony3.2 蓝牙模块AP6275S适配(已更新)

OpenHarmony3.2 Release版默认是适配AP6275s这款蓝牙芯片的,但是打开蓝牙,发现无法扫描到设备、连接设备。目前平台soc为RK3568,根据项目要求,自定义外设。接下来将以解决bug为目的,学习和记录OpenHarmony平台下蓝牙模块的适配流程。RK809 CLK:32.768KHzUART1M1:与蓝牙模块通讯的串口:GPIO4_B6:GPIO4_A5WAKE_GPIO:未定义,硬件拉高1.8V: 未定义,悬空主要是打开串口,/dev/ttyS1,得到文件描述符fd。

Martian_Jonas的博客 2246

python 贪吃蛇小游戏代码,python贪吃蛇最简单代码

这篇文章主要介绍了python贪吃蛇游戏代码详解外加中文,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

S1112_的博客 1151

出现 RuntimeError: adaptive_avg_pool2d_backward_cuda does not have a deterministic implementation的解决方法

大致就是在执行主函数的训练函数中,在反向传播这一块出现了问题。解决方法就是添加如下代码块。找到提示bug的行数。

码农研究僧的博客 5532

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python贪吃蛇完整代码免费,python贪吃蛇代码可复制

大家好,本文将围绕python贪吃蛇代码为什么不能动展开说明,python贪吃蛇代码及运行截图是一个很多人都想弄明白的事情,想搞清楚python贪吃蛇代码和运行结果需要先了解以下几个事情。在写Python游戏项目时,最重要的时python中的pygame库。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。本文实例为大家分享了pthon贪吃蛇游戏的具体代码,供大家参考,具体内容如下。#判断键盘事件,用w,s,a,d来表示上下左右。#初始化pygame,为使用硬件做准备。

A18036912的博客 2558

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OpenGL实现贪吃蛇代码

OpenGL实现贪吃蛇代码 #include <cassert> #include <cstdlib> #include <ctime> #include <GL/glut.h> // Header File For The GLUT Library #include <GL/gl.h> // Header File For The OpenGL32 Library #include <GL/glu.h> // Header Fi

weixin_46478293的博客 751

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

贪吃蛇游戏(代码篇)

我们并不是为了满足别人的期待而活着。

hsy1603914691的博客 8787

编写贪吃蛇游戏代码

代码·尽力简单了 注意: 请提前了解<windows.h> 源代码: 代码很良心 ,没有什么看不懂的东西 #include <iostream> #include <Windows.h> #include <conio.h> #include <fstream> using namespace std; char ch='w',o; ...

Flyfly_070323的博客 3097

python贪吃蛇简单代码_Python贪吃蛇简单的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼在自学Python的过程中在网上查询资料时发现了一些好玩的东西,python的游戏库模块,它可以自己弄一个小游戏来玩玩,然后我在网上找了一些游戏的代码,,自己改了一些,弄出了一个简单贪吃蛇,代码也是照着敲的只是稍微的改了一下import pygame, sys, random, timefrom pygame.locals import * # 从py...

weixin_39528289的博客 1355

贪吃蛇代码实现

c语言实现简易贪吃蛇小游戏哦

zhangyubo325的博客 5803

python贪吃蛇游戏代码详解,python制作贪吃蛇代码

Pygame是一个基于Python开发的游戏开发库,可以用于创建2D游戏和多媒体应用程序。它提供了一系列功能强大的工具和函数,使开发者可以方便地处理图形、声音、输入设备等,从而实现游戏的开发和设计。我们需要定义贪吃蛇和食物的初始位置,并为它们设置相应的速度。在游戏中,我们需要不断地更新贪吃蛇和食物的位置,并检查游戏是否结束。print("吃掉食物!")

2401_84666942的博客 2131
上一篇: python最全讲解(1)
下一篇: 十进制转二进制
cpkiteman
博客等级 码龄5年 9粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值