怎样成为计算机高手

怎样成为计算机高手,第1张

看看这个,你就明白了,希望对你有帮助!

一、为何要学编程?

每个人的动机不一样。大致有:

1、为了找个好工作;或为了有更好的机会和更好的发展。

2、看到别人超厉害,所以也想学。

3、实际工作中很多场合需要。

4、从小就立志做个程序员,做软件工程师。

5、振兴中国的软件事业。

。。。。。。

================================================

二、如何学编程?

1、多看好书。

差书误人子弟,不但浪费时间和精力,而且打击人的信心,差书使人很久都不会,让会让人怀疑自已的学习能力。

现在的书很多,但好书很少,特别是被大家公认很有价值的好书,更是少之又少。历经多年时间考验和市场风雨不残酷洗礼而仅存的巨著,更是极其稀少。中国历史上文学小说类书本多如牛毛,但仅存的巨著,也只不过<<红楼梦>>等四本名著而已,编程方面也是如此。

2、多动手。

这一点很重要。而且特别重要。“纸上得来终觉浅,绝知此事要躬行。”陆游的千古名句说的就是这个道理,并且同样适合于编程方面。

================================================

三、用什么语言最好?

这主要取决于应用领域,每种语言都有自已的长处和不足。

1、汇编语言和C语言在单片机及工控领域用较多。另外C语言也是一种通用语言,是学C++/c#的起点。

2、C++系统编程等多个方面,最常用的编译器是VC。

3、C#/java网络编程方面新兴的。

4、VB通用。

5、还有Delphi等。。。。。。

个人建议:从未编过程的,就从学vb开始。有基础的可直接学c++/VC。

===================================================

四、有什么好书?

几年前,台湾著名技术作家侯捷先生曾经写过一篇影响很大的书评文章,叫做《MFC四大天王》。文章的意思是说在MFC的浩瀚书海中,只要认真研读和学习其中四本,就可以“五岳归来不看山”。侯先生虽以MFC为例,但是这个道理却同样适合于MFC之外的很多具体技术领域,这不能不说是一个有趣的统计现象。

通常在某一个具体细分的技术领域,会自然而然地出现3-5本顶级著作,它们彼此互相配合,形成一个完整的体系。对于学习者来说,只需要认真研读这几本书,就足以升堂入室。我乐于将这种现称为“四书五经现象”。对于读者来说,如果能够找到该领域中的“四书五经”,则无论在时间上还是金钱上都是最经济的选择。好书几本,胜过烂书几捆,这个体会想必大家都有。在此,帮助大家遴选各个技术领域里的“四书五经”。

编程的书可谓汗牛充栋,其中经典也是不泛其数,但绝大多数的过来人,都一致认为,要想很快的入门并尽快的投入到编程实践中,只要其中的四到五本也就够了,即只看经典中的经典,圣经级的书就可以了。

所谓活到老学到老,程序员是个终身学习的职业,要不断的看书,直到放弃编程的那一天。所以,您要读的好书也绝非以下推荐的这些书哟,呵呵。

一句话,由于我们的时间、精力、金钱都是有限的,如何以最小的代价换得最大的收获。

================================================================

五、经典好书分类热销榜

1、java

java编程语言(第三版)---java四大名著----James Gosling(java之父)

java编程思想(第2版)----java四大名著----Bruce Eckel

java编程思想(第3版)----java四大名著----------------Bruce Eckel

java 2核心技术 卷I:基础知识(原书第7版)---java四大名著-----Cay Horstmann

java 2核心技术 卷II:高级特性(原书第7版)----java四大名著-----Cay Horstmann

Effective java中文版------java四大名著--------Joshua Bloch

精通Struts:基于MVC的java Web设计与开发---孙卫琴

精通Hibernate:java对象持久化技术详解---孙卫琴

Tomcat与java Web开发技术详解------------孙卫琴

java与模式------------------------------阎宏

2、c#

C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑”

C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑”

.NET框架程序设计(修订版)--------Jeffrey Richter“windows编程泰山北斗”---.NET平台四大天王

C# Windows程序设计----------Charles Petzold“windows编程泰山北斗”------.NET平台四大天王

.NET程序设计技术内幕-------------Jeff Prosise---.NET平台四大天王

.NET本质论--第1卷:公共语言运行库(中文版)--------Chris Sells---.NET平台四大天王

3、C++

C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”

C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman

C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman

C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis

C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”

深度探索C++对象模型---c++八大金刚----Stanley B.Lippman

Essential C++中文版---c++八大金刚---Stanley B.Lippman

Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers

More Effective C++中文版----c++八大金刚------Scott Meyers

C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel

C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel

C++程序设计--------------------------谭浩强

C++ 程序设计教程(第2版)--------------钱能

C++ Primer Plus(第五版)中文版---Stephen Prata

广博如四库全书The c++ programming language、c++ Primer

深奥如山重水复Inside the c++ object model

程序库大全The c++ standard libray

工程经验之积累Effective c++、More Effective c++、Exceptional c++

c++八大金刚:

1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者

2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。

3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。

4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。

5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。

6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。

7、The c++ standard libray---c++标准库的百科全书。

8、设计模式:可复用面向对象软件的基础------good!

4、c

C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”

C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata

C程序设计(第三版)---------------------------谭浩强

C语言大全(第四版)---------------------------HERBERT SCHILDT

C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON

C语言参考手册(原书第5版)--------------------------Samuel P.Harbison

C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel

C陷阱与缺陷-----------------------------------Andrew Koenig

5、VB

Visual Basic .NET技术内幕-----VB编程三剑客-----------Francesco Balena“vb首席大师”

Windows程序设计-Visual Basic.NET语言描述--VB编程三剑客-----Charles Petzold“windows编程泰山北斗”---

.NET框架程序设计:Visual Basic.NET语言描述--VB编程三剑客--Jeffrey Richter“windows编程泰山北斗”---

Visual Basic 6编程技术大全------------------------Francesco Balena“vb首席大师”

Visual Basic.NET 从入门到精通-------------------------Petroutsos,E.

高级VISUAL BASIC编程-----------------------------------MATTHEW CURLAND

6、Delphi

Inside VCL(深入核心——VCL架构剖析)----------李维

Delphi 7高效数据库程序设计--------------李维

面向对象开发实践之路(Delphi版)----------李维

7、VC

Windows 程序设计(第5版)-----Charles Petzold“windows编程泰山北斗”---

Windows核心编程----------Jeffrey Richter“windows编程泰山北斗”---

Windows高级编程指南---------Jeffrey Richter“windows编程泰山北斗”---

深入浅出MFC(第二版)-----“MFC四大天王”-------侯捷

MFC Windows程序设计(第2版)---MFC四大天王”---------Jeff Prosise

Visual C++ 技术内幕(第4版)--MFC四大天王”--------David Kruglinski

深入解析MFC-------------MFC四大天王”-----------George Shepherd

Visual C++.NET 技术内幕(第6版)-MFC四大天王”------------David Kruglinski

8、vf

Visual Foxpro程序设计参考手册-------------------张洪举

专家门诊——Visual FoxPro开发答疑160问-------------------张洪举

Visual FoxPro 6.0/9.0解决方案与范例大全-------------------张洪举

Visual FoxPro软件开发模式与应用案例-------------------张洪举

9、黑客

