C语言实现简单的扫雷游戏
《扫雷》是一款大众类的益智小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。
这篇博客教大家用C语言制作一个简易版扫雷游戏,和之前的井字棋大同小异。
我们准备三个文件,分别为game.c,test.c,game.h
game.c文件用来写实现游戏功能的各个函数代码,test.c文件写游戏的总流程,game.h文件用来声明函数和初始值.
先看test.c,由menu()``game()``main()三个函数组成。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include"game.h"menu(){ printf("--------------------\n"); printf("-----1.开始游戏-----\n"); printf("-----2.退出游戏-----\n"); prin ...
你有无一段游戏人生?
今天初六了,眼看新年假期就要结束了,今天是打工人的最后一天假期,我也快该开学了。祝各位朋友新的一年健康快乐,工作顺利,学业进步!
过年这半个月我又一次地沉迷游戏,这篇博客就来聊聊游戏。从小我就是个游戏迷,没少花时间玩游戏,穿越火线,qq飞车,dnf,逆战,大冲锋,反恐行动,兽人必须死,上古世纪,枪神纪等,这些游戏伴随了我的小初高中,高考结束后又玩上了人类一败涂地,糖豆人等,现在偶尔玩下糖豆人,枪神纪。有时闲来无聊会搜下小时候玩过的游戏,发现已经停服,多少有些感慨。
我玩的时间最久的是穿越火线和枪神纪。说到玩游戏,我觉得我大多数情况下不是玩游戏,而是沉迷游戏。
为什么会沉迷游戏?
我觉得主要是游戏好玩,还有就是压力小。
游戏好玩,有各种模式,活动,奖惩机制,想着法的让你爱上它。通过玩游戏,由菜一点点变厉害,由负战绩变成正战绩,由团队合作一起战胜敌方,这都会使我成就感倍增。如果我通过其他事情获得了更大的成就感,得到了更多的乐趣,便会不再沉迷游戏。
游戏好玩,有好玩的伙伴,有一段熟悉又陌生,长久且纯洁的友情。过年这半个月,我大部分时间都在打枪神纪,好久没花这么长时间玩游戏了,我想原因之一便是 ...
C语言实现简单的井字棋游戏
井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋类似,由于棋盘一般不画边框,格线排成井字故得名。
想必大家小时候都玩过井字棋,今天分享大家一个用C语言做简单的井字棋游戏的教程,通过井字棋游戏,既能回忆起童年的美好,也能熟悉简单的C语言语法.
游戏演示:
我们准备三个文件,分别为game.c,test.c,game.h
game.c文件用来写实现游戏功能的各个函数代码,test.c文件写游戏的总流程,game.h文件用来声明函数和初始值.
先来看test.c文件
文件内有三个函数,分别为菜单,游戏,主函数.
1234567void menu(){ printf("-----------------------\n"); printf("--------1.开始游戏-----\n"); printf("--------2.退出游戏-----\n"); printf("-----------------------\n");}
菜单很简单,就是开始游戏 ...
【C语言】分支和循环语句常见问题
分支语句
if-else语句
12345678910111213#include <stdio.h>int main(){ int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hello\n"); else printf("panghu\n"); return 0;}//输出结果:
123456789101112131415#include <stdio.h>int main(){ int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hello\n"); else printf("胖虎\n"); else printf("panghu\n"); r ...
【JavaSE】类和对象
类的成员:字段、方法、代码块、内部类和接口等
字段
1234class Person{ public int age; public String name; public String sex;
age,name,sex这些类中方法外的变量,是字段、属性、成员变量(3种称呼均可)
123456789public class TestDemo { public static void main(String[] args) { //类的实例化 Person person=new Person(); System.out.println(person.name);//null System.out.println(person.age);//0 }}
对象的字段如果没有初始化,访问时会被设置成默认值。
默认值规则
对于各种数字类型, 默认值为 0.
对于 boolean 类型,默认值为 false.
对于引用类型(String ...
【JavaSE】数组的定义和使用
一维数组
一维数组的定义
123int[] arr={1,2,3,4,5}; //静态创建int[] arr1=new int[]{1,2,3,4,5}; //动态创建int[] arr2=new int[5];
一维数组的遍历
method 1:
123for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]);}
method 2:
123for (int x:arr) { System.out.print(x);}
method 3:
1System.out.println(Arrays.toString(arr));
理解引用
int[] arr=new int[]{1,2,3}创建一个数组,变量arr是一个引用类型,里面只保存了一个整数(数组的起始内存地址),指向{1,2,3}的存储地址。
引用,本质上就是存放了一个地址。当数组作为方法的参数时,其实是将数组的首地址作为参 ...
【C语言】基础语法的简单概括
数据类型
为了更加丰富地表达生活中的各种值,C语言中有不同的数据类型。每个数据类型有其占用空间的大小。我们用sizeof可以获取某个数据类型所占用空间的字节数。
下面这段代码:
1234567printf("%d", sizeof(char));printf("%d", sizeof(short));printf("%d", sizeof(int));printf("%d", sizeof(long));printf("%d", sizeof(long long));printf("%d", sizeof(float));printf("%d", sizeof(double));
在vs2019运行时,输出结果是:1244848
在linux平台运行时,结果是:1248848
对比发现,long在不同的编译器结果不同。c语言并没有规定long的大小,只是规定了sizeof(long)>=sizeof(int)。
变量的作用域和生命周期
作用 ...
2021年度总结
2022年来了,我又长大了一岁。
过去这一年,有快乐有失落,有收获有遗憾。
伤感的话不再说,遗憾的事不再提,新的一年继续好好生活。
等等,在好好生活之前还是写一下年终总结吧,虽然今天已经是2022年……
回顾过去的这一年,**每一天都很平常,有时很快乐,有时会难过,也许有成长,难免有遗憾。**就在这平凡的一天又一天中,平凡的我又长大了一岁。
我没有写日记的习惯,很多事过去了就过去了,也许以后就再也不会想起。比如现在我想写一个年度总结,我不知道写些什么。好在有这样一个博客,或多或少能留存一些当时的记忆。
2021年3月29日,新博客建成,发布第一篇博客: 新学期,新博客,新开始!
在此之前也搭建过其他博客,总是写着写着感觉没啥意思,最终都删库跑路了。这是我持续时间最长的博客,我会一直让它活下去(希望别被打脸)。
回看第一篇博客,感慨万千。当时写到“我想学计算机相关专业,但无奈被调剂到了应用物理”,现在我已经是计算机科学与技术专业的学生了,2021/9/17 收到了转专业成功的消息,这个可以算是今年很开心的一件事。当时我提到“一直对编程感兴趣,尤其是前端”,现在我已经俩月没学前端 ...
【JavaSE】方法及递归的使用
初识方法
Java中的方法类似于c语言中的函数
观察下面代码,体会方法的好处。
123456789101112//求两个数的最大值public static int maxTwoNum(int a,int b) { return a>b ? a : b;}//求三个数的最大值public static int maxThreeNum(int a,int b,int c) { int max=maxTwoNum(a,b); return maxTwoNum(max,c);}public static void main(String[] args) { int a=10,b=23,c=4; System.out.println(maxThreeNum(a,b,c));
灵活使用方法,可以减少重复代码,使代码更简单。
实参、形参的关系
Java当中只有按值传递
分析如下代码:交换两个整型变量
12345678910111213public static void swap(int x,int y) ...
【JavaSE】程序逻辑控制练习
输入1-7,输出工作日或休息日
1234567891011121314151617Scanner scan = new Scanner(System.in);switch(scan.nextInt()) { case 1: case 2: case 3: case 4: case 5: System.out.println("工作日"); break; case 6: case 7: System.out.println("休息日"); break; default: System.out.println("输入错误"); break;}
switch 中的值只能是 整数|枚举|字符|字符串,long、double、float、boolean不能作为switch参数的类型。
判断一个数是否为素数(3种方法)
1234567891011121314Scanner scan = ...