转眼就过去近两个月!时间过得真他妈快!
这两个月里,脑子其实想得挺简单的,就是学习以及调整状态和心态来更好的学习.
对我来说最大的困难,还是老问题:容易走神,注意力集中.我也一直在调整.最好的办法还是坚持每天锻炼.跑步,游泳,俯卧撑轮着来.效果最明显的还是跑步.跑完步后,感觉自己的精神会好上很多.嗯,继续坚持!
基础知识不扎实.现在学习内容还挺多,而且90%都是新知识,压力有点大.感觉很多知识都停留在很浅的层次.所以在做具体的练习或者项目的时候,经常被一些小的知识点卡住,耽误大量时间.这个需要大量的时间来积累.现在能做就是课后多看一下,看得时候用心记一下.
还有就是自己表达能力很差.感觉自己思路是清晰的,自己的问题主要集中语言组织能力差和自己的不自信带来的肢体的扭怩.语言组织能力不是一时能提升的,把它先放一边,在心里给自己提个醒.自己表达时的肢体是可以快速的改进的.主要是自己内心要自信,然后控制自己的小动作,每个动作都尽量果断一点,不要犹豫不决.
收获主要来源于问题的解决!
每天锻炼身体会一直坚持下去.
学习了大量新的知识.html,css,js,jquery,zepto,sui,dot等等.
意识到了自己的表达问题.
我之前没这么独立写过小游戏.自己独立完成一个游戏收获还是挺大的.
过程:构思-->代码实现-->调整构思-->代码实现-->调整构思-->代码实现...
现在功能好像实现了,但是还有大量细节和拓展值得去思考.这个代码我也会一直优化下去.完善功能,增强拓展性,精简代码结构. 上代码:
<script type="text/javascript">
var c = document.getElementById("canvas");
var cxt = c.getContext("2d");
var dis = 50;//距离
var arr = [[0, 0], [50, 0], [100, 0]];//蛇的位置初始化
var a = [];
// 画竖线
ayb.row = function (pos) {
cxt.moveTo(pos, 0);
for (var i = 0; i <= 500; i = i + dis) {
cxt.lineTo(pos, i);
}
cxt.stroke();
}
// 画横线
ayb.col = function (pos) {
cxt.moveTo(0, pos);
for (var i = 0; i <= 500; i = i + dis) {
cxt.lineTo(i, pos);
}
cxt.stroke();
}
//小个点
ayb.block = function (x, y) {
cxt.fillStyle='#ff0000';
cxt.fillRect(x + 1, y + 1, dis - 2, dis - 2);
}
// 蛇 snakeLength
ayb.snake = function (arr) {
for (var i = 0; i < arr.length; i++) {
ayb.block(arr[i][0], arr[i][1]);
}
}
// 随机数
ayb.randomNum = function () {
var Rand = 10 * Math.random();
return Math.floor(Rand);
}
// 随机数组
ayb.randomPos = function () {
var position = [];
position[0] = dis * ayb.randomNum();
position[1] = dis * ayb.randomNum();
for (var i = 0; i < arr.length; i++) {
if (arr[i][0] === position[0]) {
if (arr[i][1] === position[1]) {
return ayb.randomPos();
}
}
}
return position;
}
for (var i = 0; i <= 500; i = i + dis) {
ayb.row(i);
ayb.col(i);
}
function keyDown(e) {
var keycode = e.which;
if(keycode == 39){//右
cxt.clearRect(arr[0][0] + 1, arr[0][1] + 1, dis - 2, dis - 2);
arr.shift();//删除第一个元素
if (arr[arr.length - 1][0] + dis == a[0]) {
if (arr[arr.length - 1][1] == a[1]) {
arr.push([arr[arr.length - 1][0] + dis, arr[arr.length - 1][1]]);
a = ayb.randomPos();
ayb.block(a[0], a[1]);
}
}
arr.push([arr[arr.length - 1][0] + dis, arr[arr.length - 1][1]]);
}else if (keycode == 37) {//左
cxt.clearRect(arr[0][0] + 1, arr[0][1] + 1, dis - 2, dis - 2);
arr.shift();//删除第一个元素
if (arr[arr.length - 1][0] - dis == a[0]) {
if (arr[arr.length - 1][1] == a[1]) {
arr.push([arr[arr.length - 1][0] - dis, arr[arr.length - 1][1]]);
a = ayb.randomPos();
ayb.block(a[0], a[1]);
}
}
arr.push([arr[arr.length - 1][0] - dis, arr[arr.length - 1][1]]);
}else if (keycode == 38) {//上
cxt.clearRect(arr[0][0] + 1, arr[0][1] + 1, dis - 2, dis - 2);
arr.shift();//删除第一个元素
if (arr[arr.length - 1][0] == a[0]) {
if (arr[arr.length - 1][1] - dis == a[1]) {
arr.push([arr[arr.length - 1][0] , arr[arr.length - 1][1] - dis]);
a = ayb.randomPos();
ayb.block(a[0], a[1]);
}
}
arr.push([arr[arr.length - 1][0], arr[arr.length - 1][1] - dis]);
}else if (keycode == 40) {//下
cxt.clearRect(arr[0][0] + 1, arr[0][1] + 1, dis - 2, dis - 2);
arr.shift();//删除第一个元素
if (arr[arr.length - 1][0] == a[0]) {
if (arr[arr.length - 1][1] + dis == a[1]) {
arr.push([arr[arr.length - 1][0] , arr[arr.length - 1][1] + dis]);
a = ayb.randomPos();
ayb.block(a[0], a[1]);
}
}
arr.push([arr[arr.length - 1][0], arr[arr.length - 1][1] + dis]);
}
ayb.snake(arr);
}
document.onkeydown = keyDown;
ayb.snake(arr);
a = ayb.randomPos();
ayb.block(a[0], a[1]);
</script>
初始位置:
长大一格:
长得更大:
我的更多笔记.
相关文章推荐: