Snake

canvas 绘制一条属于自己的贪吃蛇

耗尽温柔 提交于 2020-11-20 03:47:06
效果如下 --_063 代码 < ! DOCTYPE html > < html lang = "zh_CN" > < head > < meta charset = "UTF-8" > < title > 贪吃蛇 < / title > < script src = "https://code.jquery.com/jquery-3.3.1.js" > < / script > < / head > < body > < canvas id = "canvas" width = "400" height = "400" > < / canvas > < script src = "./js/main.js" > < / script > < / body > < / html > let canvas = document . getElementById ( "canvas" ) ; let context = canvas . getContext ( "2d" ) ; // 分数记录 let fraction = 0 ; // 定义贪吃蛇的组成,方块对象 class Block { // 按照size的大小划分行列 // 列 col ; // 行 row ; // 大小 size ; constructor ( col , row , size ) { this . col

Building an AI-powered Battlesnake with reinforcement learning on Amazon SageMaker

…衆ロ難τιáo~ 提交于 2020-11-09 09:58:27
https://amazonaws-china.com/blogs/machine-learning/building-an-ai-powered-battlesnake-with-reinforcement-learning-on-amazon-sagemaker/ Battlesnake is an AI competition based on the traditional snake game in which multiple AI-powered snakes compete to be the last snake surviving. Battlesnake attracts a community of developers at all levels. Hundreds of snakes compete and rise up in the ranks in the online Battlesnake global arena . Battlesnake also hosts several offline events that are attended by more than a thousand developers and non-developers alike and are streamed on Twitch . Teams of

CVPR 2020 论文大盘点-实例分割篇

我的未来我决定 提交于 2020-10-29 07:16:36
本文盘点CVPR 2020 所有实例 分割( Instance Segmentation ) 相关论文( 语义分割在这里 ,不含全景分割、医学图像分割、交互式分割等,以上将会另行总结),总计 18 篇,对文献进行了分类汇总,希望对大家有帮助。 下面这张经典图片,简单明了地说明了实例分割与其他视觉三大任务的区别: 图像分类是对整幅图像给出一个类别,目标检测将感兴趣的物体框出来,语义分割将相同类别的物体分割出来,实例分割则要分割出感兴趣类别物体的个体,既是对图像的像素级分割,又是实例级理解。 这18篇文章中有一篇Oral( Deep Snake ),含2D实例分割 8 篇(一阶段one-shot实例分割有好几篇),3D点云实例分割 5 篇,解决标注数据不足问题的非监督/半监督/小样本学习的实例分割各 1 篇,另外IBM研究了实例分割跟踪,还有 1 篇实例分割在生物图像中的应用,既高精度又兼顾速度。 通过近几天的对CVPR 2020 的总结发现,3D点云数据是视觉大趋势,在各个领域都有丰富的研究成果,实例分割也不例外。 18篇中9篇有开源代码,另外有中文解读的也把网址附上了。 大家可以在: http://openaccess.thecvf.com/CVPR2020.py 按照题目下载这些论文。 如果想要下载所有CVPR 2020论文,请点击这里: CVPR 2020 论文全面开放下载

snake_case 和camelCase

拟墨画扇 提交于 2020-10-05 00:37:43
snake_case被称为蛇形命名法,一般是用来命名变量名称的,snake case要求短语内的各个单词或缩写之间以 (下划线)做间隔,如user_name,snakecase etc. camelCase被称为驼峰命名法,也是一种变量命名规则。camelCase要求第一个单词首字母小 写,后面单词首字母大写,例如:fileName、lineNumber,camelCase etc. 最后再说一次,你们这个文本编译器是真难用。空格Tab键给我自动加格式。。真服了 来源: oschina 链接: https://my.oschina.net/u/4404772/blog/4631610

贪吃蛇

偶尔善良 提交于 2020-10-01 01:19:08
贪吃蛇 本文已被搬运到Github去咯 https://github.com/hsh778205/Greedy-Snake 不完善的地方:电脑走只能死走,没学人工智能 # include<iostream> # include<algorithm> # include<cstdio> # include<cstring> # include<cmath> # include<windows.h> # include<stdlib.h> # include<fstream> # include<set> # include<queue> # include<vector> # include<ctime> # include<conio.h> # define IL inline # define re register # define LL long long using namespace std; void init(); int lx,ly; void hide(); void backxy(); void gotoxy0(int,int); void gotoxy(int,int); void getxy(); const int A =10,B=11,C=12,D=13,E=14,F=15 ; void SetColor(unsigned short,unsigned

[LeetCode] 909. Snakes and Ladders 蛇梯棋

