太离谱了!一行Python代码写的游戏,我能这样玩一天!

b7cc1cde0b9119747f8aa2f7f7a31fac.png

大家好,我是菜鸟哥!

Python长期霸占编程语言排行榜前三位,最近更是连续几年蝉联兵器谱排行第一名。Python语言简洁,功能强大,越来越多的小伙伴开始学习Python 。甚至K12的同学都开始学习Python 编程。新手入门的时候趣味性其实最重要的。那么一行Python 代码到底能玩出什么花样,有什么趣味的游戏用一行代码就能搞定了,小编也是大开眼界,一起来看一下。

01.一行代码的猜数字游戏

c5ad8f2e9dbb351dae518c49fa36baae.png

猜数字的游戏相信很多小伙伴都玩过,这个号称是10000人玩过的入门编程例子。我见过很多种写的方法,但是一行代码就能搞定,我还是第一次见到,让我大开眼界,赶紧看一下效果:

fe41df04041f744b481373cd5ff41208.gif

(盯住看5秒)

程序的设计超级简单,初始化一个随机0-99的整数,然后进行判断,大了就输入H,小了就输入L ,超过6次退出

02.一行代码的迷宫游戏

迷宫游戏,不知道大家有没有玩过,以前非常风靡,各种大小的迷宫设计,尤其是Web版的迷宫早些年的时候非常流行,但是Python一行代码就能搞定,真的是酷毙了!

81580b13653113dd57a4343b31ffb2bb.png

来看一下效果:

db9a6a337e9d56865198d17b4bc976e0.gif

(盯住看5秒)

代码非常非常的简洁,用短单线创建无限迷宫,虽然跟真正的迷宫比还差一些,但是也算是有点感觉了。算法其实很好理解,用一个while来无限循环,整个程序设计的亮点就在虽然 import 语句在循环内移动,但是Python 并不需要每次重新导入它。代码从迷宫绘图字符之一中选取一个随机字符并进行刷屏打印。

3.游戏厅的老虎机

还记得年少的青葱岁月嘛,放学之后去游戏厅玩打飞机的游戏,魂斗罗的游戏,还有就是转转老虎机,水果机。投几个币进去,拉一下杆子或者按一下开始按钮,屏幕就出现几个777或者是几个一样的水果的时候,就会恭喜你中奖啦,吐出很多币来。是不是勾起你满满的童年回忆呀,现在Python就能帮你搞定,而且是一行代码哦!

359d9ef1b129ac8620164c336870cb4a.png

运行看一下效果:

90f7cbc5126370613228a2011b389a1e.gif

(盯住看5秒)

设计一串字符串 比如 ‘7♪♫♣♠♦♥◄☼☽’ ,然后利用随机函数从里面随机选择一个字符,然后让它进行一个3万多次的循环,这么大的循环就是让字符串可以形成一个翻滚的动画效果。

4.迷你的高尔夫

打高尔夫的游戏,在我的印象中都是3D的体感游戏,比如流行的是微软的XBox和任天堂的Wii ,里面就有高尔夫体感游戏,在你挥杆的一瞬间,球在空中画出一个完美的弧度,进洞!这样的画面竟然用Python也能搞定,而且是一行代码就能完成。

9004d9614297a4535c27b78dd4b0a449.png

运行效果:

ca48539d4d0071eadc258ed782d36ee9.gif

(盯住看5秒)

程序的效果肯定是不能跟体感游戏相比,但是也算是让你过把瘾了!设计的时候需要输入一个元组,比如(0.9,130)第一个数字表示弧度的角度,第二个数字是速度。比较巧妙的是用eval来进行拆包,然后用一个复杂的物理公式来计算球的飞行轨迹,构思的还是非常巧妙的。

注意:角度基本都要设置在0.7-0.9之前,速度都要100以上,才能show比较完美的曲线。

e84cb86f158500d5c600dfa7a3af3108.png(Python里的一个彩蛋)


好了,这几个一行Python代码的游戏,是不是让你脑洞大开,拍案叫绝啊!上面的写法都是利用了Python里面的几个高级技巧,匿名函数,列表,反射!反正让我对学习Python兴趣又大涨了,原来Python还可以这样玩!大家可以去改编这些代码,通过加入自己的创意和理解,去扩展它的功能,发现里面的乐趣,相信你能这样Coding一天的。

 
 
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看原创200个趣味案例!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的脉冲多普勒雷达目标回波信号仿真的 MATLAB 代码: ```matlab % 雷达参数设置 fc = 10e9; % 雷达中心频率 bw = 1e9; % 雷达带宽 prf = 5e3; % 脉冲重复频率 pulsewidth = 50e-6; % 脉宽 c = 3e8; % 光速 % 目标参数设置 rcs = 10; % 目标的雷达散射截面 targetrange = 1000; % 目标距离 targetvelocity = 100; % 目标速度 % 仿真信号生成 fs = 2*bw; % 采样率 ts = 1/fs; % 采样时间间隔 tstart = 0; % 信号开始时间 tend = 2*targetrange/c; % 信号结束时间 t = tstart:ts:tend; % 时间序列 N = length(t); % 采样点数 % 雷达发射信号 tx_pulse = rectpuls(t, pulsewidth); % 矩形脉冲信号 tx_signal = cos(2*pi*fc*t).*tx_pulse; % 发射信号 % 目标回波信号 target_delay = 2*targetrange/c; % 目标回波时延 target_doppler = 2*targetvelocity*fc/c; % 目标多普勒频移 target_pulse = rectpuls(t-target_delay, pulsewidth); % 目标回波脉冲信号 rx_signal = rcs*target_pulse.*cos(2*pi*(fc+target_doppler)*t); % 目标回波信号 % 信号叠加 rx_signal = awgn(rx_signal, 10); % 加入高斯噪声 signal = tx_signal + rx_signal; % 信号叠加 % 信号处理 fft_signal = fftshift(fft(signal)); % 傅里叶变换 f = linspace(-fs/2, fs/2, N); % 频率序列 range_res = c/(2*bw); % 距离分辨率 max_range = c*pulsewidth/2; % 最大测量距离 range_axis = linspace(0, max_range, N); % 距离轴 doppler_res = c/(2*fc*prf); % 速度分辨率 max_doppler = c*prf/2; % 最大测量速度 doppler_axis = linspace(-max_doppler, max_doppler, N); % 速度轴 % 显示结果 figure; subplot(2,1,1); plot(t, signal); xlabel('时间(s)'); ylabel('幅度'); title('发射信号和目标回波信号'); subplot(2,1,2); plot(f, abs(fft_signal)); xlabel('频率(Hz)'); ylabel('幅度'); title('信号频谱'); figure; subplot(2,1,1); plot(range_axis, abs(ifftshift(ifft(fft_signal)))); xlabel('距离(m)'); ylabel('幅度'); title('距离谱'); subplot(2,1,2); plot(doppler_axis, abs(fftshift(fft(fft_signal)))); xlabel('速度(m/s)'); ylabel('幅度'); title('速度谱'); ``` 这段代码通过生成雷达发射信号和目标回波信号,叠加后进行傅里叶变换得到信号频谱,并且通过距离分辨率和速度分辨率计算得到距离谱和速度谱。注意,这只是一个简单的仿真代码,实际应用中需要更多的参数设置和信号处理步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值