一个极佳的编程语言练习项目
当我们在学习一门编程语言的时候,往往会做很多代码的练习,但是这些练习的代码都是孤立的,之间没有联系,而且练习的内容都是比较局部的问题,不能反应编程语言在整个软件的开发过程的应用,在我的课程里除了代码片段的练习,增加了一个完整的软件项目,贯穿到整个语言的学习过程,在讲解基础知识的同时,也讲述了基础知识的使用,以及软件开发的一般过程和思路。这个项目是一个游戏,见图
游戏的规则是这样的,点击一个球可以移动到不同的格子里,移动的时候必须延着没有球的格子滚过去,每移动一次随机出现3个球,把5个以上颜色相同的球联成一条线,就可以销掉得分.移动球的时候,程序要找两个点间的最短路径,是这个游戏里比较难的部分,在浙江大学的acm试题库里居然看到了这道题,在算法里不算很难,采用广度优先算法就可以了。
编写的过程,先是考虑数据如何存储,有了存储,就可以考虑逻辑的实现,就是算法的实现,实现算法,当然离不开函数,有了函数的定义才能更好的明确算法的边界,即条件和结果,然后才是考虑如何实现算法,这里一共有三个算法,随机放球,判断消球,寻找路径。最后,考虑采用什么样的界面,熟悉相应的函数库的使用。这个顺序和我的编程课程的顺序是完全一致的。这样下来,通过一个完整项目的实践,对语言的理解和驾驭都达到了较高的程度,这个项目除了C语言,JAVA,C#,JAVASCRIPT,PHP等各种语言都可以采用,这里面3个算法,都很典型,有一定难度,但都容易理解,有一定趣味,实现3个算法,已经说明你对语言的掌控能力已经过关了,界面在这里其实不是很重要,主要是用来学习如何使用类库,已经不是语言的范畴。
刚学过语言,想找个项目练习的同学,可以尝试着写一下这个游戏,巩固一下学习效果,对于看不清楚自己水平的同学,也可以做一下,来验证一下自己的水平。在编写的过程中,代码重构,单元测试等东西都会用到, 你是否用了,欢迎大家把自己的编写体验拿出来分享。
方便交流,点击可以加为好友。http://student.csdn.net/invite.php?u=108270&c=189a59b57330cb29
一个极佳的编程语言练习项目相关推荐
- 又是一个极佳的虚拟机网站
这次的虚拟机网站要比之前的pcjs还要好,因为这个网站更加稳定 看图: 不得不说,太像了 甚至连窗口都和真正的Windows98一模一样 打开记事本 还可以保存txt,步骤和Windows中的一样 绝 ...
- “嫦娥五号”发射成功,文昌鲁能希尔顿酒店提供极佳观测点
2020年11月24日凌晨4时30分,在中国文昌航天发射场,用长征五号遥五运载火箭成功发射探月工程嫦娥五号探测器,火箭飞行约2200秒后,顺利将探测器送入预定轨道,开启中国首次地外天体采样返回之旅.作 ...
- 在vue项目中使用gsap,实现极佳的2d动画效果
在vue项目中使用gsap,实现极佳的2d动画效果 一.GSAP是什么? 二.使用步骤 1.引入库 2.在vue中使用 3.vue组件使用gsap完整代码 总结 一.GSAP是什么? GSAP全称是G ...
- python采用强制自动缩进使得代码具有极佳的可读性_Python简介
1. python设计定位 Python的设计哲学是"优雅"."明确"."简单".Python开发者的哲学是"用一种方法,最好是只 ...
- 用CLIP做多个视频任务!上交牛津提出基于Prompt将CLIP拓展到多个视频任务,在open-set场景中效果极佳!...
VU 关注公众号,发现CV技术之美 本文分享论文『Prompting Visual-Language Models for Efficient Video Understanding』,用 CLIP 做 ...
- “抗疫”新战术:世卫组织联合IBM、甲骨文、微软构建了一个开放数据的区块链项目!...
作者 | Rohit Chatter jee 译者 | 天道酬勤 责编 | 徐威龙 出品 | 区块链大本营(blockchain_camp) 如今,新冠肺炎是每个人心中最重要的话题.浏览我们的社交媒体 ...
- python采用强制缩进的方式使得代码具有极佳的可读性_Python 的教程(2)
解释性 -- 这一点需要一些解释.一个用编译性语言比如 C 或 C++ 写的程序可以从源文件(即 C 或 C++ 语言)转换到一个你的计算机使用的语言(二进制代码,即0和1).这个过程通过编译器和不同 ...
- python采用强制缩进的方式使得代码具有极佳的_Python基础
Python的哲学: 明确,优雅,简单 Python更强大,执行效率比shell该 Python可以跨平台 可移植性好,标准统一,在不同的平台程序结果一样,但是shell可能不一样 python模块丰 ...
- 即时通讯工具的 23 个极佳优化方案(附产品原型)
分享一篇关于即时通讯极佳优化方案,方案中提到了很多日常见到的问题,特别实用! 在刚刚过去的 2018 年年底,墨刀联合倍洽发起了一场「解X:做倍洽48小时产品经理」活动,邀请优秀的产品设计师一起来探讨 ...
最新文章
- Exchange2003-2010迁移系列之六,配置及配置第二台Exchange CAS/HUB服务器
- Linux Kernel TCP/IP Stack — L3 Layer
- c语言课程设计平时成绩,计算中心
- 团队作业6——展示博客(Alpha版本)
- Registry注册机制
- TCP TIME_WAIT 详解
- 五大黑科技资源网站,你想要的这里都有
- Python实现简单的excel对比工具
- FLASH 闪存的分类与介绍
- 基础会计学习笔记4 会计核算基本方法(会计工作的主要内容)
- 高数_第3章重积分__二重积分_怎样交换积分次序
- CQHTTP 以HTTP形式制作你的QQ机器人
- matlab光子晶体求反射率,一维光子晶体禁带结构的MATLAB分析计算讲解.PDF
- 使用ul li 实现图片的左右滚动
- 蓝桥杯 算法训练 Beaver's Calculator
- Python爬虫方式抓取免费http代理IP
- JME sdk中的中文乱码(全是方框)的解决办法
- 获取当前时间戳-在线时间戳转换工具
- 14.利用虚函数实现多态性来求正方体、球体和圆柱体的表面积和体积。
- 一名优秀的管理者应具有那些能力?
热门文章
- EventBus3 简单使用及注意点
- 北大工学院计算机考研,北京大学机械考研经验-北大工学院考研辅导班
- 三角函数算式的c语言表达式,能计算加减乘除表达式,求添加计算平方、三角函数的功能,...
- 美专家起诉欧洲对撞机可能撞出黑洞毁灭地球
- 微软上海C+AI(OC)
- android获取各运营商信号,一篇关于 Android 获取运营商的全面笔记
- DPDK flow_classify 源码阅读
- 南加大计算机研究生录取率,美国南加州大学研究生录取率
- CIO40知识星球—IT人之兄弟连
- 【pytest】pytest配置文件pytest.ini详解