我的梦境 提交于 2020-09-26 17:38:54
On an N x N `board`, the numbers from `1` to `N*N`are written *boustrophedonically* starting from the bottom left of the board, and alternating direction each row. For example, for a 6 x 6 board, the numbers are written as follows: You start on square 1 of the board (which is always in the last row and first column). Each move, starting from square x , consists of the following: You choose a destination square S with number x+1 , x+2 , x+3 , x+4 , x+5 , or x+6 , provided this number is <= N*N . (This choice simulates the result of a standard 6-sided die roll: ie., there are always at most 6

基于 pygame 设计贪吃蛇游戏

不打扰是莪最后的温柔 提交于 2020-08-20 07:54:56
转载注明链接: https://www.cnblogs.com/liquancai/p/13269428.html 基于 pygame 设计贪吃蛇游戏 贪吃蛇游戏通过玩家控制蛇移动,不断吃到食物增长,直到碰到蛇身或边界游戏结束。其运行效果如下所示: 游戏开始时,先导入可能需要用到的包。 import time import random import pygame from pygame.locals import * 输入下面两行来启用并初始化 pygame,这样 pygame 在改程序中就可以使用了。 pygame.init() fps_clock = pygame.time.Clock() 第 1 行告诉 pygame 初始化,第 2 行创建一个名为 fps_clock 的变量,改变量用来控制刷新游戏界面(即 游戏循环执行)的速度。然后用下面的两行代码新建一个 pygame 显示层(游戏元素画布)。第 3~6 行分别定义了游戏结束画面显示的 “ Game Over ”,及其字体、大小、位置等。 screen = pygame.display.set_mode(SCREEN_RECT.size) # SCREEN_RECT 是游戏界面的 rect。 pygame.display.set_caption("贪吃蛇") gameover_font = pygame.font

因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名

情到浓时终转凉″ 提交于 2020-08-19 02:52:38
本文已经收录进我的 80K+ Star 的 Java 开源项目 JavaGuide: https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大部分Java程序员所需要掌握的核心知识) 编程过程中,有太多太多让我们头疼的事情了,比如命名、维护其他人的代码、写测试、与其他人沟通交流等等。就连世界级软件大师 Martin Fowler 大神都说过 CS 领域有两大最难的事情,一是 缓存失效 ,一是 程序命名 (@ https://martinfowler.com/bliki/TwoHardThings.html )。 今天 Guide 就单独拎出 “ 命名 ” 来聊聊,据说之前在 Quora 网站,由接近 5000 名程序员票选出来的最难的事情就是“命名”。 这篇文章配合我之前发的 《编码 5 分钟,命名 2 小时?史上最全的 Java 命名规范参考!》 这篇文章阅读效果更佳哦! 为什么需要重视命名? 好的命名即是注释,别人一看到你的命名就知道你的变量、方法或者类是做什么的! 好的命名对于其他人(包括你自己)理解你的代码有着很大的帮助! 简单举个例子说明一下命名的重要性。 《Clean Code》这本书明确指出: 好的代码本身就是注释,我们要尽量规范和美化自己的代码来减少不必要的注释。 若编程语言足够有表达力,就不需要注释

因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名

半腔热情 提交于 2020-08-15 10:33:04
本文已经收录进我的 80K+ Star 的 Java 开源项目 JavaGuide: https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大部分Java程序员所需要掌握的核心知识) 编程过程中,有太多太多让我们头疼的事情了,比如命名、维护其他人的代码、写测试、与其他人沟通交流等等。就连世界级软件大师 Martin Fowler 大神都说过 CS 领域有两大最难的事情,一是 缓存失效 ,一是 程序命名 (@ https://martinfowler.com/bliki/TwoHardThings.html )。 今天 Guide 就单独拎出 “ 命名 ” 来聊聊,据说之前在 Quora 网站,由接近 5000 名程序员票选出来的最难的事情就是“命名”。 这篇文章配合我之前发的 《编码 5 分钟,命名 2 小时?史上最全的 Java 命名规范参考!》 这篇文章阅读效果更佳哦! 为什么需要重视命名? 好的命名即是注释,别人一看到你的命名就知道你的变量、方法或者类是做什么的! 好的命名对于其他人(包括你自己)理解你的代码有着很大的帮助! 简单举个例子说明一下命名的重要性。 《Clean Code》这本书明确指出: 好的代码本身就是注释,我们要尽量规范和美化自己的代码来减少不必要的注释。 若编程语言足够有表达力,就不需要注释

Python 为什么推荐蛇形命名法?

混江龙づ霸主 提交于 2020-08-15 03:34:45
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨豌豆花下猫 来源丨Python猫( python_cat ) 关于变量的命名,这又是一个容易引发程序员论战的话题。如何命名才能更具有可读性、易写性与明义性呢?众说纷纭。 本期“Python为什么”栏目,我们将聚焦于变量命名中的连接方式,来切入这块是非之地,想要回答的问题是—— Python 为什么要推荐蛇形命名法? 首先一点,对于 单个字符或者单词 (例如: a、A、PYTHON、Cat ),当它们被用作变量名时,大致有全小写、全大写和首字母大写这几种情况。编程语言中出现这些情况时,它们基本上跟英语的表达习惯是相同的。 但是,编程语言为了令变量名表达出更丰富的含义,通常需要使用 多个单词或符号。 英语习惯使用空格来间隔开单词,然而这种用法在编程语言中会带来一些麻烦,所以程序员们就创造出了另外的方法: 蛇形命名法(snake case) 驼峰命名法(camel case) 匈牙利命名法(HN case) 帕斯卡命名法(Pascal case) 脊柱命名法(spinal case) 自由命名法(studly caps) 驼峰蛇形命名法 总体而言,这些命名法都是要 克服单词间的空格,从而把不同单词串连起来, 最终达到创造出一种新的