用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……[另外有了点体会]

软件和网站开发以及相关技术探讨
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#17

帖子 HuntXu » 2011-03-09 1:17

也花了个小时,有个地方直接傻掉写错,调好久...

[perl]
#!/usr/bin/perl -w
use strict;

my $play = 1;

while ($play) {
my @an_s;
$an_s[10] = 0;
my ($ans, $guess, $chance) = ("", "", 7);
{
my $rand;
foreach (1..4) {
$rand = int(rand(10));
while (defined($an_s[$rand])) {
$rand = int(rand(10));
}
$an_s[$rand]=1;
$ans .= $rand;
}
# print $ans."\n";
}

my @an = split //, $ans;
my @gu;
my ($a, $b);

print "Please enter a number which contains four distinct digits: ";

while (<>) {
chomp;

if (!/^\d{4}$/) {
print "Only a four-digit number would be accepted!\n";
print "Please enter a number which contains four distinct digits: ";
next;
}
if (/(\d).*\1.*/) {
print "The number must contain four distinct digits!\n";
print "Please enter a number which contains four distinct digits: ";
next;
}

$chance--;

($a, $b) = (0, 0);
@gu = split //;

foreach (1..4) {
$a++ if ($an[$_-1] == $gu[$_-1]);
$b++ if (defined($an_s[$gu[$_-1]]));
}
$b -= $a;

if ($a == 4) {
print "Congratulations! The right answer!\n";
last;
}
elsif ($chance) {
print "${a}A${b}B\n";
print "You've got ${chance} chance(s) left, just try again.\n";
print "Please enter a number which contains four distinct digits: ";
}
else {
print "With no chance remaining, you failed. Poor loser!\n";
print "The right answer is ${ans}\n";
last;
}
}

print "Try again? (y/n): ";
while (<>) {
if (/^y$/i) {
$play = 1;
last;
}
elsif (/^n$/i) {
$play = 0;
print "Byebye!\n";
last;
}
else {
print "Wrong input!\n";
print "Try again? (y/n): ";
}
}
}
[/perl]
HUNT Unfortunately No Talent...
头像
雨坤毅
帖子: 232
注册时间: 2010-08-28 14:34
系统: ArchLinux
联系:

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#18

帖子 雨坤毅 » 2011-03-09 22:19

HelloAndroid 写了:我觉得那个写俄罗斯方块的就是个好同学啊!我也写过俄罗斯方块,用java,蛮好玩的,想写个连连看! :em01
:em04 我快写完了,到时候发上来,大家交流下.. :em03
---------------------------------------
http://yky.me
---------------------------------------
头像
anticlockwise
帖子: 2394
注册时间: 2007-03-01 20:46
来自: 湖南长沙

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#19

帖子 anticlockwise » 2011-03-14 20:50

我只在初中的时候写过一个Q-Basic的贪食蛇,之后就再没写过游戏了~~
头像
Drdi
帖子: 257
注册时间: 2009-10-02 15:47

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#20

帖子 Drdi » 2011-03-14 21:01

这楼有点歪掉了啊……

没有交流学习方法和经验的么?

授人以鱼不如授人以渔啊
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi
头像
anticlockwise
帖子: 2394
注册时间: 2007-03-01 20:46
来自: 湖南长沙

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#21

帖子 anticlockwise » 2011-03-14 21:15

Drdi 写了:这楼有点歪掉了啊……

没有交流学习方法和经验的么?

授人以鱼不如授人以渔啊
光学语言本身是当然不够的,要学一门计算机语言一般就要从最基本的学起,比如算法+数据结构、数学~还要注意的就是代码规范,比如goto语句就不要用了,可以用函数/方法(Perl中用sub)来代替其中一些~Perl属于动态语言,自然有许多动态语言的特征,比如高阶函数,Closure,First Class Data Structure等等,这些都是需要去理解和活用的。如果这些都了解了,Perl看起书来很快的,如果只算Perl书籍,除了Learning Perl之外,我推荐Advanced Perl Programming, Perl Best Practices和Perl Hacks,都是Oreilly公司的~

其他的基础书籍有:Concrete Mathematics, Introduction to Algorithms, The Art of Computer Programming (Volumes 1-4), Algorithms in C/C++/Java (Parts 1-5), The Algorithm Design Manual, Modern Operating Systems, Compilers - Principles, Techniques and Tools