应用密码学(协议算法与C源程序-----------Bruce Schneier

网络信息安全的真相-----------Bruce Schneier

黑客大曝光:网络安全机密与解决方案(第5版)--------STUART MCCLURE

软件加密技术内幕------------看雪学院

加密与解密——软件保护技术与完全解决方案------------看雪学院

加密与解密(第二版)--------段钢

10、汇编

Intel微处理器结构、编程与接口(第六版)---------Barry B. Brey

80*86、奔腾机汇编语言程序设计---------Barry B. Brey

Windows环境下32位汇编语言程序设计(第2版)-----------罗云彬

IBM-PC汇编语言程序设计(第2版) 本书是国内优秀教材--------沈美明 温冬婵

IBM PC汇编语言程序设计(第五版) 这本书籍是国外优秀教材-------PETER ABEL著,沈美明 温冬蝉译

11、驱动开发

Windows WDM设备驱动程序开发指南------------------------------------ Chris Cant

Windows 2000/XP WDM设备驱动程序开发(第2版)--------------------------武安河

WINDOWS 2000/XP WDM设备驱动程序开发-------------------------------- 武安河

12、网络

计算机网络第四版中文版----网络编程三剑客--------------Andrew S.Tanenbaum

TCP/IP详解3卷本--------------------Richard Stevens----网络编程三剑客

UNIX网络编程2卷本--------------------Richard Stevens----网络编程三剑客

用TCP/IP进行网际互联-----------Douglas E. Comer

高级TCP/IP编程-------------------Jon C. Snader

C++网络编程-----------------------Douglas Schmidt

UNIX环境高级编程(第2版)--------------------Richard Stevens

13、算法

计算机程序设计艺术-------Donald.E.Knuth----------算法“倚天屠龙”双剑

算法导论-----------------Thomas H. Cormen--------算法“倚天屠龙”双剑

离散数学及其应用----------Kenneth H.Rosen

具体数学—计算机科学基础--------Donald.E.Knuth

14、图形编程

Windows 图形编程----------------FENG YUAN --图形编程界的Charles Petzold之书

15、数据结构

数据结构 C++语言描述》58.00(Data Structures C++) William Ford,William Topp 刘卫东 沈官林

数据结构算法与应用-C++语言描述》49.00Sartej Sahni 汪诗林 孙晓东等机械工业出版社

16、软件工程

设计模式--可复用面向对象软件的基础

重构—改善既有代码的设计

17、 *** 作系统

深入理解计算机系统(修订版)-------RANDAL E.BRYANT

18、Unix

UNIX 网络编程 卷I 套接字联网API(英文版 第三版

UNIX 编程艺术

UNIX环境高级编程(英文影印第2版-----UNIX编程“圣经

UNIX环境高级编程(英文影印版)(第2版)

UNIX环境高级编程(第2版)

UNIX环境高级编程(第2版)---UNIX编程“圣经

UNIX网络编程 第1卷:套接口API(第3版)

UNIX网络编程卷2:进程间通信(第2版)(英文影印版)

UNIX 网络编程(第二版)第2卷:进程间通信

UNIX编程环境

UNIX 网络编程 卷I 套接字联网API(英文版 第三版

UNIX系统编程

UNIX环境高级编程

UNIX 网络编程 卷I 套接字联网API(英文版 第三版)

UNIX网络编程 第1卷:套接口API(第3版)

UNIX 网络编程(第二版)第2卷:进程间通信

UNIX网络编程卷2:进程间通信(第2版)(英文影印版)

UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API

UNIX网络编程(卷1):连网的APLS:套接字与XTI(第二版)(英文影印版)

UNIX环境高级编程

Unix技术手册

19、Linux

Linux内核设计与实现

Linux内核完全注释

LINUX内核分析及编程

GNU/Linux 编程指南(第二版)

Linux设备驱动程序(第三版)

嵌入式设计及Linux驱动开发指南——基于ARM 9处理器

Linux设备驱动程序 第三版(英文影印版)

Linux内核设计与实现(第2版)

Linux内核设计与实现(英文影印版)(第2版)

linux技术手册

20、游戏编程

Windows游戏编程大师技巧(第二版

游戏之旅--我的编程感悟

OpenGL超级宝典:第三版

OpenGL编程指南(第四版)

java 游戏高级编程

J2ME手机游戏编程入门

游戏之旅——我的编程感悟

游戏开发中的人工智能(英文影印版)

3D游戏:卷2 动画与高级实时渲染技术

面向对象的游戏开发

java 游戏高级编程

3D游戏编程大师技巧

游戏编程精粹

面向对象的游戏开发

3D游戏 卷1:实时渲染与软件技术

3D游戏:卷2 动画与高级实时渲染技…

J2ME手机游戏编程入门

Direct3D游戏编程入门教程(第二版…

21、移动开发

Windows Mobile手机应用开发

SYMBIAN OS C++手机应用开发

Windows Mobile手机应用开发--傅曦 齐宇 徐骏

SYMBIAN OS C++手机应用开发 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣译

SYMBIAN OS C++手机应用开发---------------RICHARD HARRISON著,周良忠译

Windows CE.net内核定制及应用程序开发---------周毓林 宁杨 陆贵强 付林林

嵌入式系统Windows CE 开发技巧与实例--傅曦

Palm OS编程实践---绝版

22、单片机

单片机轻松入门----------------------------------周坚(平凡老师)

单片机典型模块设计实例导航-----------------------求是科技

例说8051----------------------------------------张义和 陈敌北

KEIL CX51 V7.0单片机高级语言编程与ΜVISION2应用实践-----徐爱钧

单片机应用程序设计技术(修订版)--------------------周航慈

8051单片机实践与应用-------------------------------吴金戎

MCS-51系列单片机实用接口技术---------------------李华

23、串并口通讯

Visual C++/Turbo C串口通信编程实践------------------龚建伟

VISUAL BASIC与RS-232串行通信控制(最新版)----------范逸之

24、电子

无线电识图与电路故障分析轻松入门(第二版) -------------------胡斌

无线电元器件检测与修理技术轻松入门(第二版) -------------------胡斌

图表细说电子技术识图-------------------胡斌

图表细说电子元器件-------------------胡斌

图表细说元器件及实用电路-------------------胡斌

================================================================

六、怎样成为一名程序员

通过以下4个阶段的训练, 没有任何编程基础人就可以成为一名普通的程序员。

第一阶段:掌握一种编程语言

学习内容:学习任意一种主流的编程语言。例如C++语言。

学习目标:熟练掌握一种语言的语法和基本的编程技巧。

学习时间:3个月左右

注意事项:编程语言和编程工具是两回事情,编程语言是指C++、Basic、Object Pascal等程序设计语言,它们是像汉语、英语一样的抽象的语法规则,编程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代码编辑器、程序编译器在内的集成化、可视化的软件开发工具。C++源程序可以在Visual C++ 6.0里编写,也可以在记事本里编写,而同一个C++源程序可以用Visual C++ 6.0编译、执行,也可以用C++ Builder 5.0 编译、执行,所以: C++ 不等于 Visual C++ 6.0

第二阶段:掌握一种编程工具

学习内容:学习任意一种主流的编程工具。注意编程工具要和第一阶段学习的编程语言一致,例如你学习的编程语言是C++,那么编程工具要选Visual C++ 6.0或者C++ Builder 5.0。

学习目标:熟练掌握这种编程工具基本用法,例如:菜单、组件、程序跟踪调试、编写Windows程序等。

学习时间:3个月左右

注意事项:这个阶段侧重编程工具的使用,同时进一步熟习编程语言,最后达到能熟练编写各种基本的Windows程序。

第三阶段:掌握“算法与数据结构”这门课程

学习内容:算法与数据结构,推荐许卓群的《数据结构》,高等教育出版社出版。

学习目标:熟练掌握各种常用的算法与数据结构

学习时间:4个月左右

注意事项:这是一门不可或缺的软件开发课程,曾经有一本经典计算机专业书籍叫做《数据结构+算法=程序》,这说明了数据结构和算法的重要性。它能帮我们建立良好的程序分析与设计能力。

第四阶段:实现一个模拟的小型软件项目

学习内容:软件项目的开发过程

学习目标:掌握软件项目的基本开发过程和方法

学习时间:4个月左右

注意事项:自己完成一个模拟的小型软件项目,强烈推荐做一个MIS(管理信息系统)软件,参考用书推荐“中小型信息管理系统开发实例系列丛书”,人民邮电出版社,它的例子详实有效,以它为基础再加以扩展,就可以做出实用的MIS软件来。此丛书包括多种开发工具,大家可以选择适合自己的:《VISUAL FOXPRO6.0 数据库系统开发实例导航》 《java数据库系统开发实例导航》 《VISUAL BASIC数据库系统开发实例导航》《VISUAL C++6.0数据库系统开发实例导航》 《ASP.NET数据库管理系统开发实例导航》 《DELPHI数据库系统开发实例导航》《POWERBUILDER 8.0数据库系统开发实例导航》。

最后将完成的模拟软件刻成光盘,作为自己的作品去面试,以此踏上自己光辉的职业程序员之路!

你自己挑几本看吧,

入门推荐看

C Primer Plus中文版(第五版)

C程序设计(第三版)

学好C之后再去学c++,建议看

白话c++

你先把这些书复制下来,这些书都是经典中的经典了。都是非常好的。

C程序设计语言(第2版·新版)---C语言“倚天屠龙双剑”---Brian W.Kernighan“C语言之父”

C Primer Plus中文版(第五版)--------C语言“倚天屠龙双剑”---Stephen Prata

C程序设计(第三版)---------------------------谭浩强

C语言大全(第四版)---------------------------HERBERT SCHILDT

C语言接口与实现:创建可重用软件的技术-------------DAVID R.HANSON

C语言参考手册(原书第5版)--------------------------Samuel P.Harbison

C程序设计教程---------------------------------H.M.Deitel/P.J.Deitel

C陷阱与缺陷-----------------------------------Andrew Koenig

The C Programming Language by Kernighan &Ritchie Complement : The Development of the C Language

C Traps and Pitfalls by Andrew Koenig

Expert C Programming by Peter van der Linden

The Standard C Library by P J Plauger

Books on Linux &C :

Linux Application Development by Michael K. Johnson &Erik W. Troan

Linux device drivers by Alessandro Rubini

Developing Linux applications with GTK+ and GDK (ISBN 0-7357-0021-4, New Riders)

C/C++入门基础

Windows C 程序设计入门与提高

单片机C语言入门

C++ 入门基础教程

C语言常用算法源代码

C常用算法程序集

C++ 语言命令详解

Borland C++使用手册

C语言编程基础

C语言编程要点

C语言数值算法程序大全(第二版)

Borland C++4.0安装与使用

C++ Builder 5.0经典入门

非C程序员C++入门自学教程

C/C++指令字典

C语言常用函数手册

C++标准程序库自修教程与参考手册

C语言图形函数介绍

C语言数值计算初步

C++ 设计新思维

C++Builder基础进阶

C语言初学者入门讲座

C++完全参考手册

C++Builder英文帮助

《C++Builder学习大全》中文版

C++ Builder编程研究文档

C游戏编程从入门到精通

C++程序调试实用手册

Borland C++4.0从入门到精通

实用教程:

经典C语言教程

C++捷径教程(第三版)

Borland C++实用教材

C++程序设计语言题解

C++上机实践指导教程(第三版)

创世纪的C++ Builder教程

Borland C++程序设计教程

C++ BUILDER 实用培训教程

C++程序设计培训教程

C++编程金典(第三版)

C高级实用程序设计

嵌入式系统中C的开发

C++Builder自学培训教程

C++大学教程(第二版)

C++傻瓜教程

精通C++ Builder 5程序设计高级教程

C++程序设计语言经典题与实验指导

C++程序设计教程实验书

C++大学基础教程

C++面向对象到窗口程序设计

C语言核心编程

嵌入式系统的C程序设计

经典C教程

实用C语言详解

Borland C++深入编程

Borland C++4.0程序设计

C++ 面向对象多线程编程

编程实例

C++实例教程

C++30天极限教程

C++Builder程序设计范例

C语言程序基础及应用实例

C语言趣味程序百例精解

C++编程实例详解

C++ Builder网络开发实例

C++实践之路

21天学通C语言(第六版)

C语言学习300例

C++Builder6.0界面实例开发经典编程900例(C语言)

一个月挑战C++

Borland C++应用篇

自学C++半月通

边用边学C语言

C语言完美演绎

设计60系列C++游戏

C语言程序设计题典

C++物件模型

C++ Builder 5编程实例与技巧

C语言程序设计及应用实例

Borland C++ 高级开发实践

Borland C++ Builder6开发人员

经验技巧:C++编码规范与指导

C++核心编程技术

C++程序设计陷阱

C数值算法程序大全

C和C++代码精粹

C++编程-数据结构与程序设计方法

C++语言教程大全

C++Builder核心program

C高级编程技术

C语言常见问题集

C++ Builder 3 核心编程技术

Borland C++程序设计技术

用C实现面向对象

C专家编程

C++数据结构

C语言高级实用编程技巧

C程序设计与应用

C&C++深层探索

C++ 和面向对象的数值计算

用C++开发Web商用程序

C++代码设计与重用

C++程序员JAVA编程

Borland C++宝典

C语言最新编程技巧200例

C++语言学习经验集合

C语言编程宝典大全

C++ Builder高级开发人员技术指南

C++ 内存管理算法和实现

Turboc库函数源程序与参考大全

C++ Builder 5 开发人员指南

C++程序设计实验指导(钱能)

用C语言设计屏幕界面技术

C和C++代码锦囊

C语言学习和精华文摘

标准C++宝典

C_C++深层探索

Borland C++库函数详解

高质量C、C++编程指南

C++和面向对象的数值计算

C++、

C++程序设计语言(特别版)---c++八大金刚----Bjarne Stroustrup“C++之父”

C++ Primer (第3版)中文版----c++八大金刚---Stanley B.Lippman

C++ Primer (第4版)中文版----c++八大金刚---Stanley B.Lippman

C++标准程序库—自修教程与参考手册--c++八大金刚--Nicolai M.Josuttis

C++语言的设计和演化-----c++八大金刚----Bjarne Stroustrup“C++之父”

深度探索C++对象模型---c++八大金刚----Stanley B.Lippman

Essential C++中文版---c++八大金刚---Stanley B.Lippman

Effective C++中文版 2nd Edition-----c++八大金刚------Scott Meyers

More Effective C++中文版----c++八大金刚------Scott Meyers

C++编程思想(第2版) 第1卷:标准C++导引--------Bruce Eckel

C++编程思想(第2版)第2卷:实用编程技术 --------Bruce Eckel

C++程序设计--------------------------谭浩强

C++ 程序设计教程(第2版)--------------钱能

C++ Primer Plus(第五版)中文版---Stephen Prata

广博如四库全书The c++ programming language、c++ Primer

深奥如山重水复Inside the c++ object model

程序库大全The c++ standard libray

工程经验之积累Effective c++、More Effective c++、Exceptional c++

c++八大金刚:

1、Essentital c++---lippman---C++之父,旁枝暂略,主攻核心,轻薄短小,初学者

2、The c++ programming language----C++之父,技术权威,用词深峻,思想深远,c++百科全书代表,圣经。

3、c++ Primer----lippman---纵横书市十数年,c++最佳教本,c++百科全书代表。

4、Inside the c++ object model-----lippman----揭示c++底层,非常好,非常难。

5、Effective c++-----通过50个编程实例,展示专家经验,行文有趣,深处浅出。

6、More Effective c++----通过35个编程实例,展示专家经验,行文有趣,深处浅出。

7、The c++ standard libray---c++标准库的百科全书。

8、设计模式:可复用面向对象软件的基础

一个“歼灭敌机”的小游戏,DEVc++通过编译:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <windows.h>

#include <time.h>

#define zlx 10  //增量坐标(x)让游戏框不靠边

#define zly 3   //增量坐标(y)让游戏框不靠边

#define W 26  //游戏框的宽度

#define H 24  //游戏框的高度

int jiem[22][22]={0}, wj=10  //界面数组, 我机位置(初值为10)

int speed=4,density=30, score=0,death=0//敌机速度, 敌机密度, 玩家成绩,死亡次数

int m=0,n=0 // m,n是控制敌机的变量

void gtxy (int x, int y)  //控制光标位置的函数

{ COORD pos

pos.X = x  pos.Y = y

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos )

}

void Color(int a)  //设定颜色的函数(a应为1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a )}

void yinc(int x=1,int y=0)   //隐藏光标的函数

{ CONSOLE_CURSOR_INFO  gb={x,y}   //y设为0即隐藏

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &gb)

}

void csh( )  //初始化函数

{ int i

Color(7)

gtxy(zlx,zly)printf("╔")  gtxy(zlx+W-2,zly)printf("╗")  //左上角和右上角的框角

gtxy(zlx,zly+H-1)printf("╚")gtxy(zlx+W-2,zly+H-1)printf("╝")//下边两框角

for(i=2i<W-2i+=2) {gtxy(zlx+i,zly)  printf("═")}      //打印上横框

for(i=2i<W-2i+=2) {gtxy(zlx+i,zly+H-1)printf("═")}  //打印下横框

for(i=1i<H-1i++) { gtxy(zlx,zly+i) printf("║")}       //打印左竖框

for(i=1i<H-1i++) {gtxy(zlx+W-2,zly+i)printf("║")}  //打印右竖框

Color(14)gtxy(19,2)printf("歼灭敌机")Color(10)

gtxy(37,5)printf("设置:Esc ")

gtxy(37,7)printf("发射:↑ ")

gtxy(37,9)printf("控制:← → ")

gtxy(37,11)printf("得分:%d",score)

gtxy(37,13)printf("死亡:%d",death)

yinc(1,0)

}

void qcjm( )  //清除界面函数

{int i,j

for(i=0i<H-2i++)

for(j=0j<W-4j++){gtxy(zlx+2+j,zly+1+i)printf(" ")}

}

void feiji( )  //飞机移动函数

{int i,j

for(i=21i>=0i--)  //从底行往上是为了避免敌机直接冲出数组

  for(j=0j<22j++)

     {if(i==21&&jiem[i][j]==3) jiem[i][j]=0  //底行赋值0 以免越界

       if(jiem[i][j]==3) jiem[i][j]=0, jiem[i+1][j]=3

     }

if(jiem[20][wj]==3&&jiem[21][wj]==1) death++

}

void zidan( )  //子d移动函数

{ int i,j

for(i=0i<22i++)

  for(j=0j<22j++)

     {if(i==0&&jiem[i][j]==2) jiem[i][j]=0

     if(jiem[i][j]==2) { if(jiem[i-1][j]==3) score+=100,printf("\7")

                                  jiem[i][j]=0,jiem[i-1][j]=2}

     }

}

void print(  )  //输出界面函数

{int i,j

qcjm( )

for(i=0i<22i++)

for(j=0j<22j++)

{ gtxy(12+j,4+i)

if(jiem[i][j]==3) {Color(13)printf("□")}

if(jiem[i][j]==2) {Color(10)printf(".")}

if(jiem[i][j]==1) {Color(10)printf("■")}

}

gtxy(37,11)Color(10)printf("得分:%d",score)

gtxy(37,13)printf("死亡:%d",death)

}

void setting( )  //游戏设置函数

{ qcjm( )

gtxy(12,4)printf("选择敌机速度:")

gtxy(12,5)printf("  1.快 2.中 3.慢>>")

switch(getche( ))

    {case '1': speed=2break

     case '2': speed=4break

     case '3': speed=5break

     default: gtxy(12,6)printf("  错误!默认值")

   }

gtxy(12,7)printf("选择敌机密度:")

gtxy(12,8)printf("  1.大 2.中 3.小>>")

switch(getche( ))

     {case '1': density=20break

      case '2': density=30 break

      case '3': density=40break

       default: gtxy(12,9)printf("  错误!默认值")

     }

for(int i=0i<22i++)

 for(int j=0j<22j++) jiem[i][j]=0

jiem[21][wj=10]=1jiem[0][5]=3

gtxy(12,10)printf("  按任意键保存...")

getch( )

qcjm( )

}

void run( )  //游戏运行函数

{ jiem[21][wj]=1  //值为1代表我机(2则为子d)

jiem[0][5]=3   //值为3代表敌机

SetConsoleTitle("歼灭敌机") //设置窗口标题

while(1)

  { if (kbhit( ))  //如有键按下,控制我机左右移动、发射或进行设定

       {int key

        if((key=getch( ))==224) key=getch( )

        switch(key)

           {case 75: if(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1break

            case 77: if(wj<20) jiem[21][wj]=0,jiem[21][++wj]=1 break

            case 72: jiem[20][wj]=2break

           case 27: setting( )

         }

      }

   if(++n%density==0)  //控制产生敌机的速度

      { n=0srand((unsigned)time(NULL))

        jiem[0][rand( )%20+1]=3

      }

   if(++m%speed==0) { feiji( )m=0}  //控制敌机移动速度(相对子d而言)

   zidan( )  //子d移动

   print( )  //输出界面

Sleep(120)  //延时120毫秒

  }

}

int main( )

{csh( )

 run( )

 return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11109627.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存