Professional Documents
Culture Documents
Submitted by
USN Name
1BI21CS088 NISHA KUMARI
1BI21CS102 PRAVEEN HER
1BI21CS106 R AKASH KASHYAP
1BI21CS108 RAHUL RAGHAVENDRA M
Certificate
The satisfaction and euphoria that accompanies the successful completion of any
task would be incomplete without complementing those who made it possible and whose
guidance and encouragement made my efforts successful. My sincere thanks to all those
who have supported me in completing this Internship successfully.
My sincere thanks to Dr. M. U. Aswath, Principal, BIT and Dr. J. Girija, HOD,
Department of CSE, BIT for their encouragement, support and guidance to the student
community in all fields of education. I am grateful to our institution for providing us a
congenial atmosphere to carry out the Internship successfully.
I would not forget to remember Prof. Neetha Das, Assistant Professor and Prof.
Vidyashree A. L., Assistant Professor, Inter/Intra (21INT49) Internship Coordinators,
Department of CSE, BIT, for her encouragement and more over for her timely support and
guidance till the completion of the Internship. I wish to express my heartfelt gratitude to
my mentor, guide Mr. Pavan Kumar M., Lead Engineer, Quest Global Engineering
Company, Bengaluru and my team members for their valuable guidance, suggestions and
cheerful encouragement during the period of my Internship.
Chapter 4 - Tools/Technologies 6
Chapter 5 - Implementation 8
5.1 Source code
Chapter 6 - Results 22
Chapter 7 - Reflection Notes 23
Chapter 1
INTRODUCTION
1.1 Overview
This report is based on the Inter College Internship Programming carried out by Bangalore
Institute of Technology for the year 2022 for the first year students at the end of their first year
course. It is done as per the guidelines issued by Visvesvaraya Technological University
(VTU). The goal of the internship being to indulge in outcome based learning initiations and
inculcate attributes that fall within the graduate attributes defined by the NBA.
To test the skill and knowledge attained by the students over the course of their internship is
tested by giving them a problem statement to solve using their creativity and their
understanding of the internship subject. Over the course of this report we have incorporated
the knowledge of JAVA that we have gotten over the course of the internship into solving the
problem statements.
The problem statement introduced is a combination of various problems that are based on the
entirety of JAVA programming. The problem statement given is such that it uses all the
concepts of python and with each part of the problem statement being a problem that revolves
around a certain concept in JAVA. This report contains various topics and concepts of JAVA
that are combined together to cover and solve the problem statement. All the concepts of JAVA
are incorporated together to solve various aspects of the problem. The application is reduced
as much as possible to avoid errors while entering the data.
1.2 Objective
This report contains various topics and concepts of JAVA that are combined together to cover
and solve the problem statement. All the concepts of JAVA are incorporated together to solve
various aspects of the problem.
The report contains the information about the System architecture used in the project. System
architecture is the visualization of the program model or a conceptual model that defines the
behaviour, structure and working of a system.
A system architecture can consists of system components and the assembly of the
subsystems, that will work together to implement the overall system.
The report contains the description of the tools and techniques that are used to implement the
working of the overall problem statement. It contains the information and explanation about
the tools and technologies, the reason why they are used in the problem, the role that they play
and description about their features and other details.
The report then contains the notes and the written reflection of the thought process that went
into implementing the project report, about their self-assessment and experience throughout
them working on their project. It also contains the non-technical take-outs that have been
taken from the project, like improvement in vocalization skills, communication skills, time
management and more.
Overall the internship was an excellent and effective step for students to sharpen their skills
and learn new ones to add to their portfolios and resumes. It also created and opportunity for
them to learn and practice team working and effective communicative skills and enhance
their knowledge and make them ready for acing entry-level jobs.
A text-based adventure game is a type of interactive fiction where the player reads
through a story and makes choices that affect the outcome. These games usually have
simple graphics and are driven by text input from the player. Text adventures are games
that put heavy focus on text-based interactions with the game world and the characters
living inside of it. The player has to make choices in every step of the game, and based
on these choices, the storyline changes.
• The graphics game will only get you addicted and have disadvantages like spoiling
the eye or having headaches after a certain period of time.
• The graphic games will not have any option to think the possibilities of what is going
to happen if I choose one option or the other which can lead to just get carried into
the as per the designer.
User Interface: User Interface (UI) defines the way humans interact with the information
systems. In Layman’s term, User Interface (UI) is a series of pages, screens, buttons, forms
and other visual elements that are used to interact with the device. Every app and every
website has a user interface.
User Interface (UI) Design is the creation of graphics, illustrations, and use of photographic
artwork and typography to enhance the display and layout of a digital product within its
various device views. Interface elements consist of input controls (buttons, drop-down
menus, data fields), navigational components (search fields, slider, icons, tags), informational
components (progress bars, notifications, message boxes).A good User Interface (UI) focuses
on making user’s interactions simple and efficient. User would appreciate a website with
intuitive user interface that leads them towards their task in most engaging way. User
Interface (UI) design focuses on thinking of a user, what they might need to do when they
visit website and ensure that the interface has elements that are easy to access and understand.
Being a UI designer, one need to understand the goals, skills, preferences and tendencies of
the user to make a better interface.
and sends a response back to the client, typically with a result or acknowledgment. Designating
a computer as "server-class hardware" implies that it is specialized for running servers on it.
This often implies that it is more powerful and reliable than standard personal computers, but
alternatively, large computing clusters may be composed of many relatively simple,
replaceable server components.
Authentication does not just apply to verifying human users. Computer systems also need to
check servers, software, APIs, and other computers to be sure they are who they "say" they
are.
4.1 Introduction: Text-based adventure game is designed to provide users with an interactive
interface for playing text games. To accomplish this, a robust technology stack and
appropriate tools are essential. The report outlines the use of Java programming language and
Java Swing framework as the core technologies, as well as other supporting tools that facilitate
the development process.
4.3 Java Swing: Java Swing is a comprehensive GUI toolkit that serves as the backbone of
the Electricity Bill System’s graphical user interface. It provides a wide array of components
,such as JFrame, JPanel, and My SQL, that enable developers to create dynamic and
interactive interface. Swing's event handling capabilities ensure responsiveness, allowing
users to interact with the charts seamlessly.
4.5 Random Class: Java's built-in ‘java.util.Random’ class is utilized to generate random data
for the bar chart and pie chart. The Random class provides methods to create random integers
within specified ranges, allowing the application to populate the charts with diverse and
dynamic data points for a more representative visualization.
4.6 Scalability and Extensibility: The chosen technology stack and tools offer scalability,
enabling the user to sign in securely and play the game and appropriate management of the
system. - Java's modular approach and object-oriented nature make it easier to extend and add
new features to the application in a structured manner.
4.7 Accessibility: Java Swing's built-in accessibility features ensure that the game is accessible
to users with both customers and as well as admin.
4.8 User Interaction: The application's user-friendly interface allows users to interact with
the system easily, providing all the required facilities as sign up , sign in , play securely .
Admin can monitor the whole system.
4.9 Real-time Data Updates: To cater to dynamic data scenarios, the app can be extended to
update the user information in real-time when the users update their details, providing users
with up-to date their profiles.
4.10 Error Handling and Validation: Robust error handling and data validation mechanisms
can be incorporated to ensure the application gracefully handles unexpected data or user input.
4.12 Cross-Platform Compatibility: Java's platform independence ensures that the text-
based adventure game can run seamlessly on multiple operating.
The game starts with a title screen displaying the title "ADVENTURE" and a "START"
button. When the player clicks on the "START" button, the main game screen is created,
presenting the player with a text area for narrative and buttons for making choices. The
player's character has health points (HP) and can carry a weapon, initially set to “KNIFE”.
The game involves various scenarios, such as encountering a guard at the town gate, crossing
a road with different directions, finding a river, entering a forest to discover a sword,
encountering a goblin, and engaging in fights. The player's choices impact their HP, the
monster's HP, and whether they win or lose the game.
The goal of the game is to defeat the monster, which rewards the player with a silver ring and
a message from the guard welcoming them to the town. However, losing the game displays a
"Game over" message. The player can choose to play again or exit the game after either
winning or losing.
Overall, this code provides the foundation for a simple text-based adventure game with
limited features and interactions. Further development could expand the game world, add
more choices, introduce items, quests, and more complex gameplay mechanics
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public game(){
window = new JFrame();
window.setSize(800,600);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.getContentPane().setBackground(Color.black);
window.setLayout(null);
window.setVisible(true);
con = window.getContentPane();
titlepanel = new JPanel();
titlepanel.setBounds(100, 100, 600, 150);
titlepanel.setBackground(Color.black);
titlelabel = new JLabel("ADVENTURE");
// titlelabel.setBounds(100, 50, 1000, 30);
titlelabel.setForeground(Color.WHITE);
titlelabel.setFont(titlefont);
startpanel = new JPanel();
startpanel.setBounds(0,400,1000,1000);
startpanel.setBackground(Color.BLACK);
startbutton = new JButton("START");
//startbutton.setBounds(0,100, 100,50);
startbutton.setBackground(Color.yellow);
startbutton.setForeground(Color.red);
startbutton.addActionListener(tshandler);
// startbutton.setFocusPainted(false);
titlepanel.add(titlelabel);
startpanel.add(startbutton);
con.add(titlepanel);
con.add(startpanel);
}
choice2.setForeground(Color.BLACK);
choice2.addActionListener(chhandler);
choice2.setActionCommand("c2");
choicebuttonpanel.add(choice2);
playersetup();
}
choice3.setText("leave");
choice4.setText("");
}
public void talkguard(){
position = "talktoguard";
maintextarea.setText("Guard: hello stranger. im sorry but we cannot let any
stranger enter our town. ");
choice1.setText(">");
choice2.setText("");
choice3.setText("");
choice4.setText("");
}
choice3.setText("go south");
choice4.setText("go west");
}
switch(yourchoice){
case "c1": if(silverring==1)
ending();
else
talkguard();
break;
case "c2": attackguard(); break;
case "c3": crossroad();break;
}
break;
case "talktoguard":
switch(yourchoice){
case "c1": towngate(); break;
}
break;
case "attackguard":
switch(yourchoice){
case "c1": towngate();
break;
}
break;
case "crossroad":
switch(yourchoice){
case "c1": north();break;
case "c2": east(); break;
case "c3": towngate(); break;
case "c4": west();break;
}
break;
case "north":
switch(yourchoice){
case "c1": crossroad();break;
}
break;
case "east":
switch(yourchoice){
case "c1": crossroad();break;
}
break;
case "west":
switch(yourchoice){
case "c1": fight();break;
case "c2": crossroad();break;
}
break;
case "fight":
switch(yourchoice){
case "c1": playerattack();break;
case "c2": crossroad(); break;
}
break;
case "playerattack":
switch(yourchoice){
case "c1": if(monsterhp<1)
win();
else
monsterattack();
break;
}
break;
case "monsterattack":
switch(yourchoice){
case "c1": if(playerhp<1)
lose();
else
fight();
break;
}
break;
case "win":
switch(yourchoice){
case "c1": crossroad();break;
}
break;
}
}
}
}
Participating in a Java internship has been an invaluable experience that has significantly
contributed to my growth as a Java developer. Throughout the internship, I had the
opportunity to work on real-world projects, collaborate with experienced professionals, and
expand my knowledge and skills in Java development. Below are some key reflections on
my Java internship journey:
11. Career Direction: The internship allowed me to explore different aspects of Java
development, assisting me in deciding on a specific career path or specialization that aligns
with my interests and strengths.
12. Code Optimization: As the internship progressed, I became more conscious of code
efficiency and optimization. I learned to write cleaner, more maintainable, and performant
code.
13. Soft Skills: Beyond technical skills, the internship sharpened my soft skills, including
presentation, effective communication, and collaboration with non-technical stakeholders.
14. Industry Exposure: The internship provided a glimpse into the software
development industry, understanding how businesses operate, project lifecycles, and
client interactions.