h4ck47h0n ? h4ck3r ? I"m just a coder......
【0x00】
刚开了专栏,没事过来投投稿混眼熟啦~//才不是为了抱枕呢
刚刚结束了黑客马拉松,回来也是缓了好久才缓过来。这么高强度的脑洞劳动···阿不,是脑力劳动的说。真的第一次。说起来,跟代码相识,还是源于一个带我入坑的大神@skywalker_z ,真·人生赢家。的确,他带着我走进了这么一条不归路。
【0x01】
前一天跟小伙伴一起坐动车从南京赶到上海。对,就是这个@MonkeyFigaro zai 还就是520这么个晚上,我跟这货大老远从南京跑到上海开了个房······好吧,不吐槽,我们继续说正事······第二天到赛场也是直接打车就过去了,起步价,很容易就找到地方。刚到赛场完全处于蒙逼状态,啥都不懂,找个地先坐下稳稳神···
然后就开始听烧碱的开场咯~毕竟不是第一次接触这些人,风格依旧是那个风格~这次还照顾到了国际友人,找到了angelhack的boss做了同传,感觉好厉害~
其实本来就是抱着个试试的心态,没有太多的准备,就跑去参赛赛,真正接触网页编程也就这么半年左右的时间,技术还没掌握的全面,于是我们开始组队,讨论想法,最后确定我们要做页面小游戏。于是就开始了这个到现在还没有完成的小项目···
【0x02】
最初小游戏的想法是由于我们的小团队里面有这么个以做游戏见长的,于是我们本着人尽其用的原则,选择了使用html页面实现无物理引擎下的小游戏。
最初想到了主题,打算了以建筑为核心,后来发现其复杂程度超过我们承受范围,pass!然后又想到MC的2D版,同样是因为技术上原因,我们没办法完成,pass!技术评估到最后,终于定下来。最后游戏的主题定在了很小的解谜游戏这样的定位上,于是就开始动手做啦!
【0x03】
技术上难度其实并不大,关键在游戏模式上面。首先,在游戏区域里面,我们设置了800400像素的区域作为游戏的主要区域,并用2020像素的小格分割为40*20的方阵,方阵中每一个小格都是可以放置方块的。那么可定义的方块,我们设置了五个功能方块,分别是加速,减速,上跳,下落,失重,一个普通方块,平台。游戏模式为关卡模式,每一关卡有自己的地形因素,并给定数量的方块用于搭建路径。方块数量有限,但一定可以到达对面,因此即含有益智也含有解谜的因素。
【0x04】
技术层面的话,最开始打算完全用前端实现,前端界面完成以后发现很多东西不是原生js可以实现的,于是我们引入了jquary,进行路经计算和鼠标点击位置的获取。这一切做好以后,由于关卡和功能方块需要可变因素,于是准备上世界上最好的语言PHP并将控制交给本地服务器和浏览器处理。在PHP中设定全局变量关卡和全局变量模式,分别对应关卡数和方块的功能,通过控制每个方块的功能ID调用不同的js函数完成小球的路径演算,左下方开始按钮为触发路径。由于没有启用任何的物理引擎,所有路径均为即时演算。具体是否可行还是要看进一步开发。
【0x05】
尽管到最后我们也没有在比赛结束之前完成,但是想法还是应初步实现了的,至少我们的doge从起点穿梭到了终点。我也会慢慢把这个小游戏写完,但是,完工的日子,可能遥遥无期吧?对于现场提供的石墨文档,声网API等等这些我们还没有涉及,不仅是因为我们技术不够,更多的是我们没有把方向定向在这方面,不过还是觉得石墨文档这东西神奇的很,希望能继续加油,我也会一直使用的~
【0x06】
虽然技术方面我们没有做好充足的准备就过来,但是我们可是做好了重充分的准备来吃的。之前就听说伙食很好,果然名不虚传,有图为证
当然啦,现场还有很多其他的吃的,玩的,打字机,波比足球,每当坐不住的时候,站起来活动一下,还是很棒的~
还有AH和SF在开场送的文化衫,穿上超级舒服~据说会越洗越软?以后慢慢试试~
这里贴上一只不愿透露姓名的猴子
赛后的学习阶段(也就是各小组的展示阶段)真是令我大开眼界,也算是出来好好学习个。那么多不懂得技术,那么多没通听过的工具,看来自己还是要多多增长自己的姿势水平啊~
希望下次能来南京,大家一起嗨~(折腾上海还是有些累的233333)
附图
偷拍烧碱
我给你拿着你说
偷偷艾特@烧碱
h4ck47h0n ? h4ck3r ? I"m just a coder......的更多相关文章
- 面向组合子设计Coder
面向组合子 面向组合子(Combanitor-Oriented),是最近帮我打开新世界大门的一种pattern.缘起haskell,又见monad与ParseC,终于ajoo前辈的几篇文章. 自去年9 ...
- Top Coder算法题目浏览器
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/top-code-offline-browser/ 关于 左耳朵耗子 ...
- 高效coder,筹备开源框架toutou.escort.js
背景:JavaScript在工作中运用的非常广泛,作为一门弱类型语言,在使用JavaScript的时候,很多事情需要coder manual的去完成,这无疑增加了coder的工作量. 扩展:在这样的背 ...
- 新时代的coder如何成为专业程序员
在移动互联网"泛滥"的今天,越来越多非专业(这里的非专业指的是非计算机专业毕业的程序员)程序员加入到了IT行业中来了,可能是因为移动互联网的火爆导致程序员容易就业而且工资很高,可能 ...
- java 练手 谁是最好的Coder
Problem A 谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所 ...
- java coder的水平
写java写了也12年了,不决的自己是高手,但是也体会了一些变化.总的来说,Java可以分成几个层次: 首先是需求理解层次,这个层次的coder能理解需求,把需求转化成代码: 第二个层次是单测,能够对 ...
- nyist 596 谁是最好的Coder
http://acm.nyist.net/JudgeOnline/problem.php?pid=596 谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 难度:0 ...
- HDU4288:Coder(线段树单点更新版 && 暴力版)
Problem Description In mathematics and computer science, an algorithm describes a set of procedures ...
- CodeForces 384A Coder
Coder Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Statu ...
随机推荐
- qyqt5(一)
一.PyQt窗口处理 1. 第一个PyQt窗口 from PyQt5.QtWidgets import QApplication,QWidget import sys # 1.创建应用程序 app = ...
- JZ-004-重建二叉树
重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序 ...
- 如何使用在线工具手动验证JWT签名
如何使用在线工具手动验证JWT签名 先丢一个转换地址:https://cryptii.com/ 首先: jwt分为三个部分:header,payload,verifysignature ...
- 压力测试工具——jmeter
Jmeter:这是一个绿色的工具,但是它需要依赖与jdk 8的环境,所以在安装的时候需要安装jdk8. 下载地址: 链接:https://pan.baidu.com/s/1pGj1hAqJBBoSHf ...
- tensorflow源码解析之framework拾遗
把framework中剩余的内容,按照文件名进行了简单解析.时间原因写的很仓促,算是占个坑,后面有了新的理解再来补充. allocation_description.proto 一个对单次内存分配结果 ...
- tensorflow源码解析之framework-function
目录 什么是function FunctionDef 函数相关类 关系图 涉及的文件 迭代记录 1. 什么是function 在讲解function的概念之前,我们要先回顾下op.op是规定了输入和输 ...
- linux下更改文件字符格式为uft-8
liunx下发布的.net Core 程序,发现短信签名不错误不能发出.后来检查发现配配文件中的字符为乱码才知道是因为字符格式问题. 因为服务器批较多,还是使用命令来解决比较快.使用iconv来更改. ...
- Windows 下 MySQL 简单定时自动备份、删除过期备份
Windows 下 MySQL 简单定时自动备份.删除过期备份 MySQL Workbench 客户端虽然好用,但并不提供自动备份功能.手工备份,确实繁琐. 新建一个 数据库备份文件存放目录,本例为D ...
- CF492E题解
屑题. 考虑对于每一个 \((x,y)\),将其与 \(((x+dx) \mod n,(y+dy) \mod n)\) 连边. 答案就是连通块中权值最大的那个. 考虑对于 \((x_1,y_1)\) ...
- python学习之numpy实战
import numpy as np def main(): lst=[[1,3,5],[2,4,6]] print('hello world') print(type(lst)) np_lst = ...