经常去做些算法题也是学习的一个好办法,比如上Topcoder, ACM的网站都可以
头像
anticlockwise
帖子: 2394
注册时间: 2007-03-01 20:46
来自: 湖南长沙

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#22

帖子 anticlockwise » 2011-03-14 21:19

以上纯属我的个人意见和想法~~ :em03
头像
Drdi
帖子: 257
注册时间: 2009-10-02 15:47

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#23

帖子 Drdi » 2011-03-14 22:06

anticlockwise 写了:
Drdi 写了:这楼有点歪掉了啊……

没有交流学习方法和经验的么?

授人以鱼不如授人以渔啊
光学语言本身是当然不够的,要学一门计算机语言一般就要从最基本的学起,比如算法+数据结构、数学~还要注意的就是代码规范,比如goto语句就不要用了,可以用函数/方法(Perl中用sub)来代替其中一些~Perl属于动态语言,自然有许多动态语言的特征,比如高阶函数,Closure,First Class Data Structure等等,这些都是需要去理解和活用的。如果这些都了解了,Perl看起书来很快的,如果只算Perl书籍,除了Learning Perl之外,我推荐Advanced Perl Programming, Perl Best Practices和Perl Hacks,都是Oreilly公司的~

其他的基础书籍有:Concrete Mathematics, Introduction to Algorithms, The Art of Computer Programming (Volumes 1-4), Algorithms in C/C++/Java (Parts 1-5), The Algorithm Design Manual, Modern Operating Systems, Compilers - Principles, Techniques and Tools

经常去做些算法题也是学习的一个好办法,比如上Topcoder, ACM的网站都可以

好多书啊……

多谢提供资源了 :em01 去图书馆看看有没有

不过我英文不是太好 近来在看intermediate perl 比看中文慢了2~3倍 :em28

还有许多大学的acm都没有perl的 topcoder以前都没有听说过 :em06 百度了下好像也没有perl

不过刚刚找到SPOJ 支持好多语言 还有perl6的 多谢提醒了


PS:不得不吐槽一下我连上论坛的速度 :em48 :em48

发这个贴等了10+min了 有时候突然ping都ping不到 突然一下又好了 刚刚打好的字复制好了的 关了浏览器再开发现没有了 :em20

天…… :em21
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi
花天狂骨
帖子: 32
注册时间: 2010-11-29 17:23

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#24

帖子 花天狂骨 » 2011-03-15 13:41

神也介绍我用一下perl,果断来学习~互勉啦~ :em11
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#25

帖子 trigger » 2011-03-21 17:14

用shell写过,换单位,找不到了,要不然也能NB一下 :em04
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
sammysun
帖子: 4088
注册时间: 2007-12-08 23:33
来自: SCUT-guangzhou

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#26

帖子 sammysun » 2011-03-21 21:18

有空我用python写个 :em11
头像
degreying
帖子: 22
注册时间: 2010-12-09 2:49

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#27

帖子 degreying » 2011-03-29 23:05

楼上的都是牛人啊!膜拜个先

Perl真的是看不懂的看不懂,学会的觉得很简单。
介个是个嘛呀!
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
联系:

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……

#28

帖子 racnil » 2011-04-01 7:23

呵呵,各种语言的都有了,我来发一个C++版本的吧……
真没想到这么一个老游戏焕发出了这样的青春哈~~
写得超级长,大家见笑:
http://bbs.indepla.net/read.php?tid-2523.html

另外,如果有对PyGame感兴趣的童鞋还可以看这里。自己写的一个教程,旨在手把手教新手做一个简单的2D游戏:
http://bbs.indepla.net/thread.php?fid-318.html
SLAX and Xorg(without any Window Managers)
It's fun!
ubuntu606
帖子: 624
注册时间: 2007-07-14 17:04

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……[另外有了点体会]

#29

帖子 ubuntu606 » 2012-06-23 16:48

想知道楼主如今的进展? :em47
flfruit
帖子: 7
注册时间: 2014-04-20 13:38
系统: fedora

Re: 用perl写了一个小游戏 欢迎各种围观、吐槽、莅临指导……[另外有了点体会]

#30

帖子 flfruit » 2014-04-21 21:27

同再看perl入门,lz好厉害的样子,我真写不出来。。。。擦擦擦
回复