高中python教程标准_高中应该怎样自学Python?

如果你是零基础入门 Python 的话,建议初学者至少达到两个目标: 会用,理解。

会用

通过 Python 入门教程,学习 Python 的语法,熟悉 Python 标准库的使用。

目前 Python 官方已经发布了中文版的官方教程,降低了学习 Python 的门槛。建议初学者一开始直接从 Python 官方教程开始学习 Python。

通过 Python 官方教程,学习 Python 的语法,熟悉 Python 标准库的使用。

目前 Python 官方已经发布了中文版的官方教程,降低了学习 Python 的门槛。建议初学者一开始直接从 Python 官方教程开始学习 Python。

理解

程序这个东西,即使你一知半解,也是可以跑的通的。但是这样的学习效果不是我们想要的。程序能运行,不代表你学会了。所以,不管是学习 Python,还是其他语言,理解程序是最重要的,理解了程序,才能学会。

初学者可以通过 Python Tutor ,直接在 Web 浏览器中编写 Python 代码,可视化地运行程序。

通过可视化的程序运行步骤,来帮助初学者理解程序,加深对代码的思考。

如果你觉得看文章学习枯燥无味,还可以找 Python 的视频教程来学习。

我这里积累了很多的python干货资料,需要的可以找我来拿

参考下图找我

