1.炫酷!炫酷炫酷下载这些都是导航导航Android中不规则形状View的布局实现!
2.å大ç¨åºç¼è¯å¨ï¼
3.çè±ä»£ç ç¼ç¨python(ç«ç°è±ä»£ç ç¼ç¨python)
4.值得收藏!源码源码VScode 中这 15 个神仙插件写代码必备!炫酷炫酷下载
5.如何查看网页的导航导航源代码
6.HTML5期末大作业:基于HTML+CSS+JavaScript仿蘑菇街购物商城设计毕业论文源码
炫酷!这些都是源码源码asciidoc源码Android中不规则形状View的布局实现!
在Android开发中,炫酷炫酷下载我们经常面临一个问题:如何创建非矩形形状的导航导航View?在官方提供的工具中,我们找不到直接创建非矩形View的源码源码解决方案。通常,炫酷炫酷下载开发者需要自己定义一个View,导航导航但这涉及到大量的源码源码代码重写,并且可能会导致一些特性的炫酷炫酷下载丢失,或产生bug。导航导航
自定义View虽然可以实现非矩形形状,源码源码但其触摸区域仍然是矩形的。如果想要让特定区域的触摸无效,需要在`onTouchEvent`中进行复杂的计算。对于ViewGroup而言,这将更加复杂,因为需要重写`dispatchTouchEvent`。
这时候,`ClipPathLayout`这个强大的布局出现了,它能够对子View的Path进行裁剪,完美解决了非矩形View的布局问题。
`ClipPathLayout`,顾名思义,就是一种可以裁剪子View绘制范围和触摸范围的布局,从而实现非矩形的View。
那么,源码 限制浏览次数限制`ClipPathLayout`有什么实际用途呢?答案是:它可以让你的View以非矩形形状绘制,并且可以控制触摸范围,实现更自由的交互设计。
让我们通过实例来看看`ClipPathLayout`的效果。例如,你可以将一个方形裁剪成圆形,并且让圆形View的四个角成为触摸无效的区域。或者,你甚至可以使用它来制作不规则形状的按钮,如阴阳鱼的图案。
那么,如何使用`ClipPathLayout`呢?首先,确保你已经添加了依赖库到你的项目中。接着,在你的ViewGroup中添加一个子View,并使用`PathInfo`来配置Path,从而实现非矩形的布局。
使用`ClipPathLayout`的过程相对简单,只需要几步就可以让你的View以非矩形形状展示,并且可以控制触摸区域。它的实现原理基于对Canvas的裁剪,通过Path信息控制Canvas的绘制范围。
如果你想深入了解`ClipPathLayout`的工作原理,那么,它的工作机制实际上涉及到了对Path的生成、绘制以及触摸事件的处理。`ClipPathLayout`使用了Path来定义非矩形区域,并在Canvas绘制之前对Canvas进行裁剪,这样可以控制View的php 源码 博客 音乐视频显示范围。对于触摸事件的处理,它通过在`dispatchTouchEvent`方法中判断触摸点是否在裁剪后的区域内来实现。
如果你对`ClipPathLayout`的实现原理感兴趣,可以查阅相关源码进行深入学习。此外,`ClipPathLayout`还提供了自定义Path生成器的功能,允许你根据需求实现不同的非矩形布局。
最后,`ClipPathLayout`不仅仅局限于简单的圆形或不规则形状的布局,通过自定义Path生成器,你可以实现更多复杂且独特的界面设计。对于那些追求界面创新的开发者来说,`ClipPathLayout`无疑是一个强大的工具。
å大ç¨åºç¼è¯å¨ï¼
C++çç¼è¯å¨é½æåªäº?
kDevelopãAnjutaãCodeBlocksãVisualMingwãIdeoneãEclipseCDTãCompilrãCodeLiteãNetbeansC++ãDev?C++ã
Kdevelopæ¯ä¸ä¸ªä¸ä¸ºC/C++åå ¶ä»è¯è¨çå¼æºæ©å±æ件IDEï¼å®åºäºKDevPlatformå¹³å°ï¼è¿æ¯ä¸æ¬¾å¯ç¨äºIDEåºç¡å¼æºåºã
AnjutaDevstudioæ¯å¦å¤ä¸æ¬¾å¼ºå¤§çå¼åå·¥å ·ï¼æ¥æå è¿çç¼ç¨ç¹æ§å æ¬é¡¹ç®ç®¡çãåºç¨ç¨åºå导ã交äºå¼è°è¯å¨ãæºç ç¼è¾å¨ãçæ¬æ§å¶ï¼GUI设计ãåæå¨ççï¼è¿æ¬¾å·¥å ·ä¸ºC/C++å¼åè æä¾å¼ºå¤§çç¨æ·çé¢æ¥å£ã
CodeBlocksæ¯ä¸æ¬¾æ¯è¾æµè¡çå è´¹ä¸å¼æºçéæå¼åç¯å¢ï¼è¯¥å·¥å ·æ¥æææåè½ï¼è½å¤æ»¡è¶³å¼åè æéï¼æ¯å¦é«æçç¨æ·çé¢ãç¼è¯åè°è¯åè½çã
Visual-MigGWæ¯ä¸æ¬¾æ为ç®åçå¼æºIDEï¼å®ææçWindowsAPIé½å¯æ¥è¿è¡ç®åå¿«éçå¼åï¼å®è¿æ¯æä¸ä¸ªéæ¶å¯ç¨çåºç¨æ¡æ¶ï¼é¡¹ç®æ管å¨SourceForge.netã
Ideoneæ¯ä¸æ¬¾å¨çº¿ç¼è¾å¨åè°è¯å·¥å ·ï¼è¿æ¬¾å·¥å ·æä¾äºå¼ºå¤§çåè½ï¼å¸®å©ç¨åºå以æ´å å¿«éææçæ¹å¼ç¼è¯æºä»£ç ã
EclipseCDTæä¾æ´å é«æçåè½ï¼å¦ï¼æ¯æ为åç§å·¥å ·é¾æä¾é¡¹ç®å建å管çãæ åæ建ãæºç 导èªãåç§ç¥è¯å·¥å ·æºï¼ä»£ç ç¼è¾å¨åè½å¦é«äº®æ¾ç¤ºãæå ãè¶ é¾æ¥å¯¼èªãæºä»£ç éæ以å代ç çæï¼å¯è§åè°è¯å·¥å ·ï¼å æ¬å åãå¯åå¨ååæ±ç¼è§å¾ã
Compileræ¯ä¸æ¬¾å¨çº¿éæå¼åå·¥å ·ï¼å è®¸ä½ ç¼å令人å°è±¡æ·±å»ç代ç åè½åç®åçç¨æ·çé¢ï¼è¯¥å·¥å ·æ¯æçè¯è¨å¦CãC++ãJavaãHTMLã
Codeliteæ¯ä¸æ¬¾æ好çå è´¹å¼æºçIDEï¼å ä¹å¯è¿è¡äºææå¹³å°ã
Netbeanså·¥å ·å å«å¤ç§ç±»å模æ¿ï¼å®æ¥æ迷人çåè½ï¼ä½¿å ¶å¨Webå¼åè æ´å æµè¡ï¼æ¯å¦ï¼ä»£ç åå©ãç¼è¯é ç½®ãåå æµè¯ãæºç æ£æµãè¿ç¨å¼ååæ件导èªçåè½ã
DevC++çåè½å æ¬ï¼ç±»æµè§å¨ãéæè°è¯ãæ¯æGCCã项ç®ç®¡çã代ç ç¼è¯ãç¼è¾ä¸ç¼è¯èµæºæ件ãå·¥å ·ç®¡çãåè½æ¸ åã
windowsçpc端ç¼è¯å¨æåªäºWindowsçpc端ç¼è¯å¨æï¼
1)VisualStudio
Windowsä¸é¦å æ¨è大家使ç¨å¾®è½¯å¼åçVisualStudioï¼ç®ç§°VSï¼ï¼å®æ¯Windowsä¸çæ åIDEï¼å®é å¼åä¸å¤§å®¶ä¹é½å¨ä½¿ç¨ã为äºéåºææ°çWindowsæä½ç³»ç»ï¼å¾®è½¯æ¯éä¸æ®µæ¶é´ï¼ä¸è¬æ¯ä¸ä¸¤å¹´ï¼å°±ä¼å¯¹VSè¿è¡å级ãVSçä¸åçæ¬ä»¥åå¸å¹´ä»½å½åï¼ä¾å¦VSæ¯å¾®è½¯äºå¹´åå¸çï¼VSæ¯å¾®è½¯äºå¹´åå¸çã
ä¸è¿VSæç¹åºå¤§ï¼å®è£ å æ2~3Gï¼ä¸è½½ä¸æ¹ä¾¿ï¼èä¸ä¼å®è£ å¾å¤ææ¶ç¨ä¸å°çå·¥å ·ï¼å®è£ æ¶é´å¨å个å°æ¶å·¦å³ã
对äºåå¦è ï¼ææ¨è使ç¨VSãæ好ä¸ç¨ä½¿ç¨VSï¼æç¹ååå¦è ã
2)Dev?C++
å¦æä½ è®¨åVSçå¤ææ§ï¼é£ä¹å¯ä»¥ä½¿ç¨DevC++ãDevC++æ¯ä¸æ¬¾å è´¹å¼æºçC/C++IDEï¼å åµ?GCC?ç¼è¯å¨ï¼LinuxGCCç¼è¯å¨çWindows移æ¤çï¼ï¼æ¯NOIãNOIP?çæ¯èµçæå®å·¥å ·ãDevC++çä¼ç¹æ¯ä½ç§¯å°ï¼åªæå åå ï¼ãå®è£ å¸è½½æ¹ä¾¿ãå¦ä¹ ææ¬ä½ï¼ç¼ºç¹æ¯è°è¯åè½å¼±ã
NOIæ¯NationalOlympiadinInformaticsç缩åï¼è¯ä¸ºâå ¨å½éå°å¹´ä¿¡æ¯å¦å¥¥æå¹å ç«èµâï¼NOIPæ¯NationalOlympiadininformaticsinProvincesç缩åï¼è¯ä¸ºâå ¨å½éå°å¹´ä¿¡æ¯å¦å¥¥æå¹å èèµâãNOIãNOIPé½æ¯å¥¥æå¹å ç«èµçä¸ç§ï¼åå è å¤ä¸ºé«ä¸çï¼è·å¥è å°è¢«ä¿éå°åç大å¦æè å¾å°é«èå åèµæ ¼ã
3)VisualC++6.0
VisualC++6.0ï¼ç®ç§°VC6.0ï¼æ¯å¾®è½¯å¼åçä¸æ¬¾ç»å ¸çIDEï¼å¾å¤é«æ ¡é½ä»¥VC6.0为æå¦å·¥å ·æ¥è®²è§£CåC++ãä½VC6.0æ¯å¹´ç产åï¼å¾å¤èäºï¼å¨Win7ãWin8ãWinä¸ä¼æåç§åæ ·çå ¼å®¹æ§é®é¢ï¼çè³æ ¹æ¬ä¸è½è¿è¡ï¼æ以ä¸æ¨è使ç¨ã
VC6.0æ©å°±è¯¥æè¿åå¾æ¡¶äºï¼å¯æ¯ä¾ç¶æå¾å¤å¤§å¦æå®ä½ä¸ºæå¦å·¥å ·ï¼å¹¶ä¸éç¨çææä¹ä»¥VC6.0为åºç¡æ¥è®²è§£Cè¯è¨åC++ï¼å¯è§æå¦ä½å¶çæ端è½åï¼è¯¾ç¨ä½ç³»çæ´æ°è¿è¿è·ä¸ä¸ææ¯çè¿æ¥ã
4)å ¶å®IDE
é¤äºä¸é¢æå°çä¸æ¬¾IDEï¼Windowså¹³å°ä¸è¿æå¾å¤å ¶ä»çIDEï¼å®ä»¬åæç¹ç¹ï¼ä¾å¦ï¼
Code::Blocksæ¯ä¸æ¬¾å¼æºã跨平å°ãå è´¹çC/C++IDEï¼å®åDevC++é常类似ï¼å°å·§çµæ´»ï¼æäºå®è£ åå¸è½½ï¼ä¸è¿å®ççé¢è¦æ¯DevC++å¤æä¸äºï¼ä¸å¦DevC++æ¥å¾æ¸ ç½ã
TurboCæ¯ä¸æ¬¾å¤èçãDOS年代çCè¯è¨å¼åå·¥å ·ï¼ç¨åºååªè½ä½¿ç¨é®çæ¥æä½TurboCï¼ä¸è½ä½¿ç¨é¼ æ ï¼æ以é常ä¸æ¹ä¾¿ãä½æ¯TurboCéæäºä¸å¥å¾å½¢åºï¼å¯ä»¥å¨æ§å¶å°ç¨åºä¸ç»å¾ï¼çèµ·æ¥é常ç«é ·ï¼æ以è³ä»ä»ç¶æ人å¨ä½¿ç¨ã
C-Freeæ¯ä¸æ¬¾å½äº§çWindowsä¸çC/C++IDEï¼ææ°çæ¬æ¯5.0ï¼æ´ä¸ªè½¯ä»¶æMï¼é常轻巧ï¼å®è£ ä¹ç®åï¼çé¢ä¹æ¯DevC++æ¼äº®ãC-Freeç缺ç¹ä¹æ¯è°è¯åè½å¼±ãå¯æçæ¯ï¼C-Freeå·²ç»å¤å¹´ä¸æ´æ°äºï¼ç»ä»¶é½èäºï¼åªè½å¨XPãWin7ä¸è¿è¡ï¼å¨Win8ãWinä¸å¯è½ä¼åå¨å ¼å®¹æ§é®é¢ã
常è§çCè¯è¨ç¼è¯å¨æ¯ä»ä¹ï¼ç®åææµè¡çCè¯è¨ç¼è¯å¨æ以ä¸å ç§ï¼
1ãGNUCompilerCollectionæ称?GCC
GCCï¼GNUCompilerCollectionï¼GNUç¼è¯å¨å¥ä»¶ï¼ï¼æ¯ç±GNUå¼åçç¼ç¨è¯è¨ç¼è¯å¨ãå®æ¯ä»¥GPL许å¯è¯æåè¡çèªç±è½¯ä»¶ï¼ä¹æ¯GNU计åçå ³é®é¨åã
GCCåæ¬ä½ä¸ºGNUæä½ç³»ç»çå®æ¹ç¼è¯å¨ï¼ç°å·²è¢«å¤§å¤æ°ç±»Unixæä½ç³»ç»ï¼å¦LinuxãBSDãMacOSXçï¼é纳为æ åçç¼è¯å¨ï¼GCCåæ ·éç¨äºå¾®è½¯çWindowsãGCCæ¯èªç±è½¯ä»¶è¿ç¨åå±ä¸çèåä¾åï¼ç±èªç±è½¯ä»¶åºéä¼ä»¥GPLåè®®åå¸ã
2ãMicrosoftCæ称MSC
MicrosoftCæ¯cè¯è¨çä¸ç§IDEï¼éæå¼åç¯å¢ï¼ï¼å¸¸è§çè¿æMicrosoftVisualC++ï¼BorlandC++ï¼WatcomC++,BorlandC++ï¼BorlandC++Builder,BorlandC++3.1forDOS,WatcomC++.0forDOS,GNUDJGPPC++ï¼LccwinCCompiler3.1,HighC,TurboCçç......
3ãBorlandTurboCæ称TurboC
TurboCæ¯ç¾å½Borlandå ¬å¸ç产åï¼Borlandå ¬å¸æ¯ä¸å®¶ä¸é¨ä»äºè½¯ä»¶å¼åãç å¶çå¤§å ¬å¸ãè¯¥å ¬å¸ç¸ç»§æ¨åºäºä¸å¥Turboç³»å软件,å¦TurboBASIC,TurboPascal,TurboProlog,è¿äºè½¯ä»¶å¾åç¨æ·æ¬¢è¿ã
æ©å±èµæï¼
Cç¼è¯çæ´ä¸ªè¿ç¨å¾å¤æï¼å¤§è´å¯ä»¥å为以ä¸å个é¶æ®µï¼
1ãé¢å¤çé¶æ®µå¨è¯¥é¶æ®µä¸»è¦å®æ对æºä»£ç çé¢å¤çå·¥ä½ï¼ä¸»è¦å æ¬å¯¹å®å®ä¹æ令ï¼å¤´æ件å å«æ令ï¼é¢å®ä¹æ令åç¹æ®å符çå¤çï¼å¦å¯¹å®å®ä¹çæ¿æ¢ä»¥åæ件头ä¸æå å«çæ件ä¸é¢å®ä¹ä»£ç çæ¿æ¢çï¼æ»ä¹è¿æ¥ä¸»è¦å®æä¸äºæ¿æ¢å·¥ä½ï¼è¾åºæ¯åæºæ件å«ä¹ç¸åä½å 容ä¸åçæ件ã
2ãç¼è¯ãä¼åé¶æ®µç¼è¯å°±æ¯å°ç¬¬ä¸é¶æ®µå¤çå¾å°çæ件éè¿è¯æ³è¯æ³åæç转æ¢ä¸ºæ±ç¼è¯è¨ãä¼åå æ¬å¯¹ä¸é´ä»£ç çä¼åï¼å¦å é¤å ¬å ±è¡¨è¾¾å¼ï¼å¾ªç¯ä¼åçï¼å对ç®æ 代ç ççæè¿è¡çä¼åï¼å¦å¦ä½å åå©ç¨æºå¨çå¯åå¨åæ¾æå ³åéçå¼ï¼ä»¥åå°å å访é®æ¬¡æ°ã
3ãæ±ç¼é¶æ®µå°æ±ç¼è¯è¨ç¿»è¯ææºå¨æ令ã
4ãé¾æ¥é¶æ®µé¾æ¥é¶æ®µç主è¦å·¥ä½æ¯å°æå ³çç®æ æ件è¿æ¥èµ·æ¥ï¼å³å°å¨ä¸ä¸ªæ件ä¸å¼ç¨ç符å·å该符å·å¨å¦å¤ä¸ä¸ªæ件ä¸çå®ä¹è¿æ¥èµ·æ¥ï¼ä½¿å¾ææçç®æ æ件æ为ä¸ä¸ªè½å¤è¢«æä½ç³»ç»è£ å ¥æ§è¡çç»ä¸æ´ä½ã
åèèµææ¥æºï¼ç¾åº¦ç¾ç§-gccï¼GNUç¼è¯å¨å¥ä»¶ï¼
åèèµææ¥æºï¼ç¾åº¦ç¾ç§-MicrosoftC
åèèµææ¥æºï¼ç¾åº¦ç¾ç§-TurboC
çè±ä»£ç ç¼ç¨python(ç«ç°è±ä»£ç ç¼ç¨python)
æ¾çè±ç代ç
#-*-coding:utf-8-*-importmath,random,timeimportthreadingimporttkinterastkimportreuuidFireworks=[]maxFireworks=8height,width=,classfirework(object):def__init__(self,color,speed,width,height):=uuid.uuid1()self.radius=random.randint(2,4)~4åç´ self.color=colorself.speed=speed.5-3.5ç§self.status=0ï¼status=0ï¼çç¸åï¼status=1ï¼å½statusæ¶ï¼çè±ççå½æç»æ¢self.nParticle=random.randint(,)self.center=[random.randint(0,width-1),random.randint(0,height-1)]self.oneParticle=[]ï¼%ç¶ææ¶ï¼self.rotTheta=random.uniform(0,2*math.pi)ï¼x=a*cos(theta),y=b*sin(theta)=[a,b]
pythonç«é ·çè±è¡¨ç½æºä»£ç æ¯å¤å°ï¼å¦å®æ¬æç¨åï¼ä½ ä¹è½ååºè¿æ ·ççè±ç§ã
å¦ä¸å¾ç¤ºï¼æ们è¿ééè¿è®©ç»é¢ä¸ä¸ä¸ªç²ååè£ä¸ºXæ°éçç²åæ¥æ¨¡æçç¸ææãç²åä¼åçï¼è¨èâï¼æææ¯å®ä»¬ä¼ä»¥æé移å¨ä¸ç¸äºä¹é´çè§åº¦ç¸çãè¿æ ·å°±è½è®©æ们以ä¸ä¸ªåå¤è¨èçååå½¢å¼æ¨¡æåºçè±ç»½æ¾çç»é¢ã
ç»è¿ä¸å®æ¶é´åï¼ç²åä¼è¿å ¥ï¼èªç±è½ä½âé¶æ®µï¼ä¹å°±æ¯ç±äºéåå ç´ å®ä»¬å¼å§å è½å°å°é¢ï¼ä»¿è¥ç»½æ¾åççççè±ã
åºæ¬ç¥è¯ï¼ç¨PythonåTkinter设计çè±ã
è¿éä¸åä¸è¡èææ°å¦ç¥è¯å ¨ä¸¢åºæ¥ï¼æ们边å代ç 边说ç论ãé¦å ï¼ç¡®ä¿ä½ å®è£ åå¯¼å ¥äºTkinterï¼å®æ¯Pythonçæ åGUIåºï¼å¹¿æ³åºç¨äºåç§åæ ·ç项ç®åç¨åºå¼åï¼å¨Pythonä¸ä½¿ç¨Tkinterå¯ä»¥å¿«éçå建GUIåºç¨ç¨åºã
importtkinterastk
fromPILimportImage,ImageTk
fromtimeimporttime,sleep
fromrandomimportchoice,uniform,randint
frommathimportsin,cos,radians
é¤äºTkinterä¹å¤ï¼ä¸ºäºè½è®©çé¢ææ¼äº®çèæ¯ï¼æ们ä¹å¯¼å ¥PILç¨äºå¾åå¤çï¼ä»¥åå¯¼å ¥å ¶å®ä¸äºå ï¼æ¯å¦timeï¼randomåmathãå®ä»¬è½è®©æ们æ´å®¹æçæ§å¶çè±ç²åçè¿å¨è½¨è¿¹ã
Tkinteråºç¨çåºæ¬è®¾ç½®å¦ä¸ï¼
root=tk.Tk()
为äºè½åå§åTkinterï¼æä»¬å¿ é¡»å建ä¸ä¸ªTk()æ ¹é¨ä»¶ï¼rootwidgetï¼ï¼å®æ¯ä¸ä¸ªçªå£ï¼å¸¦ææ é¢æ åç±çªå£ç®¡çå¨æä¾çå ¶å®è£ 饰ç©ãè¯¥æ ¹é¨ä»¶å¿ é¡»å¨æ们åå»ºå ¶å®å°é¨ä»¶ä¹åå°±å建å®æ¯ï¼èä¸åªè½æä¸ä¸ªæ ¹é¨ä»¶ã
w=tk.Label(root,text="HelloTkinter!")
è¿ä¸è¡ä»£ç å å«äºLabelé¨ä»¶ã该Labelè°ç¨ä¸ç第ä¸ä¸ªåæ°å°±æ¯ç¶çªå£çååï¼å³æ们è¿éç¨çï¼æ ¹âãå ³é®ååæ°ï¼textâæææ¾ç¤ºçæåå 容ãä½ ä¹å¯ä»¥è°ç¨å ¶å®å°é¨ä»¶ï¼Buttonï¼Canvasççã
w.pack()
root.mainloop()
æ¥ä¸æ¥çè¿ä¸¤è¡ä»£ç å¾éè¦ãè¿éçæå æ¹æ³æ¯åè¯Tkinterè°æ´çªå£å¤§å°ä»¥éåºæç¨çå°é¨ä»¶ãçªå£ç´å°æ们è¿å ¥Tkinteräºä»¶å¾ªç¯ï¼è¢«root.mainloop()è°ç¨æ¶æä¼åºç°ãå¨æä»¬å ³éçªå£åï¼èæ¬ä¼ä¸ç´å¨åçå¨äºä»¶å¾ªç¯ã
å°çè±ç»½æ¾è½¬è¯æ代ç
ç°å¨æ们设计ä¸ä¸ªå¯¹è±¡ï¼è¡¨ç¤ºçè±äºä»¶ä¸çæ¯ä¸ªç²åãæ¯ä¸ªç²åé½ä¼æä¸äºéè¦çå±æ§ï¼æ¯é äºå®çå¤è§å移å¨ç¶åµï¼å¤§å°ï¼é¢è²ï¼ä½ç½®ï¼é度ççã
跨年çè±ä»£ç ï½ç¨Pythonéä½ ä¸åºè·¨å¹´çè±ç§å·²ç»æ¥è¿å°¾å£°äºï¼å³å°å°æ¥ï¼æ¬ææ们ç¨Pythonéä½ ä¸åºè·¨å¹´çè±ç§ã
æ们ç¨å°çPython模åå æ¬ï¼tkinterãPILãtimeãrandomãmathï¼å¦æ第ä¸æ¹æ¨¡å没æè£ çè¯ï¼pipinstallä¸ä¸å³å¯ï¼ä¸é¢çä¸ä¸ä»£ç å®ç°ã
导åº
çè±é¢è²
å®ä¹çè±ç±»
çæ¾çè±
å¯å¨
çä¸ä¸ææï¼
年跨年çè±ä»£ç å¯å¤å¶
çè±ä»£ç å¦ä¸ï¼
packagelove;
importjava.applet.Applet;
importjava.awt.Color;
importjava.awt.Graphics;
importjava.net.URL;
importjava.util.Random;
çè±
@authorenjoy
@SuppressWarnings("serial")
publicclassQextendsAppletimplementsRunnable
publicintspeed,variability,Max_Number,Max_Energy,Max_Patch,
Max_Length,G;
publicStringsound;
privateintwidth,height;
privateThreadthread=null;
privateBeaClassDemobcd[];
publicvoidinit()
inti;
this.setSize(,);
width=getSize().width-1;
height=getSize().height-1;
speed=1;//çè±ç»½æ¾çé度
variability=;
Max_Number=;//å¯ååºçè±çæ大æ°ç®
Max_Energy=width+;
Max_Patch=;//æ大çæç¹æ°
Max_Length=;//æç¹çæ大è·ç¦»
G=;//åå°é¢å¼¯æ²çå度
bcd=newBeaClassDemo[Max_Number];
for(i=0;iMax_Number;i++)
bcd[i]=newBeaClassDemo(width,height,G);
}
publicvoidstart(){
if(thread==null){
thread=newThread(this);
thread.start();
}
}
@SuppressWarnings("deprecation")
publicvoidstop(){
if(thread!=null){
thread.stop();
thread=null;
}
}
@SuppressWarnings({ "unused","static-access"})
publicvoidrun(){
inti;
intE=(int)(Math.random()*Max_Energy*3/4)+Max_Energy/4+1;
intP=(int)(Math.random()*Max_Patch*3/4)//çè±çæç¹æ°
+Max_Patch/4+1;
intL=(int)(Math.random()*Max_Length*3/4)//çè±å¯åå°åºçè·ç¦»
+Max_Length/4+1;
longS=(long)(Math.random()*);
booleansleep;
Graphicsg=getGraphics();
URLu=null;
while(true){
try{
thread.sleep(/speed);
catch(InterruptedExceptionx){
sleep=true;
for(i=0;iMax_Number;i++)
sleep=sleepbcd[i].sleep;
if(sleepMath.random()*variability){
E=(int)(Math.random()*Max_Energy*3/4)+Max_Energy/4
+1;
P=(int)(Math.random()*Max_Patch*3/4)+Max_Patch/4
+1;
L=(int)(Math.random()*Max_Length*3/4)+Max_Length/4
+1;
S=(long)(Math.random()*);
for(i=0;iMax_Number;i++){
if(bcd[i].sleepMath.random()*Max_Number*L1)
bcd[i].init(E,P,L,S);
bcd[i].start();
bcd[i].show(g);
publicvoidpaint(Graphicsg)?
g.setColor(Color.black);
g.fillRect(0,0,width+1,height+1);
classBeaClassDemo
publicbooleansleep=true;
privateintenergy,patch,length,width,height,G,Xx,Xy,Ex[],Ey[],x,
y,Red,Blue,Green,t;
privateRandomrandom;
publicBeaClassDemo(inta,intb,intg)
width=a;
height=b;
G=g;
publicvoidinit(inte,intp,intl,longseed)?
inti;
energy=e;
patch=p;
length=l;
//å建ä¸ä¸ªå¸¦ç§åçéæºæ°çæå¨
random=newRandom(seed);
Ex=newint[patch];
Ey=newint[patch];
Red=(int)(random.nextDouble()*)+;
Blue=(int)(random.nextDouble()*)+;
Green=(int)(random.nextDouble()*)+;
Xx=(int)(Math.random()*width/2)+width/4;
Xy=(int)(Math.random()*height/2)+height/4;
for(i=0;ipatch;i++){
Ex[i]=(int)(Math.random()*energy)-energy/2;
Ey[i]=(int)(Math.random()*energy*7/8)-energy/8;
publicvoidstart
t=0;
sleep=false;
publicvoidshow(Graphicsg)
if(!sleep)?
if(tlength)
inti,c;
doubles;
Colorcolor;
c=(int)(random.nextDouble()*)-+Red;
if(c=0c)
Red=c;
c=(int)(random.nextDouble()*)-+Blue;
if(c=0c)
Blue=c;
c=(int)(random.nextDouble()*)-+Green;
if(c=0c)
Green=c;
color=newColor(Red,Blue,Green);
for(i=0;ipatch;i++)
s=(double)t/;
x=(int)(Ex[i]*s);
y=(int)(Ey[i]*s-G*s*s);
g.setColor(color);
g.drawLine(Xx+x,Xy-y,Xx+x,Xy-y);
if(t=length/2)
intj;
for(j=0;j2;j++)
s=(double)((t-length/2)*2+j)/;
x=(int)(Ex[i]*s);
y=(int)(Ey[i]*s-G*s*s);
g.setColor(Color.black);
g.drawLine(Xx+x,Xy-y,Xx+x,Xy-y);
常ç¨çç¼ç¨è¯è¨ã
ç¼ç¨è¯è¨ä¸ï¼Cè¯è¨
Cè¯è¨æ¯ä¸çä¸ææµè¡ã使ç¨æ广æ³çé«çº§ç¨åºè®¾è®¡è¯è¨ä¹ä¸ãå¨æä½ç³»ç»åç³»ç»ä½¿ç¨ç¨åºä»¥åéè¦å¯¹ç¡¬ä»¶è¿è¡æä½çåºåï¼ç¨Cè¯è¨ææ¾ä¼äºå ¶å®é«çº§è¯è¨ï¼è®¸å¤å¤§ååºç¨è½¯ä»¶é½æ¯ç¨Cè¯è¨ç¼åçã
ç¼ç¨è¯è¨äº:java
Javaæ¯ä¸ç§å¯ä»¥æ°å跨平å°åºç¨è½¯ä»¶çé¢å对象çç¨åºè®¾è®¡è¯è¨ï¼æ¯ç±SunMicrosystemså ¬å¸äºå¹´5ææ¨åºçJavaç¨åºè®¾è®¡è¯è¨åJavaå¹³å°ï¼å³JavaSE,JavaEE,JavaMEï¼çæ»ç§°ã
ç¼ç¨è¯è¨ä¸:c++
C++è¿ä¸ªè¯å¨ä¸å½å¤§éçç¨åºåååä¸é常被读åâCå å âï¼è西æ¹çç¨åºåé常读åâCplusplus","CPPâãå®æ¯ä¸ç§ä½¿ç¨é常广æ³ç计ç®æºç¼ç¨è¯è¨ãC++æ¯ä¸ç§éææ°æ®ç±»åæ£æ¥çãæ¯æå¤éç¼ç¨èå¼çéç¨ç¨åºè®¾è®¡è¯è¨ã
值得收藏!VScode 中这 个神仙插件写代码必备!
欢迎来到VS Code的插件世界,这里将为您揭示个不容错过的神器插件,旨在让您在编码过程中如虎添翼。这些插件涵盖了Python、C/C++、JavaScript、代码运行、背景调整、标签重命名、注释优化等多个方面,旨在全面提升您的编程效率与体验。收藏、点赞、关注我们的易语言整理文件源码公众号,获取更多优质资源。 VS Code,作为一款轻量级且功能强大的源代码编辑器,支持多种编程语言,包括但不限于JavaScript、TypeScript、Node.js等,其丰富的扩展生态系统让它的功能更加丰富多样。下面,让我们逐一探索这些插件的魅力。Python插件
Python插件提供了丰富的功能,包括智能代码补全、代码检查、调试、代码导航、格式化、重构、变量浏览器以及测试资源管理等,极大地提升了Python开发的效率和体验。Jupyter插件
Jupyter插件在VS Code中提供了基本的笔记本支持,无需修改即可在多种语言内核上工作。默认情况下,它包括了Jupyter Keymaps和Jupyter Notebook Renderers扩展,为Jupyter笔记本的使用提供了便利。C/C++插件
C/C++插件为VS Code增加了对C/C++语言的全面支持,包括智能代码补全、调试功能等,让C/C++开发变得更加顺畅。ESLint插件
ESLint是c socket心跳包源码一个用于识别并报告JavaScript代码中模式的工具,旨在使代码保持一致并避免错误。它为开发者提供了强大的代码质量检查功能。Prettier插件
Prettier是一个代码格式化工具,支持多种编程语言,包括JavaScript、TypeScript、CSS、SCSS、Less等,能帮助您统一代码风格,提高代码可读性。Live Server插件
Live Server插件为静态和动态页面提供了一个本地服务器,支持实时重新加载,让开发过程更加高效便捷。Visual Studio IntelliCode插件
IntelliCode插件为Python、TypeScript/JavaScript和Java开发提供了AI辅助功能,基于代码上下文与机器学习技术相结合,提高开发效率。Code Runner插件
Code Runner插件允许您直接运行多种语言的代码片段或代码文件,无需保存即可执行,大大节省了开发时间。背景调整插件
对于那些厌倦了单调编程背景的开发者,Background插件提供了更改背景图的功能,为您营造一个更加个性化的开发环境。 通过这些插件,您可以显著提升编程效率与体验。每款插件都旨在解决特定的编程需求,让您的开发之路更加顺畅。收藏、点赞、关注我们,获取更多编程技巧与资源。 文章推荐精选个炫酷的可视化大屏模板,拿走就用!
一文从0到1掌握用户画像知识体系
这9个特征工程使用技巧,解决%机器学习问题!
万字干货,一文详解数据分析知识体系!
深度盘点:种最常用的数据分析模型,赶紧收藏
年,这个Github热门且实用的Python库值得收藏!
轻松解决时序异常检测问题,pyfbad这次火了!
心得总结:一名优秀的数据分析专家的能力模型
实践分享:如何搭建数据指标体系?
够强大!Python这款可视化大屏不足百行代码!
太漂亮了!输出好看的表格,就用这个Python库!
摒弃这个Python坏习惯,让你的代码好用到起飞!
深度盘点:字详细介绍Python中的7种交叉验证方法
效率倍增!5个提高生产力的Jupyter notebook插件!
+时序模型!GluonTS:一个专门为时间序列建模而设计的工具包!
只需三五行代码即可产出完美数据分析报告,这四大AutoEDA工具包真的太棒了!
感谢阅读,如文章对您有所启发,记得点赞和关注我们的公众号哦!如何查看网页的源代码
在最最开始学习网站建设的时候。最重要的就是搞清楚代码的含义,及各大网站如何编写语句的问题。我只是个初学者,所以从初学者的角度看,这样学习建立网站不失为一个好办法哦。
打开一个浏览器,我使用的是搜狗浏览器,还有ie浏览器,等等,随便打开一个页面,如下图:
选择自己喜欢的感觉炫酷的网页。(在寻找觉得有价值的页面时一定要注意不是视频类或隐藏类的网页)然后左键单击工具栏的“查看”按钮。查看按钮下有个子目录”源代码“,左键移动到上面单击,如下面第二张图所示:
接着,就会弹出你单击的页面相关的源代码页面。如下图:
复制这些源代码,最好把它们复制到txt文本中,这样容易被编码语言识别。
把代码复制到记事本,或是直接导入deamwaver,就可以查看它的布局及一些功能是如何实现的啦。
HTML5期末大作业:基于HTML+CSS+JavaScript仿蘑菇街购物商城设计毕业论文源码
本文介绍了一套HTML+CSS+JS网页设计源码,旨在满足大学生网页设计作业需求。该网页设计以HTML+CSS布局为基础,代码简单,适用于初学者学习使用。网页源码画面精明、排版整洁,内容丰富、主题鲜明。技术应用包括Div+CSS、鼠标滑过特效、Table、导航栏效果、Banner、表单、二级三级页面等,同时考虑了视频、音频元素、Flash等多媒体应用。
网页设计分为页头、菜单导航栏(支持下拉)、中间内容板块、页脚四大部分,并具备相互超链接,可达三级页面。页面样式风格统一,布局显示正常,菜单美观醒目,二级菜单可正常弹出与跳转。网页内融入JS特效,如定时切换和手动切换新闻。多媒体元素如gif、视频、音乐和表单技术得到合理运用,确保页面清爽、美观、大方,避免雷同。
为了帮助更多前端开发者学习与成长,本文提供了学习资源和技术支持。欢迎通过点赞、评论和收藏一键三连支持。关注获取更多前端插件、3D炫酷效果、展示、文字效果、以及整站模板、大学生毕业HTML模板、期末大作业模板等。在这里,有众多前端开发者共同探讨前端Node知识,互相学习。技术相关问题欢迎交流,获取更多优质源码与文章。
表白:炫酷动态的流星表白程序,原来是这样做出来的(含源码)
使用C语言和easyX图形库,你能为你的另一半制作一个独特的“流星雨浪漫表白程序”。结合好听的背景音乐,你的表白瞬间将变得高雅而浪漫。以下是效果展示(动态效果,仅为示例)。
你将需要以下素材:
从网盘下载链接:pan.baidu.com/s/1mG7vKQ... 提取码: trhg
点击链接获取所需素材,确保链接有效。
接下来,查看源码并理解其逻辑。代码中包含注释,方便你解读和学习。
源码分享如下:
初学者在编程路上并不孤单,有一群志同道合的伙伴共同进步很重要。若想提升编程技能(内功修炼),现在开始行动吧!
为你的编程之旅添加动力,以下是编程学习视频资源:
精心整理的视频资源,包括多年的源码学习、项目实战、项目笔记和基础入门教程。
欢迎转行或正在学习编程的伙伴,利用丰富的资源加速成长。
关注我,一起探讨更多编程知识,共同进步!
ç®å好ç©çç¼ç¨ä»£ç ï¼
ç«é ·çç¼ç¨ä»£ç
ç«é ·çç¼ç¨ä»£ç æ¯@echooffmodeconcols=lines=colorsetlocalenabledelayedexpansionsetcode=abcdefsetm=1setv=1ã
ç¼å®ç¨åºï¼ç®ç§°ç¼ç¨ï¼æ¯æ让计ç®æºä»£ä¸ºè§£å³æ个é®é¢ã对æ个计ç®ä½ç³»è§å®ä¸å®çè¿ç®æ¹å¼ï¼ä½¿è®¡ç®ä½ç³»æç §è¯¥è®¡ç®æ¹å¼è¿è¡ï¼å¹¶æç»å¾å°ç¸åºç»æçè¿ç¨ã
ç¼ç¨å°±æ¯ä¸ºäºåå©äºè®¡ç®æºæ¥è¾¾å°æä¸ç®çæ解å³æ个é®é¢ï¼è使ç¨æç§ç¨åºè®¾è®¡è¯è¨ç¼åç¨åºä»£ç ï¼å¹¶æç»å¾å°ç»æçè¿ç¨ã计ç®æºè½ç¶åè½åå强大ï¼å¯ä»¥ä¸ç½ãç©æ¸¸æã管çå ¬å¸äººäºå ³ç³»ççãä½æ¯æ²¡æç¨åºï¼å®å°±çäºæ¯ä¸å åºéï¼ä¸ä¼çä¼æ们对å®ä¸è¾¾çâå½ä»¤âã
ç¼ç¨è¯è¨ä»ç»
使ç¨æ±ç¼è¯è¨ç¼å计ç®æºç¨åºï¼ç¨åºåä»ç¶éè¦ååçæ计ç®æºç³»ç»ç硬件ç»æï¼æ以ä»ç¨åºè®¾è®¡æ¬èº«ä¸æ¥çä»ç¶æ¯ä½æççãç¦ççãä½æ£æ¯ç±äºæ±ç¼è¯è¨ä¸è®¡ç®æºç¡¬ä»¶ç³»ç»å ³ç³»å¯åï¼å¨æäºç¹å®çåºåï¼å¦å¯¹æ¶ç©ºæçè¦æ±å¾é«çç³»ç»æ ¸å¿ç¨åºä»¥åå®æ¶æ§å¶ç¨åºçï¼è¿ä»ä¸ºæ¢æ±ç¼è¯è¨ä»ç¶æ¯ååææçç¨åºè®¾è®¡å·¥å ·ã
使ç¨é«çº§è¯è¨ç¼åç¨åºçä¼ç¹æ¯ï¼ç¼ç¨ç¸å¯¹ç®åãç´è§ãæç解ãä¸å®¹æåºéãé«çº§è¯è¨æ¯ç¬ç«äºè®¡ç®æºçï¼å èç¨é«çº§è¯è¨ç¼åç计ç®æºç¨åºéç¨æ§å¥½ï¼å ·æè¾å¥½ç移æ¤æ§ã
å¨è®¡ç®æºåºç¨çåæï¼ç¨åºå使ç¨æºå¨çæ令系ç»æ¥ç¼å计ç®æºåºç¨ç¨åºï¼è¿ç§ç¨åºç§°ä¸ºæºå¨è¯è¨ç¨åºã
æ±è¡ç®åCè¯è¨ç¨åºä»£ç ï¼åºç¡ç就好
#includestdio.h
#includestdlib.h
#defineNUM
/*runthisprogramusingtheconsolepauseroraddyourowngetch,system("pause")orinputloop*/
//å泡æåºç®æ³
//åºæ¬ææ³ï¼æ¯è¾ç¸é»ç两个æ°ï¼å¦æåè æ¯åè 大ï¼åè¿è¡äº¤æ¢ãæ¯ä¸è½®æåºç»æï¼éåºä¸ä¸ªæªæåºä¸æ大çæ°æ¾å°æ°ç»åé¢ã
voidbubbleSort(int*arr,intn){
inti,j;
for(i=0;in-1;i++)
for(j=0;jn-i-1;j++){
//å¦æåé¢çæ°æ¯åé¢å¤§ï¼è¿è¡äº¤æ¢
if(arr[j]arr[j+1]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//æå·®æ¶é´å¤æ度为O(n^2),å¹³åæ¶é´å¤æ度为O(n^2)ã稳å®æ§ï¼ç¨³å®ãè¾ å©ç©ºé´O(1)ã
//å级çå泡æåºæ³ï¼éè¿ä»ä½å°é«éåºæ大çæ°æ¾å°åé¢ï¼åä»é«å°ä½éåºæå°çæ°æ¾å°åé¢ï¼
//å¦æ¤åå¤ï¼ç´å°å·¦è¾¹çåå³è¾¹çéåãå½æ°ç»ä¸æå·²æåºå¥½çæ°æ¶ï¼è¿ç§æåºæ¯ä¼ ç»å泡æåºæ§è½ç¨å¥½ã
//å级çå泡æåºç®æ³
voidbubbleSort_1(int*arr,intn){
//设置æ°ç»å·¦å³è¾¹ç
intleft=0,right=n-1;
//å½å·¦å³è¾¹çæªéåæ¶ï¼è¿è¡æåº
while(left=right){
inti,j;
//ä»å·¦å°å³éåéåºæ大çæ°æ¾å°æ°ç»å³è¾¹
for(i=left;iright;i++){
if(arr[i]arr[i+1]){
inttemp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
right--;
//ä»å³å°å·¦éåéåºæå°çæ°æ¾å°æ°ç»å·¦è¾¹
for(j=right;jleft;j--){
if(arr[j+1]arr[j]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
left++;
}
}
intmain(intargc,char*argv[]){
intarr[NUM],i,j,temp;
printf("请è¾å ¥ä¸ªæ°ï¼\n");
for(i=0;iNUM;i++){
printf("请è¾å ¥ç¬¬(%d)个æ°ï¼",i+1);
scanf("%d",arr[i]);
}
printf("\nè¾å ¥å¦ä¸æåï¼\n");
for(i=0;iNUM;i++){
printf("%4d",arr[i]);
}/
*for(i=0;iNUM;i++){
for(j=i+1;jNUM;j++){
if(arr[i]arr[j]){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}*/
bubbleSort_1(arr,NUM);
/*printf("\nä»å°å°å¤§å¦ä¸æåï¼\n");
for(i=0;iNUM;i++){
printf("%4d",arr[i]);
}*/
printf("\nä»å¤§å°å°å¦ä¸æåï¼\n");
for(i=NUM-1;i=0;i--){
printf("%4d",arr[i]);
}
return0;
}
é便ç»æä¸ä¸ªç¼ç¨ä»£ç 带ææ谢谢main()?
{ ?
inti,j,k;?
printf("\n");?
for(i=1;i5;i++)ï¼*以ä¸ä¸ºä¸é循ç¯*/
for(j=1;j5;j++)
for(k=1;k5;k++)
{
if(i!=ki!=jj!=k)/*ç¡®ä¿iãjãkä¸ä½äºä¸ç¸å*/
printf("%d,%d,%d\n",i,j,k);
}?
}
1ã代ç 解éï¼ä»¥ä¸è¿æ®µä»£ç æ¯ç¨Cè¯è¨ååºæ¥ç代ç ï¼ä»æ解å³çé®é¢æ¯ï¼æ1ã2ã3ã4个æ°åï¼è½ç»æå¤å°ä¸ªäºä¸ç¸åä¸æ éå¤æ°åçä¸ä½æ°ï¼é½æ¯å¤å°ï¼?å¯å¡«å¨ç¾ä½ãåä½ã个ä½çæ°åé½æ¯1ã2ã3ã4ãç»æææçæåååå»?æä¸æ»¡è¶³æ¡ä»¶çæåã
2ãCè¯è¨ä»ç»ï¼Cè¯è¨æ¯ä¸é¨éç¨è®¡ç®æºç¼ç¨è¯è¨ï¼åºç¨å¹¿æ³ãCè¯è¨ç设计ç®æ æ¯æä¾ä¸ç§è½ä»¥ç®æçæ¹å¼ç¼è¯ãå¤çä½çº§åå¨å¨ã产çå°éçæºå¨ç 以åä¸éè¦ä»»ä½è¿è¡ç¯å¢æ¯æ便è½è¿è¡çç¼ç¨è¯è¨ã
3ãCè¯è¨çä¼ç¹ï¼ç®æ´ç´§åãçµæ´»æ¹ä¾¿ãè¿ç®ç¬¦ä¸°å¯ãæ°æ®ç»æ丰å¯ãCæ¯ç»æå¼è¯è¨ãCè¯æ³éå¶ä¸å¤ªä¸¥æ ¼ãç¨åºè®¾è®¡èªç±åº¦å¤§ï¼ä¸è¬çé«çº§è¯è¨è¯æ³æ£æ¥æ¯è¾ä¸¥ï¼è½å¤æ£æ¥åºå ä¹ææçè¯æ³é误ãèCè¯è¨å 许ç¨åºç¼åè æè¾å¤§çèªç±åº¦ãCè¯è¨ç¨åºçæ代ç è´¨éé«ï¼ç¨åºæ§è¡æçé«ï¼ä¸è¬åªæ¯æ±ç¼ç¨åºçæçç®æ 代ç æçä½ã¸%ã
4ãå ¶ä»ç¼ç¨è¯è¨ä»ç»ï¼Python(è±å½åé³:/?pa?θ?n/ç¾å½åé³:/?pa?θÉ?n/),æ¯ä¸ç§é¢å对象ç解éå计ç®æºç¨åºè®¾è®¡è¯è¨ï¼ç±è·å °äººGuidovanRossumäºå¹´åæï¼ç¬¬ä¸ä¸ªå ¬å¼åè¡çåè¡äºå¹´ãPythonæ¯çº¯ç²¹çèªç±è½¯ä»¶ï¼?æºä»£ç å解éå¨CPythonéµå¾ªGPL(GNU?GeneralPublicLicense)åè®®ãPythonè¯æ³ç®æ´æ¸ æ°ï¼ç¹è²ä¹ä¸æ¯å¼ºå¶ç¨ç©ºç½ç¬¦(whitespace)ä½ä¸ºè¯å¥ç¼©è¿ã
pythonæ趣çç¼ç¨ä»£ç class?Point:
row=0col=0def?__init__(self,?row,?col):self.row=row
self.col=col
def?copy(self):return?Point(row=self.row,?col=self.col)
#åå§æ¡æ¶
import?pygame
import?random
#åå§å
pygame.init()
W=
H=
ROW=
COL=
size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('è´ªåè')
bg_color=(,,)
snake_color=(,,)
head=Point(row=int(ROW/2),?col=int(COL/2))
head_color=(0,,)
snakes=[
Point(row=head.row,?col=head.col+1),Point(row=head.row,?col=head.col+2),Point(row=head.row,?col=head.col+3)]
#çæé£ç©
def?gen_food():
while?1:pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))
#
is_coll=False
#æ¯å¦è·è碰ä¸äº
if?head.row==pos.row?and?head.col==pos.col:
is_coll=True#è身å
for?snake?in?snakes:
if?snake.row==pos.row?and?snake.col==pos.col:is_coll=True
break
if?not?is_coll:
breakreturn?pos#å®ä¹åæ
food=gen_food()
food_color=(,,0)
direct='left'#left,right,up,down
#
def?rect(point,?color):
cell_width=W/COLcell_height=H/ROWleft=point.col*cell_widthtop=point.row*cell_heightpygame.draw.rect(window,?color,
(left,?top,?cell_width,?cell_height)
)pass#游æ循ç¯
quit=True
clock=pygame.time.Clock()
while?quit:
#å¤çäºä»¶for?event?in?pygame.event.get():if?event.type==pygame.QUIT:
quit=Falseelif?event.type==pygame.KEYDOWN:
if?event.key==?or?event.key==:if?direct=='left'?or?direct=='right':
direct='up'elif?event.key==?or?event.key==:if?direct?==?'left'?or?direct?==?'right':
direct='down'elif?event.key==?or?event.key==:if?direct?==?'up'?or?direct?==?'down':
direct='left'elif?event.key==?or?event.key==:if?direct?==?'up'?or?direct?==?'down':
direct='right'#åä¸è¥¿eat=(head.row==food.row?and?head.col==food.col)#éæ°äº§çé£ç©if?eat:food?=?gen_food()
#å¤ç身å#1.æåæ¥ç头ï¼æå ¥å°snakesç头ä¸snakes.insert(0,?head.copy())#2.æsnakesçæåä¸ä¸ªå æif?not?eat:snakes.pop()
#移å¨if?direct=='left':head.col-=1
elif?direct=='right':head.col+=1
elif?direct=='up':head.row-=1
elif?direct=='down':head.row+=1
#æ£æµdead=False#1.æå¢if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:dead=True
#2.æèªå·±for?snake?in?snakes:if?head.col==snake.col?and?head.row==snake.row:
dead=Truebreakif?dead:print('æ»äº')
quit=False
#渲æââç»åºæ¥#èæ¯pygame.draw.rect(window,?bg_color,?(0,0,W,H))#è头for?snake?in?snakes:rect(snake,?snake_color)
rect(head,?head_color)rect(food,?food_color)#pygame.display.flip()#设置帧é¢ï¼é度ï¼clock.tick(8)#æ¶å°¾å·¥ä½
è¿æ¯ä¸ä¸ªç®æçè´ªåèç代ç ï¼è½ç¶ç»æç®åï¼ä½æ¯è¯¥æçåè½é½æ¯å®æ´çï¼å¯ç©æ§ä¹ä¸é
cè¯è¨ç¼ç¨çè±ä»£ç ç®åcè¯è¨ç¼ç¨çè±ä»£ç ç®åå¦ä¸ï¼
#include"stdlib.h"
#include"graphics.h"
#include"stdio.h"
#include"math.h"
#include"conio.h"
#definePI?3.
main()
{
intgdriver=DETECT,gmode,errorcode;
inta[],b[],x,y,c,r,i,j,t;
doublerad=0.0;
/*initializegraphicsandlocalvariables*/
initgraph(gdriver,gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!=grOk)?/*anerroroccurred*/
{
printf("Graphicserror:%s/n",grapherrormsg(errorcode));
printf("Pleaseanykeytohalt:");
getch();
exit(1);?/*terminatewithanerrorcode*/
}
randomize();
for(;!kbhit();)
{
x=rand()%+;/*éæºä¸å¿åæ */
y=rand()%+;
for(r=0;r=8;r++?)?/*çè±ç大å°è®¾å®*/
{
for(i=0,rad=0.0;rad2*PI;rad+=0.)?/*设å®åæ */
{
a[i++]=x+(int)r**cos(rad);
b[i]=y+(int)r**sin(rad);
}
t=i;
for(i=1;it;i++)
{
c=rand()%+1;/*åç¹çé¢è²éæº*/
setcolor(c);/*åè½:å°å½åå¾å½¢å±å¹çå½åç¬ç»é¢è²ç½®ä¸ºcolor.*/
circle(a[i],b[i],1);/*a[i],b[i]为åå¿1为åå¾ç»å*/
}
delay();
delay();
cleardevice();
å½æ°å:cleardevice?
å?è½:æ¸ é¤å¾å½¢å±å¹?
ç¨?æ³:voidfarcleardevice(void);
}
}
getch();
closegraph();
å½æ°å:closegraph
å?è½:å ³éå¾å½¢ç³»ç»
ç¨?æ³:voidfarclosegraph(void);
}
åå§åçè±åæ°
voidInit(inti)
{
//åå«ä¸ºï¼çè±ä¸å¿å°å¾çè¾¹ç¼çæè¿è·ç¦»ãçè±ä¸å¿å°å¾çå·¦ä¸è§çè·ç¦»(xãy)两个åé
intr[]={ ,,,,,,,,,,,,};
intx[]={ ,,,,,,,,,,,,};
inty[]={ ,,,,,,,,,,,,};
/****åå§åçè±*****/
Fire[i].x=0;//çè±ä¸å¿åæ
Fire[i].y=0;
Fire[i].width=;//å¾ç宽
Fire[i].height=;//å¾çé«
Fire[i].max_r=r[i];//æ大åå¾
Fire[i].cen_x=x[i];//ä¸å¿è·å·¦ä¸è§è·ç¦»
Fire[i].cen_y=y[i];
Fire[i].show=false;//æ¯å¦ç»½æ¾
Fire[i].dt=5;//绽æ¾æ¶é´é´é
Fire[i].t1=timeGetTime();
Fire[i].r=0;//ä»0å¼å§ç»½æ¾
/****åå§åçè±å¼¹*****/
Jet[i].x=-;//çè±å¼¹å·¦ä¸è§åæ
Jet[i].y=-;
Jet[i].hx=-;//çè±å¼¹åå°æé«ç¹åæ
Jet[i].hy=-;
Jet[i].height=0;//åå°é«åº¦
Jet[i].t1=timeGetTime();
Jet[i].dt=rand()%;//åå°é度æ¶é´é´é
Jet[i].n=0;//çè±å¼¹éªçå¾çä¸æ
Jet[i].shoot=false;//æ¯å¦åå°
}