python 程序编写 新手问题

我现在在美国留学。刚开始学习写代码,可是美国这边的教育比较重视实践,上来就叫你写代码了。我感觉自己基础不是很扎实。下代码的途中遇到了些小问题。首先,想请问一下,用pyth... 我现在在美国留学。刚开始学习写代码,可是美国这边的教育比较重视实践,上来就叫你写代码了。我感觉自己基础不是很扎实。下代码的途中遇到了些小问题。

首先, 想请问一下, 用python写程序(eg:一个黑白棋游戏), 有没有特定的思路顺序?(比如先写class或是先写方法。。。)

还有怎么去选择应该把什么创建为一个class? 越具体越好。。。

这个是我们project的网页有兴趣的朋友可以帮忙看一下,十分感谢。http://www.ics.uci.edu/~thornton/ics32/ProjectGuide/Project4
展开
 我来答
bdwisyou7d
2015-05-21 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1073万
展开全部

程序本来就是练出来的。一定要自己想办法练出来。练不出来,就找个例子背出来。


不过老师至少会给你一个思路,如果连思路都不给你,就不称职了。不是重视实践,而是叫放羊。


我帮你理一下思路。python语法,你应该是没有问题的。只是不会python的编程模式。所以才会问怎么做class。


通常做程序是这样子,1.理需求  2.做模型(动态的流程,静态的结构或者是对象) 3.设置代码结构 4。编写代码


你现在这样子,最好一个程序就搞定。所以没有代码结构。流程也简单,就是用户移动棋子,或者是两个用户移动棋子,然后计算机判断是否出错。给提示。 应该还没有让计算机自己有AI的程度。


这样的程序的数据结构通常包括:棋盘棋子结构,保存当前棋盘与棋子状态,一个数组就搞定。


程序的逻辑就是一个,move棋子,如果出错,就rollback,否则就判定落子,或者是吃子。


另外这个程序是有用户交互的。所以需要一个输出界面,还需要一个输入。如果你选择GUI方式,比较的复杂,对于初学者太难。所以通常是用输入的。


这样就有一个用户输入字符串,然后你解析出用户意图,再打印输出。


这样程序就分成几个模块:

  1. 主模板,调用输入模块,计算模块,显示输出

  2. 输入模块,函数,raw_input方式拿到,player的ID,然后棋子名,移动方位

  3. 计算模块,函数,在棋盘数组找一到棋子,然后试图移动,并将结果返回

  4. 输出模块,输出当前移动棋子的结果,并显示棋盘


划分模块后,就可以做了。不管你是按面向对象,还是面向过程,结果一样的。象这样的场景,面向对象的方法就是自己找不自在。所以是面向过程的函数式编程。


面向对象最好适合一个可扩展的中型程序,比如SOA这样的场景。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式