var GameLayer = cc.Layer.extend({

touchStartX:0,

touchStartY:0,

bullets:[],

enemies:[],

tools:[],

ctor: function () {

this._super();

this.touchStartX = 0;

this.touchStartY = 0;

this.bullets = [];

this.enemies = [];

this.tools = [];

// 播放背景音乐

cc.audioEngine.playMusic("res/sound/game_music.mp3",true);

// 加载plist

cc.spriteFrameCache.addSpriteFrames(res.shoot_background_plist);

cc.spriteFrameCache.addSpriteFrames(res.shoot_plist);

// 添加背景图

var bg = new Background(false);

bg.setPosition(0,0);

this.addChild(bg);

// 添加飞机

var player = new Player(this);

player.setPosition(cc.winSize.width / 2, -player.height / 2);

this.addChild(player);

player.setTag(1);

// 产生敌机

this.schedule(function(){

this.createEnemy(1);

},Global.createEnemySpeed(1));

this.schedule(function(){

this.createEnemy(2);

},Global.createEnemySpeed(2));

this.schedule(function(){

this.createEnemy(3);

},Global.createEnemySpeed(3));

// 产生道具

this.schedule(function(){

this.createTool(1);

},Global.createToolSpeed(1));

this.schedule(function(){

this.createTool(2);

},Global.createToolSpeed(2));

// 添加爆炸道具

var bombNor = new cc.Sprite(cc.spriteFrameCache.getSpriteFrame("bomb.png"));

var bombSelected = new cc.Sprite(cc.spriteFrameCache.getSpriteFrame("bomb.png"));

bombSelected.setPosition(-bombSelected.width/4,-bombSelected.height/4);

bombSelected.setScale(1.5);

var bombBtn = new cc.MenuItemSprite(

bombNor,

bombSelected,

function () {

var bombNum = this.getChildByTag(3);

if(parseInt(bombNum.getString().slice(1))==0){

return;

}

// 全屏爆炸

var blowEnemy = [];

for(var i in this.enemies){

var enemy = this.enemies[i];

blowEnemy.push(enemy);

}

for(var j in blowEnemy){

blowEnemy[j].blowUp();

}

// 数量减一

bombNum.setString("X"+(parseInt(bombNum.getString().slice(1))-1));

}, this);

bombBtn.setPosition(50+bombBtn.width/2,50+bombBtn.height/2);

var bombMenu = new cc.Menu(bombBtn);

bombMenu.setPosition(0,0);

bombMenu.setAnchorPoint(0,0);

this.addChild(bombMenu);

// 爆炸道具数量

var bombNum = new cc.LabelBMFont("X2",res.font);

bombNum.setAnchorPoint(0,0.5);

bombNum.setPosition(bombBtn.getPositionX()+bombBtn.width/2+50,bombBtn.getPositionY());

bombNum.setTag(3);

this.addChild(bombNum);

// 暂停开始按钮

var pauseBtn = new cc.MenuItemSprite(

new cc.Sprite(cc.spriteFrameCache.getSpriteFrame("game_pause_nor.png")),

new cc.Sprite(cc.spriteFrameCache.getSpriteFrame("game_pause_pressed.png")),

function () {

// 暂停音乐音效

cc.audioEngine.pauseAllEffects();

cc.audioEngine.pauseMusic();

pauseBtn.setEnabled(false);

cc.director.pause();

this.addChild(new PauseLayer(pauseBtn),10);

}, this);

var pauseMenu = new cc.Menu(pauseBtn);

pauseMenu.setPosition(20+pauseBtn.width/2,cc.winSize.height-pauseBtn.height/2-20);

pauseMenu.setAnchorPoint(0,0);

this.addChild(pauseMenu);

// 分数

var score = new cc.LabelBMFont("0",res.font);

score.setAnchorPoint(0,0.5);

score.setPosition(pauseMenu.getPositionX()+pauseBtn.width/2+50,pauseMenu.getPositionY());

score.setTag(2);

this.addChild(score);

// 碰撞检测

this.schedule(this.collision);

return true;

},

collision:function(){

var bullets = this.bullets;

var enemies = this.enemies;

var tools = this.tools;

var score = parseInt(this.getChildByTag(2).getString());

for(var i in enemies){

var enemy = enemies[i];

// 检测是否与玩家碰撞

var player = this.getChildByTag(1);

if(cc.rectIntersectsRect(enemy.getBoundingBox(),player.getBoundingBox())){

// 游戏结束

this.unschedule(this.collision);

player.blowUp();

// 停止背景音乐

cc.audioEngine.stopMusic("res/sound/game_music.mp3");

cc.audioEngine.playEffect("res/sound/game_over.mp3");

this.scheduleOnce(function() {

cc.director.runScene(new cc.TransitionFade(1,new OverScene(score)));

},2);

}

// 检测是否吃到道具

for(var m in tools){

var tool = tools[m];

if(cc.rectIntersectsRect(tool.getBoundingBox(),player.getBoundingBox())){

switch(tool.type){

case 1:

// 双排子弹道具

cc.audioEngine.playEffect("res/sound/get_double_laser.mp3");

player.shootDoubleBegin();

break;

case 2:

// 清屏道具

cc.audioEngine.playEffect("res/sound/get_bomb.mp3");

var bomb = this.getChildByTag(3);

bomb.setString("X"+(parseInt(bomb.getString().slice(1))+1));

bomb.runAction(cc.sequence(cc.scaleTo(0.1,1.2),cc.scaleTo(0.1,1)));

break;

}

tool.remove();

}

}

for(var j in bullets){

var bullet = bullets[j];

// 检测是否与子弹碰撞

if(cc.rectIntersectsRect(enemy.getBoundingBox(),bullet.getBoundingBox())){

enemy.hit();

bullet.remove();

}

}

}

},

addScore:function(type){

var score = this.getChildByTag(2);

var addScore = 0;

var curScore = parseInt(score.getString());

switch(type){

case 1:

addScore = 100 + Math.ceil(Math.random()*(curScore/1000));

break;

case 2:

addScore = 200 + Math.ceil(Math.random()*(curScore/1000));

break;

case 3:

addScore = 500 + Math.ceil(Math.random()*(curScore/1000));

break;

}

score.setString(curScore+addScore);

},

createEnemy:function(type){

var enemy = new Enemy(type,this);

var randomX = Math.random()*(cc.winSize.width-enemy.width/2-enemy.width/2)+enemy.width/2;

enemy.setPosition(randomX,cc.winSize.height+enemy.height/2);

this.addChild(enemy);

this.enemies.push(enemy);

},

createTool:function(type){

var tool = new Tool(type,this);

var randomX = Math.random()*(cc.winSize.width-tool.width/2-tool.width/2)+tool.width/2;

tool.setPosition(randomX,cc.winSize.height+tool.height/2);

this.addChild(tool);

this.tools.push(tool);

},

onEnter:function(){

this._super();

// 添加触摸事件

cc.eventManager.addListener({

event:cc.EventListener.TOUCH_ONE_BY_ONE,

swallowTouches:true,

onTouchBegan:this.touchbegan,

onTouchMoved:this.touchmoved,

onTouchEnded:this.touchended

},this);

return true;

},

touchbegan:function(touch,event){

event.getCurrentTarget().touchStartX = touch.getLocation().x;

event.getCurrentTarget().touchStartY = touch.getLocation().y;

return true;

},

touchmoved:function(touch,event){

var touchX = touch.getLocation().x;

var touchY = touch.getLocation().y;

var touchStartX = event.getCurrentTarget().touchStartX;

var touchStartY = event.getCurrentTarget().touchStartY;

var player = event.getCurrentTarget().getChildByTag(1);

if(player!=null){

player.moveBy(touchX-touchStartX,touchY-touchStartY);

event.getCurrentTarget().touchStartX = touchX;

event.getCurrentTarget().touchStartY = touchY;

}

return true;

},

touchended:function(touch,event){

return true;

}

});

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
廖雪峰 python3 教程这是小白的Python新手教程,具有如下特点: 中文,免费,零起点,完整示例,基于最新的Python 3版本。 Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。 那Python是一种什么语言? 首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。 比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。 所以Python是一种相当高级的语言。 你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。 那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。 但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。 用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。 Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Swift/Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。 如果你是小白用户,满足以下条件: 会使用电脑,但从来没写过程序; 还记得初中数学学的方程式和一点点代数知识; 想从编程小白变成专业的软件架构师; 每天能抽出半个小时学习。 不要再犹豫了,这个教程就是为你准备的!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值