棟哥帶你學Java抽獎小遊戲
阿新 • • 發佈:2019-02-04
使用者資訊類:
public class User {
static String username; // 註冊時存入的使用者名稱
static String password; // 註冊時存放的密碼
static int count = 0;
static int number = 0;
static int register = 0;
private String name; // 登入時來接收輸入的使用者名稱
private String pass; // 登入時來接收輸入的密碼
public static String getUsername () {
return username;
}
public static void setUsername(String username) {
User.username = username;
}
public static String getPassword() {
return password;
}
public static void setPassword(String password) {
User.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public static int getCount() {
return count;
}
public static void setCount(int count) {
User.count = count;
}
public static int getRegister() {
return register;
}
public static void setRegister(int register) {
User.register = register;
}
}
註冊類:
import java.util.Random;
import java.util.Scanner;
public class Register extends User{
Scanner scanner = new Scanner(System.in);
public void register() {
System.out.println("[抽獎系統 > 註冊]");
System.out.println("請填寫個人註冊資訊");
System.out.print("使用者名稱:");
User.username = scanner.next();
System.out.print("密碼:");
User.password = scanner.next();
System.out.println();
System.out.println();
System.out.println("註冊成功,請記好你的會員卡號");
System.out.println("使用者名稱: " + User.username);
System.out.println("密碼: " + User.password);
System.out.println("卡號: " + (new Random().nextInt(999)+1000));
}
public void registerTwo() {
System.out.println("[抽獎系統 > 登入]");
System.out.println("請先進行註冊");
System.out.println("請填寫個人註冊資訊:");
System.out.print("使用者名稱:");
User.username = scanner.next();
System.out.print("密碼:");
User.password = scanner.next();
System.out.println();
System.out.println();
System.out.println("註冊成功,請記好你的會員卡號");
System.out.println("使用者名稱: " + User.username);
System.out.println("密碼: " + User.password);
System.out.println("卡號: " + (new Random().nextInt(999)+1000));
}
}
登入類:
import java.util.Scanner;
public class Login extends User{
Scanner scanner = new Scanner(System.in);
public void login() {
int times = 3;
System.out.println("抽獎系統 > 登入");
do {
System.out.println("請輸入使用者名稱:");
this.setName(scanner.next());
System.out.println("請輸入密碼:");
this.setPass(scanner.next());
if((this.getName().equals(username) && this.getPass().equals(password))) {
System.out.println("歡迎您:" + this.getName());
times = 0;
}else {
System.out.println("使用者名稱或密碼有誤,請重新輸入!");
times --;
if (times == 0) {
System.out.println("對不起三次機會用完,請明日再來!");
System.exit(0);
}
}
} while (times > 0);
}
}
抽獎類:
import java.util.Random;
import java.util.Scanner;
public class Lucky {
public static void lucky() {
if (User.number == 1) {
Scanner scanner = new Scanner(System.in);
int cj = 0;
int temp;
String[] aArray = new String[5];
String result;
System.out.print("請輸入您的卡號:");
result = scanner.nextLine();
scanner.close();
if(result != "") {
System.out.print("本次幸運數字為:");
for (int i = 0; i <= 4; i++) {
temp = new Random().nextInt(999)+1000;
aArray[i] = temp + "";
System.out.print(temp + " ");
}
for (int j = 0; j <= 4; j++) {
if(result.equals(aArray[j])) {
cj++;
}
}
System.out.println();
if (cj>0) {
System.out.println("恭喜您中獎了!");
System.exit(0);
}else {
System.out.println("很遺憾請下次再來!");
System.exit(0);
}
}
}else {
System.out.println("請先登入");
}
}
}
列印選項類:
public class Print {
public static void printf() {
System.out.println("******歡迎進入藍歐抽獎系統******");
System.out.println(" 1.註冊");
System.out.println(" 2.登入");
System.out.println(" 3.參加抽獎");
System.out.println("*****************************");
System.out.println("請選擇選單:");
}
}
選擇呼叫功能類:
public class Select {
Login login = new Login();
Register register = new Register();
public void select(String select) {
if(select.equals("1")) {
register.register();
User.count = 1;
}else if (select.equals("2")) {
login.login();
User.number = 1;
}else if (select.equals("3")) {
Lucky.lucky();
}else if (select.equals("4")) {
register.registerTwo();
}else if (select.equals("n")) {
System.exit(0);
}else {
System.out.println("請重新選擇");
}
}
public String rTwo(String str) {
if (str.equals("2") && User.number == 0 && User.count == 0) {
str = Integer.parseInt(str) + 2 +"";
}
return str;
}
}
組裝類:
import java.util.Scanner;
public class CJStart {
public static void cjStart(){
Select select = new Select();
Scanner scanner = new Scanner(System.in);
String str = "";
do {
Print.printf();
str = scanner.next();
str = select.rTwo(str);
select.select(str);
System.out.println("是否選擇繼續? y/n");
str = scanner.next();
} while (true);
}
}
遊戲測試類:
public class CJTest {
public static void main(String[] args) {
CJStart.cjStart();
}
}