最近接到一个任务,是说要用一本教材上前五章的内容去写一个猜字谜的游戏
不准用除此之外的内容
具体要求是要有三组东西来备选,每组东西里要有至少7个选项。
玩家人数支持1-4人
每个人要押注(0,100),然后赢家通吃,无庄家抽水。平局赢家均分。
具体的玩法是先确定玩家人数,输入玩家信息,然后选定一个set,就是字谜的组,随之将其打印出来。
然后每个人轮流猜一遍,再然后机器在组里面随机生成一个数,这个数就是正确的答案。
猜中了正确答案的人就加一积分,没猜中的话不扣分,然后7轮游戏之后分数最高的玩家(们)均分注池。
顺便还要把每一局的赢家记到一个.txt文档里面
还要有报错机制
这前五章的内容有些什么呢?
- 简单的函数,不含超载函数。
- 不可用类,不能把东西写到另一份东西上面
- 不能用static 静态变量,但是可以用静态函数(也只能用静态函数)
- 不能用全局变量,只能用本地变量。
遇到问题解决问题
我在这里share一个思路
首先我们可以用函数method,这还是很大程度上方便了我们的
不能用静态变量的话,就在main函数里面定义咯。
现在是四个player,那么可以直接初始化player1234,再初始化赢家winner1234,
既然是积分制,那么再初始话point1234,嘿嘿🤭
//这里我想过给变量增加属性,但是由于超纲了就只好委屈内存兄弟了-_-
然后可以用函数来生成不同的输出格式,不能用超载函数的话那就用不同名字的函数好了,蛋疼…
其他的函数的话就多写点形参parameter进去好了,真是蛋疼哇。
具体的函数的话有一些推荐的:
由于只能用本地变量,那么只好把这些都设置为有输出的method了…
- String setplayer(){
- 专门用来设置玩家的信息的,比如说名字,年龄,性别bulabula。。。
- }
double setBet(int players){
这里用一个loop,循环次数等于实际玩家人数,然后用自加求和即可
}
String setGuess(String playerName){
这里就用scanner.nextLine()拿到输入数据就好了
}
String setAnswer(String set){
这里需要用到一个生成随机整数地算法。
我将这里写得很臃肿,因为不能用array嘛,那我就要一个组名,然后自己把每个随机数对应组内的字符串拿出来就好了。
可以用switch-case来做,也能用if-else来做
}
到这里用来处理字谜游戏的部分就完成了的,那么接下来要处理文件读写和结果打印的部分
这里打算用一个中间函数
void fileDealer(String set//所选的set名称//, int winners//赢家人数//, double bets//注池大小//,String winner1, String winner2, String winner3, String winner4//各位赢家) throws IOException{
这里判断是否以及存在这个文件,如果不存在就新建,如果存在就adding
}
String textGenerator*(){
这里面就写你希望把东西打印成什么样子,由于题目里面有很多种打印格式,那么你自己去把*改成你想要的index,就可以规避overloading method了。
}
祝大家生活愉快!!!
Chris X.X.X